private void RemoveDataCommandExecute() { // значит что команда вызывается в первый раз, т.е. когда кнопка нажата, а нужно когда уже отжата. if (IsRemoveDataMode) { return; } var dataToRemove = new LogsParameters(); FillLogsParametersAndUncheckThem(dataToRemove); if (dataToRemove.PsnLogs.Count == 0 && dataToRemove.RpdLogs.Count == 0) { return; } var msg = new MessageBoxMessage("Удалить выбранные логи?", "РПД", MessageBoxButton.YesNo, MessageBoxImage.Question, resultCallback => { if (resultCallback == MessageBoxResult.Yes) { _messenger.Send(new ViewMessage(ViewAction.Show), Views.Views.ExportProgress); _messenger.Send(new SetViewModelParametersMessage <LogsParameters>(dataToRemove)); } }); _messenger.Send(msg); }
private void ChangeConfigurationCommandExecute() { // значит что команда вызывается в первый раз, т.е. когда кнопка нажата, а нужно когда уже отжата. if (IsChangeConfigurationMode) { return; } var logs = new LogsParameters(); FillLogsParametersAndUncheckThem(logs); if (logs.PsnLogs.Count == 0 && logs.RpdLogs.Count == 0) { return; } _messenger.Send(new ViewMessage(ViewAction.Show), Views.Views.ChangePsnConfiguration); _messenger.Send(new SetViewModelParametersMessage <LogsParameters>(logs)); }
private void FillLogsParametersAndUncheckThem(LogsParameters parametersBase) { parametersBase.Repository = _repository; foreach (var loco in Repository.Locomotives) { foreach (var sec in loco.Sections) { foreach (var log in sec.PsnLogs) { if (log.IsChecked) { log.IsChecked = false; parametersBase.PsnLogs.Add(log.PsnLog); } } foreach (var log in sec.PsnPowerOnLogs) { if (log.IsChecked) { log.IsChecked = false; parametersBase.PsnLogs.Add(log.PsnLog); } } foreach (var log in sec.Faults) { if (log.IsChecked) { log.IsChecked = false; parametersBase.RpdLogs.Add(log.Fault); } } } } }
public void StartMessaging(IMessenger messenger) { _messenger = messenger; _messenger.Register <SetViewModelParametersMessage <LogsParameters> >(this, p => _parameters = p.Parameter); }