Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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);
                        }
                    }
                }
            }
        }
Beispiel #4
0
 public void StartMessaging(IMessenger messenger)
 {
     _messenger = messenger;
     _messenger.Register <SetViewModelParametersMessage <LogsParameters> >(this, p => _parameters = p.Parameter);
 }