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)); }
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); }
public MonthlyReturnSeries GetReturnSeries(FeeType feeType) { return(_returnSeries .FirstOrDefault(s => { return s.FeeType == feeType; })); }