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")); }
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); }
private void ShowExportProgress(ExportLogsParametersBase dataToExportLogs) { _messenger.Send(new ViewMessage(ViewAction.Show), Views.Views.ExportProgress); _messenger.Send(new SetViewModelParametersMessage <ExportLogsParametersBase>(dataToExportLogs)); }