I am new to Web API and need help with the code.
I want to return a boolean if the date passed is a holiday listed in GetHolidays or it is Saturday or Sunday
This is my function where I want to check whether a particular date is holiday or not.
public bool IsHoliday(DateTime requesteddate)
{
    HashSet<Holidays> holidays = new HashSet<Holidays>();
    string sat = requesteddate.DayOfWeek.ToString();
    string sun = requesteddate.DayOfWeek.ToString();
    holidays = GetHolidays(requesteddate.Year);
    return true;
}
This is the hashset of holidays that I have calculated for whole year and that works perfectly
public HashSet<Holidays> GetHolidays(int year)
{
    HashSet<Holidays> holidays = new HashSet<Holidays>();
    // NEW YEARS 
    DateTime newYearsDate = AdjustForWeekendHoliday(new DateTime(year, 1, 1).Date);
    holidays.Add(new Holidays(newYearsDate, "New Years Day"));
    // MARTIN LUTHER KING, JR. DAY -- third Monday of January
    DateTime martinLutherDay = new DateTime(year, 1, (from day in Enumerable.Range(1, 31) where new DateTime(year, 1, day).DayOfWeek == DayOfWeek.Monday select day).ElementAt(2));
    holidays.Add(new Holidays(martinLutherDay, "Martin Luther King, Jr. Day"));
    // PRESIDENT'S DAY -- third Monday of February
    DateTime presidentsDay = new DateTime(year, 2, (from day in Enumerable.Range(1, 29) where new DateTime(year, 2, day).DayOfWeek == DayOfWeek.Monday select day).ElementAt(2));
    holidays.Add(new Holidays(presidentsDay, "President's Day"));
    // MEMORIAL DAY  -- last monday in May 
    DateTime memorialDay = new DateTime(year, 5, 31);
    DayOfWeek dayOfWeek = memorialDay.DayOfWeek;
    while (dayOfWeek != DayOfWeek.Monday)
    {
        memorialDay = memorialDay.AddDays(-1);
        dayOfWeek = memorialDay.DayOfWeek;
    }
    holidays.Add(new Holidays(memorialDay.Date, "Memorial Day"));
    // INDEPENCENCE DAY 
    DateTime independenceDay = AdjustForWeekendHoliday(new DateTime(year, 7, 4).Date);
    holidays.Add(new Holidays(independenceDay, "Independence Day"));
    // LABOR DAY -- 1st Monday in September 
    DateTime laborDay = new DateTime(year, 9, 1);
    dayOfWeek = laborDay.DayOfWeek;
    while (dayOfWeek != DayOfWeek.Monday)
    {
        laborDay = laborDay.AddDays(1);
        dayOfWeek = laborDay.DayOfWeek;
    }
    holidays.Add(new Holidays(laborDay.Date, "Labor Day"));
    // VETERANS DAY 
    DateTime veteransDay = AdjustForWeekendHoliday(new DateTime(year, 11, 11).Date);
    holidays.Add(new Holidays(veteransDay, "Veterans Day"));
    // THANKSGIVING DAY - 4th Thursday in November 
    var thanksgiving = (from day in Enumerable.Range(1, 30) where new DateTime(year, 11, day).DayOfWeek == `DayOfWeek.Thursday select day).ElementAt(3);
    DateTime thanksgivingDay = new DateTime(year, 11, thanksgiving);
    holidays.Add(new Holidays(thanksgivingDay.Date, "Thanksgiving"));
    // DAY AFTER THANKSGIVING DAY 
    DateTime dayAfterThankGiving = thanksgivingDay.AddDays(1);
    holidays.Add(new Holidays(dayAfterThankGiving, "Day after Thanksgiving"));
    // CHRISTMAS
    DateTime christmasDay = AdjustForWeekendHoliday(new DateTime(year, 12, 25).Date, true);
    holidays.Add(new Holidays(christmasDay, "Christmas"));
    // CHRISTMAS EVE 
    DateTime christmasEve = christmasDay.AddDays(-1);
    holidays.Add(new Holidays(christmasEve, "Christmas"));
    return holidays;
}
Here is the IHTTP action in the controller
[HttpGet]
public IHttpActionResult IsHoliday(DateTime requesteddate)
{
    try
    {
        var isHoliday = _dateService.IsHoliday(requesteddate);
        return Content(HttpStatusCode.OK, isHoliday);
    }
    catch (Exception exception)
    {
        return BadRequest(exception.Message);
    }
}
 
     
     
     
    