Пример #1
0
        public void ExportDataCommand_SomeLogsChecked_SaveDialogShownAndExportProgressShown()
        {
            var saveDialogExecuted = false;

            _messenger.Register <DialogMessage <SaveFileDialog> >(this,
                                                                  message =>
            {
                saveDialogExecuted = true;
                Assert.That(message.Dialog.CheckFileExists, Is.False);
                Assert.That(message.Dialog.CheckPathExists, Is.True);
                message.Result.DialogResult = DialogResult.OK;
                message.Dialog.FileName     = "c:\\bobo\\1.rpd";
                message.ProcessResult();
            });

            var progressExecuted = false;

            _messenger.Register <ViewMessage>(this, Views.Views.ExportProgress, message => progressExecuted = true);

            _repositoryViewModel.Object.Locomotives[0].Sections[0].PsnLogs[0].IsChecked        = true;
            _repositoryViewModel.Object.Locomotives[0].Sections[0].PsnPowerOnLogs[0].IsChecked = true;
            _repositoryViewModel.Object.Locomotives[0].Sections[0].Faults[0].IsChecked         = true;

            ExportLogsParametersBase exportLogsParams = null;

            _messenger.Register <SetViewModelParametersMessage <ExportLogsParametersBase> >(this,
                                                                                            message =>
                                                                                            exportLogsParams = message.Parameter);

            CreateAndInitializeViewModel();

            _target.ExportDataCommand.Execute(null);

            Assert.That(saveDialogExecuted, Is.True);
            Assert.That(progressExecuted, Is.True);
            Assert.That(exportLogsParams, Is.Not.Null);
            Assert.That(exportLogsParams.FileName, Is.EqualTo("c:\\bobo\\1.rpd"));
            Assert.That(exportLogsParams.PsnLogs.Count, Is.EqualTo(2));
            Assert.That(exportLogsParams.RpdLogs.Count, Is.EqualTo(1));
            Assert.That(_appSettings.Object.LastExportFolder, Is.EqualTo("c:\\bobo"));
        }
Пример #2
0
        private void ExportDataCommandExecute()
        {
            // значит что команда вызывается в первый раз, т.е. когда кнопка нажата, а нужно когда уже отжата.
            if (IsExportDataMode)
            {
                return;
            }

            var dataToExport = new ExportLogsParametersBase();

            FillLogsParametersAndUncheckThem(dataToExport);
            if (dataToExport.PsnLogs.Count == 0 && dataToExport.RpdLogs.Count == 0)
            {
                return;
            }

            var msg = new DialogMessage <SaveFileDialog>(this,
                                                         new SaveFileDialog {
                AddExtension       = true,
                InitialDirectory   = _applicationSettings.LastExportFolder,
                CheckPathExists    = true,
                AutoUpgradeEnabled = true,
                DefaultExt         = "*.rpd",
                OverwritePrompt    = true,
                Title  = "Экспорт",
                Filter = Resources.ExportRpdData_Dialog_Filter
            },
                                                         resultCallback => {
                if (resultCallback.DialogResult == DialogResult.OK)
                {
                    dataToExport.FileName = resultCallback.Dialog.FileName;
                    _applicationSettings.LastExportFolder = Path.GetDirectoryName(dataToExport.FileName);
                    ShowExportProgress(dataToExport);
                }
            });

            _messenger.Send(msg);
        }
Пример #3
0
 private void ShowExportProgress(ExportLogsParametersBase dataToExportLogs)
 {
     _messenger.Send(new ViewMessage(ViewAction.Show), Views.Views.ExportProgress);
     _messenger.Send(new SetViewModelParametersMessage <ExportLogsParametersBase>(dataToExportLogs));
 }