// <summary> /// Helper function to convert ps simple schedule policy from service response. /// </summary> public static SimpleSchedulePolicy GetPSSimpleSchedulePolicy( ServiceClientModel.SimpleSchedulePolicy serviceClientPolicy, string timeZone) { if (serviceClientPolicy == null) { return(null); } SimpleSchedulePolicy psPolicy = new SimpleSchedulePolicy(); psPolicy.ScheduleRunDays = HelperUtils.EnumListConverter <ServiceClientModel.DayOfWeek?, DayOfWeek>( serviceClientPolicy.ScheduleRunDays); psPolicy.ScheduleRunFrequency = (ScheduleRunType)Enum.Parse( typeof(ScheduleRunType), serviceClientPolicy.ScheduleRunFrequency.ToString()); psPolicy.ScheduleRunTimes = ParseDateTimesToUTC(serviceClientPolicy.ScheduleRunTimes, timeZone); if (psPolicy.ScheduleRunFrequency == ScheduleRunType.Weekly) { int offset = psPolicy.ScheduleRunTimes[0].DayOfWeek.GetHashCode() - serviceClientPolicy.ScheduleRunTimes[0].Value.DayOfWeek.GetHashCode(); for (int index = 0; index < psPolicy.ScheduleRunDays.Count(); index++) { if (offset == -1) { int value = psPolicy.ScheduleRunDays[index].GetHashCode() - 1; if (value == -1) { value = 6; } psPolicy.ScheduleRunDays[index] = (DayOfWeek)value; } else if (offset == 1) { int value = psPolicy.ScheduleRunDays[index].GetHashCode() + 1; if (value == 7) { value = 0; } psPolicy.ScheduleRunDays[index] = (DayOfWeek)value; } } } // safe side validation psPolicy.Validate(); return(psPolicy); }
// <summary> /// Helper function to convert ps simple schedule policy from service response. /// </summary> public static SimpleSchedulePolicy GetPSSimpleSchedulePolicy( ServiceClientModel.SimpleSchedulePolicy serviceClientPolicy) { if (serviceClientPolicy == null) { return(null); } SimpleSchedulePolicy psPolicy = new SimpleSchedulePolicy(); psPolicy.ScheduleRunDays = HelperUtils.GetEnumListFromStringList <DayOfWeek>(serviceClientPolicy.ScheduleRunDays); psPolicy.ScheduleRunFrequency = (ScheduleRunType)Enum.Parse(typeof(ScheduleRunType), serviceClientPolicy.ScheduleRunFrequency); psPolicy.ScheduleRunTimes = ParseDateTimesToUTC(serviceClientPolicy.ScheduleRunTimes); // safe side validation psPolicy.Validate(); return(psPolicy); }
// <summary> /// Helper function to convert ps simple schedule policy from service response. /// </summary> public static SimpleSchedulePolicy GetPSSimpleSchedulePolicy( ServiceClientModel.SimpleSchedulePolicy serviceClientPolicy, string timeZone) { if (serviceClientPolicy == null) { return(null); } SimpleSchedulePolicy psPolicy = new SimpleSchedulePolicy(); psPolicy.ScheduleRunDays = HelperUtils.EnumListConverter <ServiceClientModel.DayOfWeek?, DayOfWeek>( serviceClientPolicy.ScheduleRunDays); psPolicy.ScheduleRunFrequency = (ScheduleRunType)Enum.Parse( typeof(ScheduleRunType), serviceClientPolicy.ScheduleRunFrequency.ToString()); psPolicy.ScheduleRunTimes = ParseDateTimesToUTC(serviceClientPolicy.ScheduleRunTimes, timeZone); // safe side validation psPolicy.Validate(); return(psPolicy); }