Esempio n. 1
0
 private string FormatUrl(MortgageCalculationRequest request)
 {
     return(FormatUrl(
                request.PurchasePrice.ToString(), request.LoanTermYears.ToString(), request.DownPaymentPercent.ToString(),
                request.APR.ToString(), request.PropertyTaxRate.ToString(), request.HomeownerInsuranceRate.ToString(),
                (request.HOAMonthly * 12).ToString()
                ));
 }
Esempio n. 2
0
 public async Task <IActionResult> Calculate([FromBody] MortgageCalculationRequest request)
 {
     using (_logger.BeginScope(GetTransactionLoggingScope()))
     {
         _logger.LogInformation($"{nameof(Calculate)}" + " called with request {@request}");
         return(await Task.Run(() =>
         {
             var result = _mortgageCalculatorFacade.GetMortgageCalculation(request);
             return GetResultForMortageCalculation(result);
         }));
     }
 }
Esempio n. 3
0
 public CalculateNetCalculatorProvider(
     ILoggerFactory loggerFactory,
     IStringLocalizer <ValidationMessages> validationMessageLocalizer,
     IStringLocalizer <ErrorMessages> errorMessageLocalizer,
     IHttpClientProvider httpClientProvider,
     MortgageCalculationRequest request)
 {
     _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
     _logger        = _loggerFactory.CreateLogger <CalculateNetCalculatorProvider>();
     _validationMessageLocalizer = validationMessageLocalizer ?? throw new ArgumentNullException(nameof(validationMessageLocalizer));
     _errorMessageLocalizer      = errorMessageLocalizer ?? throw new ArgumentNullException(nameof(validationMessageLocalizer));
     _httpClientProvider         = httpClientProvider ?? throw new ArgumentNullException(nameof(httpClientProvider));
     _request = request ?? throw new ArgumentNullException(nameof(request));
 }
Esempio n. 4
0
        public async Task <IActionResult> CalcMortgageAsync([FromBody] MortgageCalculationRequest request)
        {
            try
            {
                ValidateRequest(request);
                var calc   = _calcFactory.GetCalculator(request);
                var result = await calc.CalculateAsync(request);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
 public MortgageCalculationResult(MortgageCalculationRequest request, List <string> validationErrors, List <string> errorMessages)
 {
     Request          = request;
     ValidationErrors = validationErrors ?? new List <string>();
     Errors           = errorMessages ?? new List <string>();
 }
 public MortgageCalculationResult(MortgageCalculationRequest request)
 {
     Request          = request ?? throw new ArgumentNullException(nameof(request));
     ValidationErrors = new List <string>();
     Errors           = new List <string>();
 }
Esempio n. 7
0
        public async Task <IActionResult> CalculatePaid([FromHeader] AuthorizationHeaders authHeaders, [FromBody] MortgageCalculationRequest request)
        {
            using (_logger.BeginScope(GetTransactionLoggingScope()))
            {
                _logger.LogInformation($"{nameof(CalculatePaid)}" + " called with request {@request}");
                if (!CheckAuthorizationHeadersForClientAndToken(authHeaders))
                {
                    return(GetBadRequestResponse());
                }

                if (_authorizationProvider.IsTokenStillValid(authHeaders.ClientId, authHeaders.AuthorizationToken))
                {
                    return(await Task.Run(() =>
                    {
                        var result = _mortgageCalculatorFacade.GetMortgageCalculation(request);
                        return GetResultForMortageCalculation(result);
                    }));
                }

                return(GetUnauthorizedResponse());
            }
        }