/// <summary> /// This function maps a FSServiceContract weekly frequency to a WeeklySchedule in the Scheduler module. /// </summary> public static Schedule mapWeeklyFrequency(FSServiceContract fsServiceContractRow, DateTime?lastGeneratedElementDate, Period period = null) { List <DayOfWeek> days = new List <DayOfWeek>(); var weeklySchedule = new WeeklySchedule { Name = TX.FrecuencySchedule.WEEKLY, LastGeneratedTimeSlotDate = lastGeneratedElementDate, SubScheduleID = 0, TimeOfDayBegin = new TimeSpan(5, 0, 0), TimeOfDayEnd = new TimeSpan(11, 0, 0), SchedulingRange = period ?? new Period((DateTime)fsServiceContractRow.StartDate, fsServiceContractRow.EndDate), Frequency = 1, }; #region SetDaysToList days.Add(fsServiceContractRow.StartDate.Value.DayOfWeek); weeklySchedule.SetDays(days.ToArray()); #endregion return(weeklySchedule); }
/// <summary> /// This function maps a FSSchedule weekly frequency to a WeeklySchedule in the Scheduler module. /// </summary> public static Schedule mapWeeklyFrequency(PXCache cache, FSSchedule fsScheduleRow, DateTime?toDate, string recordType, Period period = null) { bool applySeasonInSchedule = recordType != ID.RecordType_ServiceContract.EMPLOYEE_SCHEDULE_CONTRACT ? SharedFunctions.GetEnableSeasonSetting(cache.Graph, fsScheduleRow) : false; List <DayOfWeek> days = new List <DayOfWeek>(); var weeklySchedule = new WeeklySchedule { Name = TX.FrecuencySchedule.WEEKLY, EntityID = fsScheduleRow.EntityID, EntityType = fsScheduleRow.EntityType, LastGeneratedTimeSlotDate = fsScheduleRow.LastGeneratedElementDate, ScheduleID = (int)fsScheduleRow.ScheduleID, SubScheduleID = 0, TimeOfDayBegin = new TimeSpan(5, 0, 0), TimeOfDayEnd = new TimeSpan(11, 0, 0), SchedulingRange = period ?? new Period((DateTime)fsScheduleRow.StartDate, fsScheduleRow.EndDate), Frequency = (int)fsScheduleRow.WeeklyFrequency, Descr = fsScheduleRow.ContractDescr, ApplySeason = applySeasonInSchedule, SeasonOnJan = fsScheduleRow.SeasonOnJan, SeasonOnFeb = fsScheduleRow.SeasonOnFeb, SeasonOnMar = fsScheduleRow.SeasonOnMar, SeasonOnApr = fsScheduleRow.SeasonOnApr, SeasonOnMay = fsScheduleRow.SeasonOnMay, SeasonOnJun = fsScheduleRow.SeasonOnJun, SeasonOnJul = fsScheduleRow.SeasonOnJul, SeasonOnAug = fsScheduleRow.SeasonOnAug, SeasonOnSep = fsScheduleRow.SeasonOnSep, SeasonOnOct = fsScheduleRow.SeasonOnOct, SeasonOnNov = fsScheduleRow.SeasonOnNov, SeasonOnDec = fsScheduleRow.SeasonOnDec }; #region SetDaysToList if (fsScheduleRow.WeeklyOnFri == true) { days.Add(DayOfWeek.Friday); } if (fsScheduleRow.WeeklyOnMon == true) { days.Add(DayOfWeek.Monday); } if (fsScheduleRow.WeeklyOnSat == true) { days.Add(DayOfWeek.Saturday); } if (fsScheduleRow.WeeklyOnSun == true) { days.Add(DayOfWeek.Sunday); } if (fsScheduleRow.WeeklyOnThu == true) { days.Add(DayOfWeek.Thursday); } if (fsScheduleRow.WeeklyOnTue == true) { days.Add(DayOfWeek.Tuesday); } if (fsScheduleRow.WeeklyOnWed == true) { days.Add(DayOfWeek.Wednesday); } weeklySchedule.SetDays(days.ToArray()); #endregion return(weeklySchedule); }