public PipePanelViewModel(int pipeId) { CompositionInitializer.SatisfyImports(this); var getPipeTask = DatabaseLoader.GetPipe(pipeId, true); List<Task> tasks = new List<Task>(); tasks.Add(getPipeTask); Task.Factory.ContinueWhenAll(tasks.ToArray(), x => { CMS.UiFactory.StartNew(() => { mPipe = getPipeTask.Result; Pipe = mPipe; mPipeControl = new PipeControl(mPipe); mPipeComponentsControl = new PipeComponentsControl(mPipe); View.PipeControl.Content = mPipeControl; //Components mPipeComponentsControl.CollectionChanged += (count) => { mPipe.GeneralEquipmentRelatedItemsCount.PropertyOrComponents = count; SetTabHeadersText(); }; View.ComponentsTab.Content = mPipeComponentsControl; //PipeAttachmentsControl mPipeAttachmentsControl = new PipeAttachmentsControl(mPipe); mPipeAttachmentsControl.CollectionChanged += (count) => { mPipe.GeneralEquipmentRelatedItemsCount.Attachments = count; SetTabHeadersText(); }; View.AttachmentsTab.Content = mPipeAttachmentsControl; //PipeIssuesControl mPipeRelatedIssuesControl = new PipeRelatedIssuesControl(mPipe); mPipeRelatedIssuesControl.CollectionChanged += (count) => { mPipe.GeneralEquipmentRelatedItemsCount.Issues = count; SetTabHeadersText(); }; View.IssueTab.Content = mPipeRelatedIssuesControl; //PipeDocumentsControl mPipeDocumentsControl = new PipeDocumentsControl(mPipe); mPipeDocumentsControl.CollectionChanged += (count) => { mPipe.GeneralEquipmentRelatedItemsCount.Documents = count; SetTabHeadersText(); }; View.DocumentsTab.Content = mPipeDocumentsControl; //GET Tab Counts -------------------------------------------------- CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cmsWebServiceClient.GetPipeRelatedItemsCountCompleted += (s1, e1) => { mPipe.GeneralEquipmentRelatedItemsCount = e1.Result; if (Loaded != null) { Loaded(); } //do this post data binding SetHeadersBindings(); SetTabHeadersText(); }; cmsWebServiceClient.GetPipeRelatedItemsCountAsync(mPipe.Id); //------------------------------------------------------------- }); }); }
private void BuildMoveComponentRevisionHistory(PipeComponentsControl componentsControl) { if (componentsControl == null || componentsControl.Model == null || componentsControl.Model.MovedComponent == null) { return; } PipeRevisionHistory rv = new PipeRevisionHistory(); rv.Date = DateTime.Now; rv.UserId = CMS.User.Id; rv.PipeId = mPipe.Id; rv.Description = string.Format("Moved Component {0} to Pipe {1}.", componentsControl.Model.MovedComponent.Name, componentsControl.Model.MovedComponent.Pipe.Name); mPipe.PipeRevisionHistories.Add(rv); }