예제 #1
0
        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;
        }
예제 #2
0
        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);
                    }
                };
        }