private List <DateTime> GetScheduleLineDates(IWeekDatedObject line, DateTime dateFrom, DateTime dateTo, ScheduleParamsModel parameters) { var dates = new List <DateTime>(); for (DateTime date = dateFrom; date <= dateTo; date = date.AddDays(1)) { switch (date.DayOfWeek) { case DayOfWeek.Sunday: if (line.Sun.HasValue && line.Sun.Value && parameters.Sun) { dates.Add(date); } break; case DayOfWeek.Monday: if (line.Mon.HasValue && line.Mon.Value && parameters.Mon) { dates.Add(date); } break; case DayOfWeek.Tuesday: if (line.Tue.HasValue && line.Tue.Value && parameters.Tue) { dates.Add(date); } break; case DayOfWeek.Wednesday: if (line.Wed.HasValue && line.Wed.Value && parameters.Wed) { dates.Add(date); } break; case DayOfWeek.Thursday: if (line.Thu.HasValue && line.Thu.Value && parameters.Thu) { dates.Add(date); } break; case DayOfWeek.Friday: if (line.Fri.HasValue && line.Fri.Value && parameters.Fri) { dates.Add(date); } break; case DayOfWeek.Saturday: if (line.Sut.HasValue && line.Sut.Value && parameters.Sut) { dates.Add(date); } break; } } return(dates); }
public static void SyncDatesTo(this IWeekDatedObject that, IWeekDatedObject source) { that.Sun = source.Sun; that.SunTime = source.SunTime; that.Mon = source.Mon; that.MonTime = source.MonTime; that.Tue = source.Tue; that.TueTime = source.TueTime; that.Wed = source.Wed; that.WedTime = source.WedTime; that.Thu = source.Thu; that.ThuTime = source.ThuTime; that.Fri = source.Fri; that.FriTime = source.FriTime; that.Sut = source.Sut; that.SutTime = source.SutTime; }