Что было бы лучшим выбором для получения и возврата списка указанных c дат в интервале 3 недели?
Мое намерение состоит в том, чтобы создать даты доставки на основе данных дней, когда они доступны в центре доставки.
public List<DayOfWeek> DeliveryDays { get; set; }
DeliveryDays содержит заданные значения от 0-6 (0 - воскресенье, 1 понедельник и т. Д. c.)
Я хочу получить эти значения, пропустите их через 3 недели следующих дат и верните эти дни доставки в виде списка (так что только те центры могут заказывать в определенные дни).
Вот что у меня есть:
public List<DateTime> CalculateAvailableDeliveryDates()
{
//Loop through 3 weeks of days
DateTime today = DateTime.Today; //Specify today's date
DateTime totalDateCount = today.AddDays(1); //Plus one day on each time counted
var dates = Enumerable.Range(0, 21).Select(days => totalDateCount.AddDays(days)).ToList(); //Count from 0 to 21 (3 weeks worth of days). On each count, run totalDateCount
//if exists in deliveryDayList
//add to dates via dates.Add func
if (DeliveryDays.Contains(DayOfWeek.Monday))
{
//action
} //and so on for each day
//return specific dates from date range
return dates;
}
В настоящее время я получаю показания 21 дня. Оператор if ничего не делает и служит только примером моей логики c.
Лучшим методом будет: вместо того, чтобы сначала получить список, выполнить проверку и вложить операторы if / case на основе Даты доставки по центру, а затем вернуть их в список?
Заранее спасибо.