예제 #1
0
        /// <summary>
        /// PeriodColumnNavigationEvent Event Handler
        /// </summary>
        /// <param name="e">PeriodColumnNavigationEventArg</param>
        private void PeriodColumns_PeriodColumnNavigate(PeriodColumnNavigationEventArg e)
        {
            //validate namespace before implementation
            if (e.PeriodColumnNamespace == GetType().FullName&& IsActive)
            {
                BusyIndicatorNotification(true, "Retrieving data for updated period range");
                Iterator = e.PeriodColumnNavigationDirection == NavigationDirection.LEFT ? Iterator - 1 : Iterator + 1;
                PeriodRecord periodRecord = PeriodColumns.SetPeriodRecord(incrementFactor: Iterator, defaultHistoricalYearCount: 3
                                                                          , defaultHistoricalQuarterCount: 4, netColumnCount: 6, isQuarterImplemented: true);

                var nList = FinancialStatementInfo.Where(record => record.IsConsensus == "N").ToList();
                this.SetDecimals(nList, 1);

                FinancialStatementDisplayInfo = PeriodColumns.SetPeriodColumnDisplayInfo <FinancialStatementData>(nList, out periodRecord, periodRecord, subGroups: null, updatePeriodRecord: true);
                if (financialStatementType != FinancialStatementType.FUNDAMENTAL_SUMMARY)
                {
                    var yList = FinancialStatementInfo.Where(record => record.IsConsensus == "Y").ToList();
                    this.SetDecimals(yList, 1);
                    FinancialStatementExtDisplayInfo = PeriodColumns.SetPeriodColumnDisplayInfo <FinancialStatementData>(yList, out periodRecord, periodRecord, updatePeriodRecord: false);
                }
                PeriodRecord       = periodRecord;
                PeriodColumnHeader = PeriodColumns.SetColumnHeaders(PeriodRecord);
                BusyIndicatorNotification();
            }
        }
        /// <summary>
        /// Constructor
        /// </summary>
        public ViewModelFundamentalSummary(DashboardGadgetParam param)
        {
            _logger                 = param.LoggerFacade;
            _dbInteractivity        = param.DBInteractivity;
            _eventAggregator        = param.EventAggregator;
            EntitySelectionInfo     = param.DashboardGadgetPayload.EntitySelectionData;
            _financialStatementType = (FinancialStatementType)param.AdditionalInfo;

            PeriodColumns.PeriodColumnNavigate += (e) =>
            {
                if (e.PeriodColumnNamespace == GetType().FullName)
                {
                    BusyIndicatorNotification(true, "Retrieving data for updated time span");
                    PeriodRecord periodRecord = new PeriodRecord();

                    FinancialStatementDisplayInfo = PeriodColumns.SetPeriodColumnDisplayInfo(FinancialStatementInfo, out periodRecord,
                                                                                             PeriodColumns.SetPeriodRecord(e.PeriodColumnNavigationDirection == PeriodColumns.NavigationDirection.LEFT
                            ? --Iterator : ++Iterator));

                    PeriodRecord       = periodRecord;
                    PeriodColumnHeader = PeriodColumns.SetColumnHeaders(PeriodRecord);
                    BusyIndicatorNotification();
                }
            };

            if (_eventAggregator != null)
            {
                _eventAggregator.GetEvent <SecurityReferenceSetEvent>().Subscribe(HandleSecurityReferenceSetEvent);
            }

            if (EntitySelectionInfo != null)
            {
                HandleSecurityReferenceSetEvent(EntitySelectionInfo);
            }
        }
예제 #3
0
        /// <summary>
        /// Constructor
        /// </summary>
        public ViewModelValuations(DashboardGadgetParam param)
        {
            dbInteractivity = param.DBInteractivity;
            logger          = param.LoggerFacade;
            eventAggregator = param.EventAggregator;

            PeriodColumns.PeriodColumnNavigate += (e) =>
            {
                if (e.PeriodColumnNamespace == GetType().FullName)
                {
                    BusyIndicatorNotification(true, "Retrieving data for updated time span");
                    Iterator = e.PeriodColumnNavigationDirection == NavigationDirection.LEFT ? Iterator - 1 : Iterator + 1;
                    PeriodRecord periodRecord = PeriodColumns.SetPeriodRecord(Iterator, defaultHistoricalYearCount: 2, defaultHistoricalQuarterCount: 2, netColumnCount: 5);
                    ConsensusEstimateDetailDisplayInfo = PeriodColumns.SetPeriodColumnDisplayInfo(ConsensusEstimateDetailInfo, out periodRecord,
                                                                                                  periodRecord, subGroups: DataGrouping);
                    PeriodRecord       = periodRecord;
                    PeriodColumnHeader = PeriodColumns.SetColumnHeaders(PeriodRecord, displayPeriodType: false);
                    BusyIndicatorNotification();
                }
            };

            EntitySelectionInfo = param.DashboardGadgetPayload.EntitySelectionData;
            if (eventAggregator != null)
            {
                eventAggregator.GetEvent <SecurityReferenceSetEvent>().Subscribe(HandleSecurityReferenceSetEvent);
            }
            if (EntitySelectionInfo != null)
            {
                HandleSecurityReferenceSetEvent(EntitySelectionInfo);
            }
        }
예제 #4
0
        /// <summary>
        /// Set Display Data
        /// </summary>
        public void SetConsensusEstimateMedianDisplayInfo()
        {
            BusyIndicatorNotification(true, "Updating information based on selected preference");
            PeriodRecord periodRecord = PeriodColumns.SetPeriodRecord(Iterator, defaultHistoricalYearCount: 2, defaultHistoricalQuarterCount: 2, netColumnCount: 5);

            ConsensusEstimateDetailDisplayInfo = PeriodColumns.SetPeriodColumnDisplayInfo(ConsensusEstimateDetailInfo, out periodRecord, periodRecord, subGroups: DataGrouping);
            PeriodRecord       = periodRecord;
            PeriodColumnHeader = PeriodColumns.SetColumnHeaders(PeriodRecord, false);
            BusyIndicatorNotification();
        }
        /// <summary>
        /// Sets COA Specific Display Info on the grid
        /// </summary>
        public void SetCOASpecificDisplayInfo()
        {
            BusyIndicatorNotification(true, "Updating information based on selected preference");
            PeriodRecord periodRecord = PeriodColumns.SetPeriodRecord(Iterator, 3, 4, 6, false);

            COASpecificDisplayInfo = PeriodColumns.SetPeriodColumnDisplayInfo(COASpecificInfo, out periodRecord, periodRecord, subGroups: null);
            PeriodRecord           = periodRecord;
            PeriodColumnHeader     = PeriodColumns.SetColumnHeaders(PeriodRecord, true);
            BusyIndicatorNotification();
        }
예제 #6
0
        /// <summary>
        /// method to create display data
        /// </summary>
        public void SetFinstatDetailDisplayInfo()
        {
            BusyIndicatorNotification(true, "Updating information based on selected preference");
            PeriodRecord periodRecord = PeriodColumns.SetPeriodRecord(Iterator, defaultHistoricalYearCount: 4, netColumnCount: 7, isQuarterImplemented: false);

            FinstatDetailDisplayInfo = PeriodColumns.SetPeriodColumnDisplayInfo(FinstatDetailInfo, out periodRecord,
                                                                                periodRecord, uniqueByGroupDesc: true, additionalFirstDescPropertyName: "HarmonicFirst", additionalSecondDescPropertyName: "HarmonicSecond", addPercentSign: false);
            PeriodRecord       = periodRecord;
            PeriodColumnHeader = PeriodColumns.SetColumnHeaders(PeriodRecord, displayPeriodType: false);
            BusyIndicatorNotification();
        }
        public void SetFinancialStatementDisplayInfo()
        {
            BusyIndicatorNotification(true, "Updating Financial Statement Information based on selected preference");

            PeriodRecord periodRecord = new PeriodRecord();

            FinancialStatementDisplayInfo = PeriodColumns.SetPeriodColumnDisplayInfo(FinancialStatementInfo, out periodRecord,
                                                                                     PeriodColumns.SetPeriodRecord(Iterator));
            PeriodRecord       = periodRecord;
            PeriodColumnHeader = PeriodColumns.SetColumnHeaders(PeriodRecord);

            BusyIndicatorNotification();
        }
예제 #8
0
        /// <summary>
        /// create display information
        /// </summary>
        public void SetConsensusEstimatePivotDisplayInfo()
        {
            BusyIndicatorNotification(true, "Updating information based on selected preference");
            PeriodRecord periodRecord = PeriodColumns.SetPeriodRecord(Iterator, defaultHistoricalYearCount: 2, defaultHistoricalQuarterCount: 2, netColumnCount: 5);
            List <PeriodColumnDisplayData> estimateDetailPivotInfo = PeriodColumns.SetPeriodColumnDisplayInfo(ConsensusEstimateDetailInfo, out periodRecord,
                                                                                                              periodRecord, subGroups: DataGrouping);
            List <PeriodColumnDisplayData> brokerDetailPivotInfo = PeriodColumns.SetPeriodColumnDisplayInfo(BrokerDetailUnpivotInfo, out periodRecord,
                                                                                                            periodRecord, uniqueByGroupDesc: true);

            estimateDetailPivotInfo.AddRange(brokerDetailPivotInfo);
            ConsensusEstimateDetailDisplayInfo = estimateDetailPivotInfo;

            PeriodRecord       = periodRecord;
            PeriodColumnHeader = PeriodColumns.SetColumnHeaders(PeriodRecord, displayPeriodType: false);
            BusyIndicatorNotification();
        }
예제 #9
0
        /// <summary>
        /// Sets financial statement display info
        /// </summary>
        public void SetFinancialStatementDisplayInfo()
        {
            BusyIndicatorNotification(true, "Updating Financial Statement Information based on selected preference");

            PeriodRecord periodRecord = PeriodColumns.SetPeriodRecord(Iterator);
            var          nList        = FinancialStatementInfo.Where(record => record.IsConsensus == "N").ToList();

            this.SetDecimals(nList, 1);
            FinancialStatementDisplayInfo = PeriodColumns.SetPeriodColumnDisplayInfo <FinancialStatementData>(nList, out periodRecord, periodRecord);

            if (financialStatementType != FinancialStatementType.FUNDAMENTAL_SUMMARY)
            {
                var yList = FinancialStatementInfo.Where(record => record.IsConsensus == "Y").ToList();
                this.SetDecimals(yList, 1);
                FinancialStatementExtDisplayInfo = PeriodColumns.SetPeriodColumnDisplayInfo <FinancialStatementData>(yList, out periodRecord, periodRecord, updatePeriodRecord: false);
            }
            PeriodRecord       = periodRecord;
            PeriodColumnHeader = PeriodColumns.SetColumnHeaders(PeriodRecord);
            BusyIndicatorNotification();
        }