Ejemplo n.º 1
0
        public IssueKpiControlViewModel(Issue issue, IssueKpiControl view)
        {
            mView = view;
            mIssue = issue;
            CompositionInitializer.SatisfyImports(this);
            mTimer.Interval = TimeSpan.FromMilliseconds(500);
            mTimer.Tick += RefreshKpiTable;

            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            IssueKpis = new List<IssueKpiTableViewModel>();

            AddButtonCommand = new DelegateCommand<object>(AddButtonHandler, CanExecuteAddButtonHandler);
            RemoveButtonCommand = new DelegateCommand<object>(RemoveButtonHandler, CanExecuteRemoveButtonHandler);
            ShowHideBaselineCommand = new DelegateCommand<object>(ShowHideBaselineHandler, x => true);

            IsBusy = true;

            cmsWebServiceClient.GetIssueKpiVarianceCodesCompleted += (s1, e1) =>
            {
                IssueKpiVarianceCodes = e1.Result;
                RaisePropertyChanged("IssueKpiVarianceCodes");

                cmsWebServiceClient.GetIssueKpisCompleted += (s, e) =>
                {
                     mIssue.IssueKpis = e.Result;

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

                             foreach (var issueKpi in mIssue.IssueKpis)
                             {
                                 var financialTableItem = new IssueKpiTableViewModel(issueKpi, IssueKpiVarianceCodes, view,
                                     CanUserModifyActuals(), mIssueSetting);
                                 mIssueKpis.Add(financialTableItem);
                             }
                             mIssueKpis = mIssueKpis.OrderBy(x => x.Date).ToList();
                             RaisePropertyChanged("IssueKpis");

                             //mDictionary = Utils.BuildDictionaryForCollection(mIssue.IssueFinancials.Select(x => x.Id).ToList());
                             mIssue.ModifiedObjects.KpisModified = true;

                             if (view.ViewModelLoaded != null)
                             {
                                 view.ViewModelLoaded();
                             }
                             IsBusy = false;
                         });
                     });

                };
                cmsWebServiceClient.GetIssueKpisAsync(mIssue.Id);

            };
            cmsWebServiceClient.GetIssueKpiVarianceCodesAsync();
        }
Ejemplo n.º 2
0
        public IEnumerable <int> GetIssueSetting()
        {
            if (string.IsNullOrWhiteSpace(IssueSetting))
            {
                return new int[] { }
            }
            ;

            return(IssueSetting.Split(',').Select(t => int.Parse(t)));
        }
Ejemplo n.º 3
0
 public IssueKpiTableViewModel(IssueKpi kpi, List<IssueKpiVarianceCode> issueKpiVarianceCodes,
     IssueKpiControl view, bool canUserModifyActuals, IssueSetting issueSetting)
 {
     mView = view;
     mKpi = kpi;
     mCanUserModifyActuals = canUserModifyActuals;
     IssueKpiVarianceCodes = issueKpiVarianceCodes;
     mIssueSetting = issueSetting;
     ValueGenerationVarianceCommand = new DelegateCommand<object>(ValueGenerationVarianceButtonHandler, CanExecuteOkButtonHandler);
     KpiVarianceCommand = new DelegateCommand<object>(KpiVarienceButtonHandler, CanExecuteOkButtonHandler);
 }
 public IssueFinancialTableViewModel(IssueFinancial financial, List<IssueFinancialVarianceCode> issueFinancialVarianceCodes,
     IssueFinancialControl view, bool userCanModify, IssueSetting issueSetting)
 {
     mView = view;
     mFinancial = financial;
     mUserCanModify = userCanModify;
     IssueFinancialVarianceCodes = issueFinancialVarianceCodes;
     mIssueSetting = issueSetting;
     ActualVsBaselineVarianceCommand = new DelegateCommand<object>(ActualvsBaselineButtonHandler, CanExecuteOkButtonHandler);
     ActualVsForecastVarianceCommand = new DelegateCommand<object>(ActualvsForecastButtonHandler, CanExecuteOkButtonHandler);
     OpenPurchaseOrderCommand = new DelegateCommand<object>(OpenPurchaseOrderCommandHandler, CanExecuteOpenPurchaseOrderCommandHandler);
 }
Ejemplo n.º 5
0
        public EditFinancialSettingsModel()
        {
            CompositionInitializer.SatisfyImports(this);

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

                    View.DataContext = this;
                    //RaisePropertyChanged("CutOfDate");
                    //RaisePropertyChanged("AppliesToPreviousMonth");
                    //RaisePropertyChanged("Description");
                });
            });

            OkButtonCommand = new DelegateCommand<object>(OkButtonHander, CanExecuteOkButtonHandler);
            CancelButtonCommand = new DelegateCommand<object>(CancelButtonHander, x => true);
            DatePickerCommand = new DelegateCommand<object>(DatePickerCommandHandler, x => true);
            ImportStartDatePickerCommand = new DelegateCommand<object>(ImportStartDatePickerCommandHandler, x => true);
            ImportStopDatePickerCommand = new DelegateCommand<object>(ImportStopDatePickerCommandHandler, x => true);
        }
Ejemplo n.º 6
0
        public void SaveIssueSetting(IssueSetting issueSetting)
        {
            using (var cee = new CmsEntities())
            {
                var existingSettings = (from x in cee.IssueSettings where x.Id == issueSetting.Id select x).FirstOrDefault();

                if (existingSettings != null)
                {
                    existingSettings.AccrualCutOfDate = issueSetting.AccrualCutOfDate;
                    existingSettings.AccrualAppliesToPreviousMonth = issueSetting.AccrualAppliesToPreviousMonth;
                    existingSettings.ForecastCutOfDay = issueSetting.ForecastCutOfDay;
                    existingSettings.VarianceThreshold = issueSetting.VarianceThreshold;
                    existingSettings.ImportStartDate = issueSetting.ImportStartDate;
                    existingSettings.ImportStopDate = issueSetting.ImportStopDate;
                    existingSettings.KpiCutOffDay = issueSetting.KpiCutOffDay;
                    existingSettings.MilestoneVarianceThreshold = issueSetting.MilestoneVarianceThreshold;

                    cee.SaveChanges();
                }
            }
        }