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;
 }