public static Task<Document> GetDocument(int documentId) { var task = new TaskCompletionSource<Document>(); var cee = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cee.GetDocumentCompleted += (s, e) => task.SetResult(e.Result); cee.GetDocumentAsync(documentId); return task.Task; }
public DocumentPanel(QuickDocument document) { InitializeComponent(); TabChanges = new List<string>(); CompositionInitializer.SatisfyImports(this); CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cmsWebServiceClient.GetDocumentCompleted += (s, e) => { mDocument = e.Result; mDocumentViewModel = new DocumentViewModel(mDocument); mDocumentViewModel.View = this; mDocumentViewModel.DataSourceLoaded += (s1) => { DataContext = mDocumentViewModel; LoadedDocument = mDocument; //This will hook up change events on all controls Utils.SetUpChangeEvents(Content, EventAggregator, mDocument); DocumentControl.LoadedDocument = mDocument; //Versions mDocumentVersionsControl = new DocumentVersionsControl(mDocument, this); mDocumentVersionsControl.CollectionChanged += (count) => { mDocument.DocumentRelatedItemsCount.Versions = count; SetTabHeadersText(); }; VersionsTab.Content = mDocumentVersionsControl; //Issues mDocumentRelatedIssuesControl = new DocumentRelatedIssuesControl(mDocument); mDocumentRelatedIssuesControl.CollectionChanged += (count) => { mDocument.DocumentRelatedItemsCount.Issues = count; SetTabHeadersText(); }; IssuesTab.Content = mDocumentRelatedIssuesControl; if (CMS.EffectivePrivileges.AdminTab.CanView || CMS.EffectivePrivileges.ElectricalTab.CanView || CMS.EffectivePrivileges.MechanicalTab.CanView || CMS.EffectivePrivileges.InstrumentTab.CanView || CMS.EffectivePrivileges.MobilePlantTab.CanView || CMS.EffectivePrivileges.PipeTab.CanView ) { DocumentEquipmentsTab.Visibility = Visibility.Visible; //DocumentEquipments DocumentEquipmentsView documentEquipmentsView = new DocumentEquipmentsView(mDocument); documentEquipmentsView.CollectionChanged += (count) => { mDocument.DocumentRelatedItemsCount.RelatedEquipments = count; SetTabHeadersText(); }; DocumentEquipmentsTab.Content = documentEquipmentsView; } //HardCopyLocations DocumentLocationView documentLocationView = new DocumentLocationView(mDocument); documentLocationView.CollectionChanged += (count) => { mDocument.DocumentRelatedItemsCount.HardCopyLocations = count; SetTabHeadersText(); }; DocumentLocationsTab.Content = documentLocationView; //Document Related Documents DocumentRelatedDocumentsView documentRelatedDocumentsView = new DocumentRelatedDocumentsView(mDocument); documentRelatedDocumentsView.CollectionChanged += (count) => { mDocument.DocumentRelatedItemsCount.RelatedDocuments = count; SetTabHeadersText(); }; RoutedEventHandler docsloaded = null; docsloaded += (s6, e6) => { //This will hook up change events on all controls Utils.SetUpChangeEvents((UIElement)RelatedDocumentsTab.Content, EventAggregator, mDocument); RelatedDocumentsTab.Loaded -= docsloaded; }; RelatedDocumentsTab.Content = documentRelatedDocumentsView; RelatedDocumentsTab.Loaded += docsloaded; //Attachments DocumentAttachmentsControl documentAttachmentsControl = new DocumentAttachmentsControl(mDocument); documentAttachmentsControl.CollectionChanged += (count) => { mDocument.DocumentRelatedItemsCount.Attachments = count; SetTabHeadersText(); }; AttachmentsTab.Content = documentAttachmentsControl; //GET Tab Counts -------------------------------------------------- cmsWebServiceClient.GetDocumentRelatedItemsCountCompleted += (s2, e2) => { mDocument.DocumentRelatedItemsCount = e2.Result; SetTabHeadersText(); }; cmsWebServiceClient.GetDocumentRelatedItemsCountAsync(mDocument.Id); }; }; cmsWebServiceClient.GetDocumentAsync(document.Id); //Load Revision History RevisionHistory.LoadRevisionHistory(CommonUtils.TabId.Documents, document.Id); }