protected override void SaveData() { OriginalSettings = EditedSettings.Clone <MediaScheduleSettings, MediaScheduleSettings>(); OriginalSettings.UpdateDictionaries(); Schedule.ApplySettingsChanges(ChangeInfo); if (ChangeInfo.DigitalContentChanged) { Schedule.DigitalProductsContent = DigitalContent.Clone <DigitalProductsContent, DigitalProductsContent>(); } }
protected override void UpdateEditedContet() { _allowToSave = false; if (EditedSettings == null || ContentUpdateInfo.ChangeInfo.WholeScheduleChanged) { EditedSettings?.Dispose(); EditedSettings = OriginalSettings.Clone <MediaScheduleSettings, MediaScheduleSettings>(); SettingsNotSaved = EditedSettings.IsNew; #region Media Tab Controller.Instance.HomeBusinessName.EditValue = EditedSettings.BusinessName; Controller.Instance.HomeDecisionMaker.EditValue = EditedSettings.DecisionMaker; Controller.Instance.HomePresentationDate.EditValue = EditedSettings.PresentationDate; UpdateFlightDates(); UpdateWeekCount(); Thread.CurrentThread.CurrentCulture.DateTimeFormat.FirstDayOfWeek = EditedSettings.StartDayOfWeek; switch (EditedSettings.SelectedSpotType) { case SpotType.Week: pictureEditWeeklySchedule.Checked = true; pictureEditMonthlySchedule.Checked = false; break; case SpotType.Month: pictureEditWeeklySchedule.Checked = false; pictureEditMonthlySchedule.Checked = true; break; } stationsControl.LoadData(EditedSettings); #endregion } UpdateScheduleControls(); _allowToSave = true; }
private void OnFlightDatesEditClick(object sender, EventArgs e) { using (var form = new FormFlightDatesEdit()) { var currentDateStart = EditedSettings.UserFlightDateStart; var currentDateEnd = EditedSettings.UserFlightDateEnd; form.DateStart = currentDateStart; form.DateEnd = currentDateEnd; form.EndDayOfWeek = EditedSettings.EndDayOfWeek; form.StartDayOfWeek = EditedSettings.StartDayOfWeek; form.EndDayOfWeek = EditedSettings.EndDayOfWeek; if (form.ShowDialog(Controller.Instance.FormMain) == DialogResult.OK) { var comparableSettings = EditedSettings.Clone <MediaScheduleSettings, MediaScheduleSettings>(); comparableSettings.UserFlightDateStart = form.DateStart; comparableSettings.UserFlightDateEnd = form.DateEnd; var changeInfo = EditedSettings.GetChangeInfo(comparableSettings); if (changeInfo.ScheduleDatesChanged) { if (Schedule.ProgramSchedule.Sections.Any(s => s.Programs.Any(p => p.TotalSpots > 0))) { using (var formWarning = new FormFlightDatesChangeWarning(EditedSettings.SelectedSpotType)) { if (formWarning.ShowDialog(Controller.Instance.FormMain) != DialogResult.OK) { comparableSettings.Dispose(); return; } ChangeInfo.KeepSpotsWhenDatesChanged = formWarning.KeepSpots; } } EditedSettings.UserFlightDateStart = form.DateStart; EditedSettings.UserFlightDateEnd = form.DateEnd; OnSchedulePropertyValueChanged(sender, e); UpdateFlightDates(); UpdateWeekCount(); } comparableSettings.Dispose(); } } }