public ExportDocumentFilesModel()
        {
            if (DesignerProperties.IsInDesignTool){return;}

            DatabaseLoader.GetQuickDocuments(new DocumentsFilterObject()).ContinueWith((x) =>
            {
                CMS.UiFactory.StartNew(() =>
                {
                    //TODO: This can be optimised as per document navigation panel, will not display Document Type :(
                    mDocuments = new CmsObservableCollection<QuickDocument>(x.Result);

                    CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

                    cmsWebServiceClient.GetDocumentsAndRelatedObjectsCompleted += cmsWebServiceClient_GetDocumentsAndRelatedObjectsCompleted;
                    cmsWebServiceClient.GetDocumentsAndRelatedObjectsAsync();

                    cmsWebServiceClient.GetDocumentDisciplinesCompleted += (s, e) =>
                    {
                        var disciplines = e.Result;
                        disciplines.Insert(0, new DocumentDiscipline {Id = -1, Name = "All"});
                        mDisciplines = disciplines;
                        mSelectedDiscipline = disciplines[0];
                        mDisciplinesLoaded = true;
                        RaiseLoaded();
                    };
                    cmsWebServiceClient.GetDocumentDisciplinesAsync();

                    cmsWebServiceClient.GetDocumentPurchaseOrdersCompleted += (s, e) =>
                    {
                        var purchaseOrders = e.Result;
                        purchaseOrders.Insert(0, new DocumentPurchaseOrder {Id = -1, Name = "All"});
                        mPurchaseOrders = purchaseOrders;
                        mSelectedPurchaseOrder = purchaseOrders[0];
                        mPurchaseOrdersLoaded = true;
                        RaiseLoaded();
                    };

                    cmsWebServiceClient.GetDocumentPurchaseOrdersAsync();
                });
            });

            mDocumentVersions = new List<DocumentVersion>();
            mDocumentVersionExports = new ObservableCollection<DocumentVersionExport>();

            OkButtonCommand = new DelegateCommand<object>(OkButtonHander, CanExecuteOkButtonHandler);
            CancelButtonCommand = new DelegateCommand<object>(CancelButtonHander);
            AddVersionButtonCommand = new DelegateCommand<object>(AddVersionButtonHander, CanExecuteOkButtonHandler);
            DeleteButtonCommand = new DelegateCommand<object>(DeleteButtonHander, CanExecuteOkButtonHandler);
        }
Beispiel #2
0
        public DocumentViewModel(Document document)
        {
            if (document == null) throw new ArgumentNullException("document");

            CompositionInitializer.SatisfyImports(this);

            mDocument = document;

            SaveButtonCommand = new DelegateCommand<object>(SaveButtonHandler, CanExecuteOkButtonHandler);
            RemoveButtonCommand = new DelegateCommand<object>(RemoveButtonHandler, CanExecuteDeleteButtonHandler);

            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

            cmsWebServiceClient.GetDocumentTypesCompleted += cmsWebServiceClient_GetDocumentTypesCompleted;
            cmsWebServiceClient.GetDocumentTypesAsync();

            Areas = new ObservableCollection<Area>(from x in CMS.Cache.Areas where x.IsActive && x.SiteId == CMS.AppSetting.DefaultSiteId select x);

            cmsWebServiceClient.GetDocumentAuthorsCompleted += cmsWebServiceClient_GetDocumentAuthorsCompleted;
            cmsWebServiceClient.GetDocumentAuthorsAsync();

            cmsWebServiceClient.GetDocumentDisciplinesCompleted += (s, e) =>
                {
                    DocumentDisciplines = new ObservableCollection<DocumentDiscipline>(e.Result);
                    mDisciplinesLoaded = true;
                    OnDataSourceLoaded();
                };
            cmsWebServiceClient.GetDocumentDisciplinesAsync();

            cmsWebServiceClient.GetDocumentPurchaseOrdersCompleted += (s, e) =>
            {
                DocumentPurchaseOrders = new ObservableCollection<DocumentPurchaseOrder>(e.Result);
                DocumentPurchaseOrders.Insert(0, new DocumentPurchaseOrder { Name = BLANK, Id = -1 });
                mPurchaseOrdersLoaded = true;
                OnDataSourceLoaded();
            };
            cmsWebServiceClient.GetDocumentPurchaseOrdersAsync();

            if (mDocument.DocumentVersions != null && mDocument.DocumentVersions.Count > 0)
            {
                mSelectedVersion = Document.DocumentVersions[0];
            }
        }
Beispiel #3
0
 public static Task<List<DocumentDiscipline>> GetDocumentDisciplines()
 {
     var task = new TaskCompletionSource<List<DocumentDiscipline>>();
     var cee = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
     cee.GetDocumentDisciplinesCompleted += (s, e) => task.SetResult(e.Result);
     cee.GetDocumentDisciplinesAsync();
     return task.Task;
 }
        private void LoadDocumentDisciplines(NodeView expandedNode)
        {
            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

            cmsWebServiceClient.GetDocumentDisciplinesCompleted += (s1, e1) =>
            {
                foreach (DocumentDiscipline discipline in e1.Result)
                {
                    NodeView child = new NodeView(expandedNode)
                    {
                        Id = discipline.Id,
                        Name = discipline.Name,
                        Description = discipline.Description,
                        Icon = "/CmsEquipmentDatabase;component/Images/Configuration.png",
                        Type = NodeType.DocumentDisciplineNode,
                        SortField = discipline.Name,
                        IsActive = discipline.IsActive,
                        HasChildren = false
                    };
                    expandedNode.Children.Add(child);
                }
                expandedNode.Sort(true);
                Utils.HideSpinner(expandedNode);
            };
            cmsWebServiceClient.GetDocumentDisciplinesAsync();
        }