Пример #1
0
        private IEnumerable <GenevaSmaOngoingDetailDataModel> BuildOngoingDetail()
        {
            const LkuRateType.RateType             rateType       = LkuRateType.RateType.Ongoing;
            const LkuCommissionType.CommissionType commissionType = LkuCommissionType.CommissionType.SMA;

            IEnumerable <GenevaSmaFlowsDataModel> flowItems = BuildFlowsDetail();
            var ogItems = new List <GenevaSmaOngoingDetailDataModel>();

            foreach (GenevaSmaAumDataModel item in AumItems)
            {
                RegionalDirectorRateInfoDataModel rdRateInfo = RegionalDirectorRateInfo(item.RM, (int)rateType, (int)commissionType);

                if (rdRateInfo != null)
                {
                    rdRateInfo.Rate = item.RM.IndexOf(',') > 0
                                          ? rdRateInfo.Rate / 2
                                          : rdRateInfo.Rate;

                    var flow      = FindFlowAmount(item.PortfolioCode);
                    var flowValue = flow.Inflows == null ? 0.0m : flow.Inflows;

                    var og = new GenevaSmaOngoingDetailDataModel()
                    {
                        SmaOngoing     = item.Id,
                        Portfolio      = item.PortfolioCode,
                        PortShortName  = item.PortfolioName,
                        RM             = item.RM,
                        ConsultantFirm = item.ConsultantFirm,
                        ConsultantName = item.ConsultantName,
                        Strategy       = item.Goal,
                        PortStartDate  = item.Inception,
                        AUM            = item.Total,
                        InFlows        = flowValue,
                        SeasonedValue  = item.Total - flowValue,
                        AnnualRate     = rdRateInfo.Rate / 4,
                        Rate           = rdRateInfo.Rate,
                        Commission     = (item.Total - flowValue) * (rdRateInfo.Rate / 4)
                    };

                    ogItems.Add(og);
                }
            }

            return(ogItems);
        }
Пример #2
0
        private IEnumerable <GenevaSmaOngoingDetailDataModel> BuildOngoingDetail()
        {
            const LkuRateType.RateType             rateType       = LkuRateType.RateType.Ongoing;
            const LkuCommissionType.CommissionType commissionType = LkuCommissionType.CommissionType.SMA;

            var ogItems = new List <GenevaSmaOngoingDetailDataModel>();

            foreach (GenevaSmaAumDataModel item in _aumItems.Where(o => o.Inception < _startDate))
            {
                var flow      = FindFlowAmount(item.PortfolioCode);
                var flowValue = flow?.FlowAmount ?? 0.0m;

                var rateInfo = GetRateInfo(item.IntMktPerson, item.Goal);
                var theRate  = rateInfo?.OngoingRate ?? 0.0m;

                var og = new GenevaSmaOngoingDetailDataModel()
                {
                    RegionalDirector = item.IntMktPerson,
                    IntMktPerson     = item.IntMktPerson,
                    Portfolio        = item.PortfolioCode,
                    PortShortName    = item.PortfolioName,
                    Inception        = item.Inception,
                    Goal             = item.Goal,
                    ConsultantFirm   = item.ConsultantFirm,
                    ConsultantName   = item.ConsultantName,
                    ReportEndDate    = _endDate,
                    Total            = item.Total,
                    InFlows          = flowValue,
                    SeasonedValue    = item.Total - flowValue,
                    Commission       = (item.Total - flowValue) * (theRate / 4),
                    Rate             = theRate / 4,
                    AnnualRate       = theRate
                };

                ogItems.Add(og);
            }

            return(ogItems);
        }