示例#1
0
        public ReturnResult CalculateReturn(
            CalculateReturnRequest request,
            FeeType feeType)
        {
            var netSeries = GetReturnSeries(feeType);

            if (netSeries == null)
            {
                var errorMessage = string.Format("Could not find '{0}' return series.", feeType.DisplayName);

                return(ReturnResult.CreateWithError(errorMessage));
            }

            return(netSeries.CalculateReturn(request));
        }
示例#2
0
        private MonthlyReturnSeries CreateReturnSeries(
            ReturnSeriesDto r)
        {
            var returnSeries = new MonthlyReturnSeries()
            {
                ReturnSeriesId = r.ReturnSeriesId,
                FeeType        = FeeType.FromCode(r.FeeTypeCode)
            };

            var returnsForSeries = _monthlyReturnDtos
                                   .Where(d => d.ReturnSeriesId == r.ReturnSeriesId);

            returnSeries.AddReturns(
                returnsForSeries.Select(CreateMonthlyReturn));

            return(returnSeries);
        }
示例#3
0
 public MonthlyReturnSeries GetReturnSeries(FeeType feeType)
 {
     return(_returnSeries
            .FirstOrDefault(s => { return s.FeeType == feeType; }));
 }