コード例 #1
0
        public IssueFinancialControlViewModel(Issue issue, IssueFinancialControl view)
        {
            mView = view;
            mIssue = issue;
            CompositionInitializer.SatisfyImports(this);

            mTimer.Interval = TimeSpan.FromMilliseconds(500);
            mTimer.Tick += RefreshFinancualTableTable;

            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            IssueFinancials = new List<IssueFinancialTableViewModel>();

            AddButtonCommand = new DelegateCommand<object>(AddButtonHandler, CanExecuteAddButtonHandler);
            DeleteButtonCommand = new DelegateCommand<object>(DeleteButtonHandler, CanExecuteDeleteButtonHandler);
            ShowHideBudgetCommand = new DelegateCommand<object>(ShowHideBudgetHandler, x=> true);
            ShowHideBaselineCommand = new DelegateCommand<object>(ShowHideBaselineHandler, x => true);

            IsBusy = true;
            cmsWebServiceClient.GetIssueFinancialVarianceCodesCompleted += (s1, e1) =>
            {
                IssueFinancialVarianceCodes = e1.Result;
                RaisePropertyChanged("IssueFinancialVarianceCodes");

                cmsWebServiceClient.GetIssueFinancialsCompleted += (s, e) =>
                {
                     mIssue.IssueFinancials = e.Result;

                     DatabaseLoader.GetIssueSettings().ContinueWith(getAccrualCutOfDateTask =>
                     {
                         CMS.UiFactory.StartNew(() =>
                         {
                             mIssueSetting = getAccrualCutOfDateTask.Result;

                             foreach (var issueFinancial in mIssue.IssueFinancials)
                             {
                                 var financialTableItem = new IssueFinancialTableViewModel(issueFinancial, IssueFinancialVarianceCodes, view,
                                     CanUserModifyFinancialData(), mIssueSetting);
                                 mIssueFinancials.Add(financialTableItem);
                             }
                             mIssueFinancials = mIssueFinancials.OrderBy(x => x.Date).ToList();
                             RaisePropertyChanged("IssueFinancials");

                             mDictionary = Utils.BuildDictionaryForCollection(mIssue.IssueFinancials.Select(x => x.Id).ToList());
                             mIssue.ModifiedObjects.FinancialsModified = true;
                             RaisePropertyChanged("TotalForecast");

                             ShowHideBaselineOnLoad();
                             IsBusy = false;
                         });
                     });

                };
                cmsWebServiceClient.GetIssueFinancialsAsync(mIssue.Id);

            };
            cmsWebServiceClient.GetIssueFinancialVarianceCodesAsync();
        }
コード例 #2
0
ファイル: DatabaseLoader.cs プロジェクト: barrett2474/CMS2
 public static Task<List<IssueFinancialVarianceCode>> GetIssueFinancialVarianceCodes()
 {
     var task = new TaskCompletionSource<List<IssueFinancialVarianceCode>>();
     var cee = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
     cee.GetIssueFinancialVarianceCodesCompleted += (s, e) => task.SetResult(e.Result);
     cee.GetIssueFinancialVarianceCodesAsync();
     return task.Task;
 }
コード例 #3
0
        private void LoadFinancialVarianceCodess(NodeView currentNodeView)
        {
            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

            cmsWebServiceClient.GetIssueFinancialVarianceCodesCompleted += (s1, e1) =>
            {
                foreach (var varianceCode in e1.Result)
                {
                    NodeView child = new NodeView(currentNodeView)
                    {
                        Id = varianceCode.Id,
                        Name = varianceCode.Code,
                        Description = varianceCode.Description,
                        IsActive = varianceCode.IsActive,
                        Icon = "/CmsEquipmentDatabase;component/Images/Configuration.png",
                        Type = NodeType.FinancialVarianceCode,
                        SortField = varianceCode.Ordinal.HasValue ? varianceCode.Ordinal.ToString() : string.Empty,
                        HasChildren = false
                    };
                    currentNodeView.Children.Add(child);
                }
                Utils.HideSpinner(currentNodeView);
                currentNodeView.Sort(true);
            };
            cmsWebServiceClient.GetIssueFinancialVarianceCodesAsync();
        }