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() )); }
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); })); } }
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)); }
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>(); }
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()); } }