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);
        }
Example #2
0
 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);
        }