コード例 #1
0
ファイル: DatabaseLoader.cs プロジェクト: barrett2474/CMS2
 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;
 }
コード例 #2
0
        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);
        }