public void Execute() { if (!viewModel.ValidatableView.Validate()) { return; } DateTime previousProductionDate = viewModel.Pipe.ProductionDate; var previousPipeMillSizeType = viewModel.PipeMillSizeType; var previousHeat = viewModel.Heat; var previousPurchaseOrder = viewModel.PipePurchaseOrder; viewModel.SavePipeCommand.Execute(); if (viewModel.Number != string.Empty) { viewModel.NewPipe(); viewModel.ProductionDate = previousProductionDate; viewModel.PipeMillSizeType = previousPipeMillSizeType; viewModel.PipeTestResults = viewModel.GetRequired(previousPipeMillSizeType); viewModel.Pipe.PipeTestResult = viewModel.PipeTestResults; viewModel.Heat = previousHeat; viewModel.PipePurchaseOrder = previousPurchaseOrder; viewModel.ModifiableView.IsModified = false; } RefreshVisualStateEvent(); }
public void Execute() { try { if (!viewModel.ValidatableView.Validate()) { return; } DateTime previousProductionDate = viewModel.Pipe.ProductionDate; var previousPipeMillSizeType = viewModel.PipeMillSizeType; var previousHeat = viewModel.Heat; var previousPurchaseOrder = viewModel.PipePurchaseOrder; viewModel.SavePipeCommand.Execute(); if (viewModel.Number != string.Empty) { viewModel.NewPipe(); viewModel.ProductionDate = previousProductionDate; viewModel.PipeMillSizeType = previousPipeMillSizeType; viewModel.PipeTestResults = viewModel.GetRequired(previousPipeMillSizeType); viewModel.Pipe.PipeTestResult = viewModel.PipeTestResults; foreach (var t in viewModel.Pipe.PipeTestResult) { var insp = (List <Inspector>)viewModel.listOfInspectors.Where(_ => _.Key == t.Operation.Code).FirstOrDefault().Value; if (insp != null) { t.Inspectors = insp; } } viewModel.Heat = previousHeat; viewModel.PipePurchaseOrder = previousPurchaseOrder; viewModel.ModifiableView.IsModified = false; viewModel.ModifiableView.Id = viewModel.Pipe.Id; } RefreshVisualStateEvent(); } catch (RepositoryException ex) { log.Warn(this.GetType().Name + " | " + ex.ToString()); notify.ShowWarning(Program.LanguageManager.GetString(StringResources.Notification_Error_Db_Message), Program.LanguageManager.GetString(StringResources.Notification_Error_Db_Header)); } }