/// <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);
            }
        }
Exemple #2
0
        /// <summary>
        /// Constructor that initializes the class
        /// </summary>
        /// <param name="param">DashboardGadgetParam</param>
        public ViewModelFinancialStatements(DashboardGadgetParam param)
        {
            logger                     = param.LoggerFacade;
            dbInteractivity            = param.DBInteractivity;
            eventAggregator            = param.EventAggregator;
            financialStatementType     = (FinancialStatementType)param.AdditionalInfo;
            EntitySelectionInfo        = param.DashboardGadgetPayload.EntitySelectionData;
            ExternalResearchVisibility = financialStatementType == FinancialStatementType.FUNDAMENTAL_SUMMARY ? Visibility.Collapsed : Visibility.Visible;

            //Event Subscription - PeriodColumnNavigationEvent
            PeriodColumns.PeriodColumnNavigate += new PeriodColumnNavigationEvent(PeriodColumns_PeriodColumnNavigate);

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