public AddEditKpiVarianceCodeViewModel(IssueKpi kpi, CommonUtils.KpiVarianceCode varianceCode, List<IssueKpiVarianceCode> issueKpiVarianceCodes)
        {
            IssueKpiVarianceCodes = issueKpiVarianceCodes;
            mKpi = kpi;
            mVarianceCode = varianceCode;

            OkButtonCommand = new DelegateCommand<object>(OkButtonHandler, CanExecuteOkButtonHandler);
            CancelButtonCommand = new DelegateCommand<object>(CanelButtonHandler, CanExecuteOkButtonHandler);
        }
Esempio n. 2
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 AddEditKpiVarianceCodeDialog(IssueKpi kpi, CommonUtils.KpiVarianceCode varianceCode, List<IssueKpiVarianceCode> issueKpiVarianceCodes)
        {
            InitializeComponent();

            CompositionInitializer.SatisfyImports(this);

            Title = "Variance";

            if (varianceCode == CommonUtils.KpiVarianceCode.Kpi) Title = String.Format("Reason For KPI Variance ({0:MMM yy})", kpi.Date);
            if (varianceCode == CommonUtils.KpiVarianceCode.ValueGeneration) Title = String.Format("Reason For Value Generation Variance ({0:MMM yy})", kpi.Date);

            var viewModel = new AddEditKpiVarianceCodeViewModel(kpi, varianceCode, issueKpiVarianceCodes);
            viewModel.View = this;
            DataContext = viewModel;
        }
        private void AddButtonHandler(object parameter)
        {
            if (CanExecuteAddButtonHandler(parameter))
            {
                if (AreAllValid())
                {

                    MonthPicker monthPicker = new MonthPicker(mIssueKpis.Select(x => x.Date).Distinct().ToList());

                    monthPicker.Closed += (s1, e1) =>
                    {
                        if (monthPicker.DialogResult.HasValue && monthPicker.DialogResult.Value)
                        {
                            IsBusy = true;
                            foreach (var date in monthPicker.Dates)
                            {
                                var previousMonthKpi = mIssue.IssueKpis.FirstOrDefault(x => x.IssueId == mIssue.Id && x.Date == date.Date.AddMonths(-1));

                                var issueKpi = new IssueKpi {IssueId = mIssue.Id, Date = date.Date, LastModifiedDate = DateTime.Now, LastModifiedUserId = CMS.User.Id};

                                if (previousMonthKpi != null) issueKpi.KpiDescription = previousMonthKpi.KpiDescription; //Copy Kpi description from previous months

                                var newIssueKpiTableViewModel = new IssueKpiTableViewModel(issueKpi, IssueKpiVarianceCodes, mView,
                                    CanUserModifyActuals(), mIssueSetting);
                                newIssueKpiTableViewModel.ValueGenerationTargetReadOnly = mValueGenerationTargetReadOnly;
                                newIssueKpiTableViewModel.BaselineReadOnly = mBaselineReadOnly;

                                mIssueKpis.Add(newIssueKpiTableViewModel);
                                mIssue.IssueKpis.Add(issueKpi);
                            }
                            mTimer.Start();
                        }
                    };
                    monthPicker.Show();
                }
            }
        }
Esempio n. 5
0
        private void SaveIssueKpis(Issue issue, Issue originalIssue, CmsEntities cee)
        {
            log.Verbose("SaveIssueKpis()");
            //Delete SaveIssueKpis
            cee.DeleteWhere<IssueKpi>(cee, x => x.IssueId == issue.Id);

            cee.Configuration.AutoDetectChangesEnabled = false;

            //Save SaveIssueKpis
            foreach (IssueKpi issueKpi in issue.IssueKpis.ToList())
            {
                var newKpi = new IssueKpi
                {
                    IssueId = issue.Id,
                    Date = issueKpi.Date,
                    ValueGenerationActual = issueKpi.ValueGenerationActual,
                    ValueGenerationTarget = issueKpi.ValueGenerationTarget,
                    KpiBaseline = issueKpi.KpiBaseline,
                    KpiTarget = issueKpi.KpiTarget,
                    KpiActual = issueKpi.KpiActual,
                    KpiVarianceCodeId = issueKpi.KpiVarianceCodeId,
                    ValueGenerationVarianceCodeId = issueKpi.ValueGenerationVarianceCodeId,
                    KpiVarianceNote = issueKpi.KpiVarianceNote,
                    ValueGenerationVarianceNote = issueKpi.ValueGenerationVarianceNote,
                    KpiDescription = issueKpi.KpiDescription,
                    Verified = issueKpi.Verified,
                    VerifiedDate = issueKpi.VerifiedDate,
                    VerifiedUserId = issueKpi.VerifiedUserId,
                    LastModifiedDate = issueKpi.LastModifiedDate,
                    LastModifiedUserId = issueKpi.LastModifiedUserId,
                };
                originalIssue.IssueKpis.Add(newKpi);
            }
            cee.Configuration.AutoDetectChangesEnabled = true;
        }