internal RecurrenceSchedule(DateTimeOffset?endOn, ScheduleStatus?scheduleStatus, ScheduleType scheduleType, DateTimeOffset?startOn, string timeZone, RecurrenceFrequency frequency, int interval, RecurrencePattern pattern) : base(endOn, scheduleStatus, scheduleType, startOn, timeZone) { Frequency = frequency; Interval = interval; Pattern = pattern; ScheduleType = scheduleType; }
public RecurrenceSchedule(RecurrenceFrequency frequency, int interval) { Frequency = frequency; Interval = interval; ScheduleType = ScheduleType.Recurrence; }
internal static RecurrenceSchedule DeserializeRecurrenceSchedule(JsonElement element) { RecurrenceFrequency frequency = default; int interval = default; Optional <RecurrencePattern> pattern = default; Optional <DateTimeOffset?> endTime = default; Optional <ScheduleStatus> scheduleStatus = default; ScheduleType scheduleType = default; Optional <DateTimeOffset?> startTime = default; Optional <string> timeZone = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("frequency")) { frequency = new RecurrenceFrequency(property.Value.GetString()); continue; } if (property.NameEquals("interval")) { interval = property.Value.GetInt32(); continue; } if (property.NameEquals("pattern")) { if (property.Value.ValueKind == JsonValueKind.Null) { pattern = null; continue; } pattern = RecurrencePattern.DeserializeRecurrencePattern(property.Value); continue; } if (property.NameEquals("endTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { endTime = null; continue; } endTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("scheduleStatus")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } scheduleStatus = new ScheduleStatus(property.Value.GetString()); continue; } if (property.NameEquals("scheduleType")) { scheduleType = new ScheduleType(property.Value.GetString()); continue; } if (property.NameEquals("startTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { startTime = null; continue; } startTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("timeZone")) { if (property.Value.ValueKind == JsonValueKind.Null) { timeZone = null; continue; } timeZone = property.Value.GetString(); continue; } } return(new RecurrenceSchedule(Optional.ToNullable(endTime), Optional.ToNullable(scheduleStatus), scheduleType, Optional.ToNullable(startTime), timeZone.Value, frequency, interval, pattern.Value)); }