public AmortizationScheduleResponseDto Calculate(AmortizationScheduleRequestDto request) { var response = new AmortizationScheduleResponseDto(); var validator = new FrenchValidator(); var validationResult = validator.Validate(request); if (!validationResult.IsValid) { response = validationResult.ToErrorEntiti <ValidationResult, AmortizationScheduleResponseDto>(); return(response); } response.Status = 200; InitPeriods(ref response, request.AmortizationSchedule.NumberPayments); var previousPeriod = new PeriodEntiti(); response.AmortizationSchedule.PeriodsList.ToList().ForEach(period => { CalculatePeriod(ref period, request, previousPeriod); previousPeriod = period; }); return(response); }
private void InitPeriods(ref AmortizationScheduleResponseDto response, uint NumberPayments) { response.AmortizationSchedule = new AmortizationScheduleEntiti() { PeriodsList = new List <PeriodEntiti>() }; for (int iteration = 1; iteration <= NumberPayments; iteration++) { response.AmortizationSchedule.PeriodsList.Add(new PeriodEntiti() { NumPeriod = (uint)iteration }); } }
public AmortizationScheduleResponseDto Calculate(AmortizationScheduleRequestDto request) { var response = new AmortizationScheduleResponseDto(); return(response); }