public void Reset() { _defaultSetting = _settingFacade.GetDefaultSettings(); PdfSetting = CreateNewPdfSetting(_defaultSetting.Pdfsetting); if (_workedTimeViewModel == null) { _workedTimeViewModel = new WorkedTimeSettingViewModel(_defaultSetting.Time, _defaultSetting.Time, _defaultSetting.TimeTickInMinutes); _workedTimeViewModel.OnTimeChanged += (object sender, WorkedTimeEventArgs args) => { CancelChangesCommand.RaiseCanExecuteChanged(); SaveSettingsCommand.RaiseCanExecuteChanged(); }; _workedTimeViewModel.OnTimeTickChanged += (object sender, EventArgs args) => { CancelChangesCommand.RaiseCanExecuteChanged(); SaveSettingsCommand.RaiseCanExecuteChanged(); }; } _workedTimeViewModel.SetTime(_defaultSetting.Time); _workedTimeViewModel.SelectedTimeTickInMinutes = _defaultSetting.TimeTickInMinutes; ImportDataResultMessage = null; }
private DefaultListingPdfReportSetting CreateNewPdfSetting(DefaultListingPdfReportSetting oldSetting) { DefaultListingPdfReportSetting setting = new DefaultListingPdfReportSetting(oldSetting); setting.OnSettingPropertyChanged += (arg) => { CancelChangesCommand.RaiseCanExecuteChanged(); SaveSettingsCommand.RaiseCanExecuteChanged(); }; return(setting); }
private void SaveSettings() { _defaultSetting.Time = new TimeSetting( new Time(_workedTimeViewModel.StartTime), new Time(_workedTimeViewModel.EndTime), new Time(_workedTimeViewModel.LunchStart), new Time(_workedTimeViewModel.LunchEnd), new Time(_workedTimeViewModel.OtherHours) ); _defaultSetting.TimeTickInMinutes = _workedTimeViewModel.SelectedTimeTickInMinutes; _defaultSetting.Pdfsetting.UpdateBy(_pdfSetting); _settingFacade.SaveDefaultSetting(_defaultSetting); CancelChangesCommand.RaiseCanExecuteChanged(); SaveSettingsCommand.RaiseCanExecuteChanged(); }
private void SaveSettings() { _defaultSetting.Time = new TimeSetting( new Time(_workedTimeViewModel.StartTime), new Time(_workedTimeViewModel.EndTime), new Time(_workedTimeViewModel.LunchStart), new Time(_workedTimeViewModel.LunchEnd), new Time(_workedTimeViewModel.OtherHours) ); _defaultSetting.TimeTickInMinutes = _workedTimeViewModel.SelectedTimeTickInMinutes; _defaultSetting.Pdfsetting = new DefaultListingPdfReportSetting(PdfSetting); _settingFacade.UpdateDefaultSettings(_defaultSetting); CancelChangesCommand.RaiseCanExecuteChanged(); SaveSettingsCommand.RaiseCanExecuteChanged(); EventAggregator.PublishOnUIThread(new SettingsSuccessfullySavedMessage()); }
/// <summary> /// Called to check whether or not this instance can close. /// </summary> /// <param name="callback">The implementor calls this action with the result of the close check.</param> public override async void CanClose(Action <bool> callback) { if (IsDirty) { MessageResult retVal = await OnSaveChangesPrompt(); switch (retVal) { case MessageResult.Cancel: callback(false); return; case MessageResult.Yes: if (HasErrors) { await OnSaveChangesWithErrors(); callback(false); return; } var successful = await SaveAsync(); if (successful == false) { callback(false); return; } break; case MessageResult.No: CancelChangesCommand.Execute(null); break; default: throw new ArgumentOutOfRangeException(); } } base.CanClose(callback); }
// constructor public EmployeeViewModel() { dbConnectionString = Properties.Settings.Default.DBConnectionString; // initialize button enable logic bCanDelete = false; bCanAdd = true; bCanEdit = false; bCanUpdate = false; bCanCancel = false; // initialize control commands AddEmployee = new AddEmployeeCommand(this); EditEmployee = new EditEmployeeCommand(this); UpdateEmployee = new UpdateEmployeeCommand(this); DeleteEmployee = new DeleteEmployeeCommand(this); CancelChanges = new CancelChangesCommand(this); // retrieve employee list and populate DataGrid control FillDataGrid(); SelectedItem = -1; OnPropertyChanged("SelectedItem"); }