Пример #1
0
        public IHttpActionResult GetCapitalizationPlan(DepositModelForCapitalizationPlan request)
        {
            try
            {
                var deposit = depositService.Get(request.DepositId);
                validationService.ValidateSum(request.Sum, deposit.MinSum, deposit.MaxSum, ModelState);
                validationService.ValidateMonthCount(request.MonthCount, deposit.MinMonthPeriod, deposit.MaxMonthPeriod, ModelState);
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var plan = calculationDepositService.CalculateCapitalizationPlan(request.Sum, request.PercentRate, request.MonthCount, request.StartDate).ToList();
                return(Ok(plan));
            }
            catch (BankClientException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }