Exemple #1
0
        public IHttpActionResult GetPaymentPlan(CalculationCreditModelForPaymentPlan request)
        {
            try
            {
                var credit = creditService.Get(request.CreditId);
                validationService.ValidateSum(request.Sum, credit.MinSum, credit.MaxSum, ModelState);
                validationService.ValidateMonthCount(request.MonthCount, credit.MinMonthPeriod, credit.MaxMonthPeriod, ModelState);
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var payments = calculationCreditService
                               .CalculatePaymentPlan(request.Sum, credit.PercentRate, request.MonthCount, request.StartDate);
                var viewPayments =
                    Mapper.Map <IEnumerable <DomainCreditPaymentPlanItem>, List <CreditPaymentPlanViewModel> >(payments);
                return(Ok(viewPayments));
            }
            catch (BankClientException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        public IHttpActionResult GetPaymentPlan(CalculationCreditModelForPaymentPlan request)
        {
            try
            {
                var credit = creditService.Get(request.CreditId);
                validationService.ValidateSum(request.Sum, credit.MinSum, credit.MaxSum, ModelState);
                validationService.ValidateMonthCount(request.MonthCount, credit.MinMonthPeriod, credit.MaxMonthPeriod, ModelState);
                if (!ModelState.IsValid)
                {
                    return BadRequest(ModelState);
                }

                var payments = calculationCreditService
                    .CalculatePaymentPlan(request.Sum, credit.PercentRate, request.MonthCount, request.StartDate);
                var viewPayments =
                    Mapper.Map<IEnumerable<DomainCreditPaymentPlanItem>, List<CreditPaymentPlanViewModel>>(payments);
                return Ok(viewPayments);
            }
            catch (BankClientException ex)
            {
                return BadRequest(ex.Message);
            }
            catch (Exception ex)
            {
                return InternalServerError(ex);
            }
        }