private static ServiceClientModel.YearlyRetentionSchedule GetServiceClientLTRYearlySchedule(YearlyRetentionSchedule psYearly) { if (psYearly == null) { return(null); } ServiceClientModel.YearlyRetentionSchedule serviceClientYearly = new ServiceClientModel.YearlyRetentionSchedule(); serviceClientYearly.RetentionDuration = new ServiceClientModel.RetentionDuration() { Count = psYearly.DurationCountInYears, DurationType = ServiceClientModel.RetentionDurationType.Years }; serviceClientYearly.RetentionTimes = GetNullableDateTimeListFromDateTimeList( psYearly.RetentionTimes); serviceClientYearly.RetentionScheduleFormatType = ServiceClientHelpers.GetServiceClientRetentionScheduleFormat( psYearly.RetentionScheduleFormatType); if (psYearly.RetentionScheduleFormatType == RetentionScheduleFormat.Daily) { serviceClientYearly.RetentionScheduleDaily = GetServiceClientLTRDailyRetentionFormat(psYearly.RetentionScheduleDaily); } else if (psYearly.RetentionScheduleFormatType == RetentionScheduleFormat.Weekly) { serviceClientYearly.RetentionScheduleWeekly = GetServiceClientLTRWeeklyRetentionFormat(psYearly.RetentionScheduleWeekly); } serviceClientYearly.MonthsOfYear = HelperUtils.EnumListConverter <Month, ServiceClientModel.MonthOfYear>( psYearly.MonthsOfYear).Cast <ServiceClientModel.MonthOfYear?>().ToList(); return(serviceClientYearly); }
private static ServiceClientModel.MonthlyRetentionSchedule GetServiceClientLTRMonthlySchedule(MonthlyRetentionSchedule psMonthly) { if (psMonthly == null) { return(null); } ServiceClientModel.MonthlyRetentionSchedule serviceClientMonthly = new ServiceClientModel.MonthlyRetentionSchedule(); serviceClientMonthly.RetentionDuration = new ServiceClientModel.RetentionDuration() { Count = psMonthly.DurationCountInMonths, DurationType = ServiceClientModel.RetentionDurationType.Months }; serviceClientMonthly.RetentionTimes = GetNullableDateTimeListFromDateTimeList( psMonthly.RetentionTimes); serviceClientMonthly.RetentionScheduleFormatType = ServiceClientHelpers.GetServiceClientRetentionScheduleFormat( psMonthly.RetentionScheduleFormatType); if (psMonthly.RetentionScheduleFormatType == RetentionScheduleFormat.Daily) { serviceClientMonthly.RetentionScheduleDaily = GetServiceClientLTRDailyRetentionFormat(psMonthly.RetentionScheduleDaily); } else if (psMonthly.RetentionScheduleFormatType == RetentionScheduleFormat.Weekly) { serviceClientMonthly.RetentionScheduleWeekly = GetServiceClientLTRWeeklyRetentionFormat(psMonthly.RetentionScheduleWeekly); } return(serviceClientMonthly); }
// <summary> /// Helper function to convert service simple schedule policy from ps schedule policy. /// </summary> public static ServiceClientModel.SimpleSchedulePolicy GetServiceClientSimpleSchedulePolicy( SimpleSchedulePolicy psPolicy) { if (psPolicy == null) { return(null); } ServiceClientModel.SimpleSchedulePolicy serviceClientPolicy = new ServiceClientModel.SimpleSchedulePolicy(); serviceClientPolicy.ScheduleRunFrequency = ServiceClientHelpers.GetServiceClientScheduleRunType( psPolicy.ScheduleRunFrequency); if (psPolicy.ScheduleRunFrequency == ScheduleRunType.Weekly) { serviceClientPolicy.ScheduleRunDays = HelperUtils.EnumListConverter <DayOfWeek, ServiceClientModel.DayOfWeek>( psPolicy.ScheduleRunDays).Cast <ServiceClientModel.DayOfWeek?>().ToList(); } if (psPolicy.ScheduleRunFrequency != ScheduleRunType.Hourly) { serviceClientPolicy.ScheduleRunTimes = psPolicy.ScheduleRunTimes.ConvertAll(dateTime => (DateTime?)dateTime); } else { serviceClientPolicy.HourlySchedule = new ServiceClientModel.HourlySchedule(); serviceClientPolicy.HourlySchedule.Interval = psPolicy.ScheduleInterval; serviceClientPolicy.HourlySchedule.ScheduleWindowDuration = psPolicy.ScheduleWindowDuration; serviceClientPolicy.HourlySchedule.ScheduleWindowStartTime = psPolicy.ScheduleWindowStartTime; } return(serviceClientPolicy); }
GetServiceClientSimpleRetentionPolicy(SimpleRetentionPolicy psRetPolicy) { if (psRetPolicy == null) { return(null); } else { ServiceClientModel.SimpleRetentionPolicy simpleRetPolicy = new ServiceClientModel.SimpleRetentionPolicy(); simpleRetPolicy.RetentionDuration = new ServiceClientModel.RetentionDuration(); simpleRetPolicy.RetentionDuration.DurationType = ServiceClientHelpers.GetServiceClientRetentionDurationType(psRetPolicy.RetentionDurationType); simpleRetPolicy.RetentionDuration.Count = psRetPolicy.RetentionCount; return(simpleRetPolicy); } }
// <summary> /// Helper function to convert service simple schedule policy from ps schedule policy. /// </summary> public static ServiceClientModel.SimpleSchedulePolicy GetServiceClientSimpleSchedulePolicy( SimpleSchedulePolicy psPolicy) { if (psPolicy == null) { return(null); } ServiceClientModel.SimpleSchedulePolicy serviceClientPolicy = new ServiceClientModel.SimpleSchedulePolicy(); serviceClientPolicy.ScheduleRunFrequency = ServiceClientHelpers.GetServiceClientScheduleRunType( psPolicy.ScheduleRunFrequency); if (psPolicy.ScheduleRunFrequency == ScheduleRunType.Weekly) { serviceClientPolicy.ScheduleRunDays = HelperUtils.EnumListConverter <DayOfWeek, ServiceClientModel.DayOfWeek>( psPolicy.ScheduleRunDays).Cast <ServiceClientModel.DayOfWeek?>().ToList(); } serviceClientPolicy.ScheduleRunTimes = psPolicy.ScheduleRunTimes.ConvertAll(dateTime => (DateTime?)dateTime); return(serviceClientPolicy); }
// <summary> /// Helper function to convert service simple schedule policy from ps schedule policy. /// </summary> public static ServiceClientModel.SchedulePolicy GetServiceClientSimpleSchedulePolicy( SchedulePolicyBase psPolicy) { if (psPolicy == null) { return(null); } if (psPolicy.GetType() == typeof(SimpleSchedulePolicy)) { SimpleSchedulePolicy schPolicy = (SimpleSchedulePolicy)psPolicy; ServiceClientModel.SimpleSchedulePolicy serviceClientPolicy = new ServiceClientModel.SimpleSchedulePolicy(); serviceClientPolicy.ScheduleRunFrequency = ServiceClientHelpers.GetServiceClientScheduleRunType(schPolicy.ScheduleRunFrequency); if (schPolicy.ScheduleRunFrequency == ScheduleRunType.Weekly) { serviceClientPolicy.ScheduleRunDays = HelperUtils.EnumListConverter <DayOfWeek, ServiceClientModel.DayOfWeek>( schPolicy.ScheduleRunDays).Cast <ServiceClientModel.DayOfWeek?>().ToList(); } if (schPolicy.ScheduleRunFrequency != ScheduleRunType.Hourly) { serviceClientPolicy.ScheduleRunTimes = schPolicy.ScheduleRunTimes.ConvertAll(dateTime => (DateTime?)dateTime); } else { serviceClientPolicy.HourlySchedule = new ServiceClientModel.HourlySchedule(); serviceClientPolicy.HourlySchedule.Interval = schPolicy.ScheduleInterval; serviceClientPolicy.HourlySchedule.ScheduleWindowDuration = schPolicy.ScheduleWindowDuration; serviceClientPolicy.HourlySchedule.ScheduleWindowStartTime = schPolicy.ScheduleWindowStartTime; } return(serviceClientPolicy); } else if (psPolicy.GetType() == typeof(SimpleSchedulePolicyV2)) { SimpleSchedulePolicyV2 schPolicyV2 = (SimpleSchedulePolicyV2)psPolicy; ServiceClientModel.SimpleSchedulePolicyV2 serviceClientPolicyV2 = new ServiceClientModel.SimpleSchedulePolicyV2(); serviceClientPolicyV2.ScheduleRunFrequency = ServiceClientHelpers.GetServiceClientScheduleRunType(schPolicyV2.ScheduleRunFrequency); if (schPolicyV2.ScheduleRunFrequency == ScheduleRunType.Weekly) { serviceClientPolicyV2.WeeklySchedule = new ServiceClientModel.WeeklySchedule(); serviceClientPolicyV2.WeeklySchedule.ScheduleRunDays = HelperUtils.EnumListConverter <DayOfWeek, ServiceClientModel.DayOfWeek>( schPolicyV2.WeeklySchedule.ScheduleRunDays).Cast <ServiceClientModel.DayOfWeek?>().ToList(); serviceClientPolicyV2.WeeklySchedule.ScheduleRunTimes = schPolicyV2.WeeklySchedule.ScheduleRunTimes.ConvertAll(dateTime => (DateTime?)dateTime); } else if (schPolicyV2.ScheduleRunFrequency == ScheduleRunType.Daily) { serviceClientPolicyV2.DailySchedule = new ServiceClientModel.DailySchedule(); serviceClientPolicyV2.DailySchedule.ScheduleRunTimes = schPolicyV2.DailySchedule.ScheduleRunTimes.ConvertAll(dateTime => (DateTime?)dateTime); } else if (schPolicyV2.ScheduleRunFrequency == ScheduleRunType.Hourly) { serviceClientPolicyV2.HourlySchedule = new ServiceClientModel.HourlySchedule(); serviceClientPolicyV2.HourlySchedule.Interval = schPolicyV2.HourlySchedule.Interval; serviceClientPolicyV2.HourlySchedule.ScheduleWindowDuration = schPolicyV2.HourlySchedule.WindowDuration; serviceClientPolicyV2.HourlySchedule.ScheduleWindowStartTime = schPolicyV2.HourlySchedule.WindowStartTime; } return(serviceClientPolicyV2); } return(null); }