public bool Save(Action<bool> saved) { var validationErrors = GetErrors(); if (validationErrors.Any()) { View.ValidationPopup.Show(validationErrors); return false; } View.PipeControl.saveButton.IsEnabled = false; AddPipeRevisionHistoryDialog pipeRevisionHistoryDialog = new AddPipeRevisionHistoryDialog(mPipe.Id, mPipe.Name); pipeRevisionHistoryDialog.Show(); pipeRevisionHistoryDialog.Closed += (s, e) => { if (pipeRevisionHistoryDialog.DialogResult.HasValue && pipeRevisionHistoryDialog.DialogResult.Value) { CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); PipeComponentsControl componentsControl = View.ComponentsTab.Content as PipeComponentsControl; //SAVE COMP cmsWebServiceClient.MovePipeComponentCompleted += (s2, e2) => { if (e2.Result.HasErrors) { //val popup.. ValidationPopup vp = new ValidationPopup(); vp.Show(Utils.BuildValidationResultFromServerErrors("Move Component Failed", e2.Result.ServerErrorMessages)); } else { BuildMoveComponentRevisionHistory(componentsControl); //save actual equipment 2nd SavePipe(saved, cmsWebServiceClient); } }; //save any component moves 1st cmsWebServiceClient.MovePipeComponentAsync(componentsControl.Model.MovedComponent); } View.PipeControl.saveButton.IsEnabled = true; }; return false; }
private void DeleteButtonHandler(object parameter) { var popupDialog = new AddPipeRevisionHistoryDialog(Pipe.Id, Pipe.Name); popupDialog.Show(); popupDialog.Closed += (s2, e2) => { if (popupDialog.DialogResult.HasValue && popupDialog.DialogResult.Value) { var cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cmsWebServiceClient.SaveIsActiveEquipmentStateCompleted += (s1, e1) => { //Calls MainPage.CloseTab() EventAggregator.GetEvent<PrismEvents.CloseTabPrismEvent>().Publish(new QuickPipe { Id = Pipe.Id, Name = Pipe.Name }); EventAggregator.GetEvent<PrismEvents.RefreshNavigationEvent>().Publish(new QuickPipe()); }; cmsWebServiceClient.SaveIsActiveEquipmentStateAsync(CommonUtils.ModelType.Pipe, Pipe.Id, false, CMS.User.Id); } }; }