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); }
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); }