public async Task <LaanberegningJyskeBankProxyResponse> BeregnPris(LaanberegningProxyRequest request ) { var url = new StringBuilder(); url.Append("https://www.jyskebank.dk"); url.Append("/portletcontext-calculators/mortgageCalculationByPrice"); url.Append($"?price={request.Pris}"); url.Append($"&downPayment={request.Udbetaling}"); url.Append($"&housingType={request.BoligType}"); url.Append($"&durationInYears={request.Loebetid}"); url.Append($"&interestOnlyYears={request.Afdragsfrihed}"); url.Append($"&durationInYearsBankLoan={request.LoebetidBank}"); url.Append($"&mortgageProduct={request.Laanprodukt}"); var result = await _httpClientHelper.GetAsync(url.ToString()); //var result = await File.ReadAllTextAsync("d:\\temp\\response.json"); return(JsonConvert.DeserializeObject <LaanberegningJyskeBankProxyResponse>(result)); }
public LaanberegningResult MapToResultFromJyskeBank(LaanberegningProxyRequest proxyRequest, LaanberegningJyskeBankProxyResponse proxyResponse) { var realkreditlaan = proxyResponse.Calculations.First().Loans.First(); var banklaan = proxyResponse.Calculations.First().Loans.Length > 1 ? proxyResponse.Calculations.First().Loans?[1] : null; return(new LaanberegningResult { LaanproduktNavn = _laanproduktFacade.GetLaanproduktNavn(proxyRequest.Laanprodukt), SummeringLaan = new SummeringLaan { MdlYdelseFoerSkat = realkreditlaan.MonthlyPaymentBeforeTax.ToDecimal() + (banklaan?.MonthlyPaymentBeforeTax.ToDecimal() ?? 0), MdlYdelseEfterSkat = realkreditlaan.MonthlyPaymentAfterTax.ToDecimal() + (banklaan?.MonthlyPaymentAfterTax.ToDecimal() ?? 0), MdlAfdrag = realkreditlaan.MonthlyPrincipalPayment.ToDecimal() + (banklaan?.MonthlyPrincipalPayment.ToDecimal() ?? 0), Restgaeld = realkreditlaan.LoanPrincipal.ToDecimal() + (banklaan?.LoanPrincipal.ToDecimal() ?? 0), Tilbagebetaling = realkreditlaan.TotalRepayment.ToDecimal() + (banklaan?.TotalRepayment.ToDecimal() ?? 0), }, Realkreditlaan = new Realkreditlaan { Restgaeld = realkreditlaan.LoanPrincipal.ToDecimal(), Loebetid = realkreditlaan.LoanPeriod.ToDecimal(), MdlYdelseFoerSkat = realkreditlaan.MonthlyPaymentBeforeTax.ToDecimal(), MdlYdelseEfterSkat = realkreditlaan.MonthlyPaymentAfterTax.ToDecimal(), MdlAfdrag = realkreditlaan.MonthlyPrincipalPayment.ToDecimal(), Tilbagebetaling = realkreditlaan.TotalRepayment.ToDecimal(), AaopFoerSkatPct = realkreditlaan.AnnualCostInPercent.ToDecimal(3), AaopEfterSkatPct = realkreditlaan.AnnualCostInPercentAfterTax.ToDecimal(3), DebitorRentePct = realkreditlaan.DebtInterestRate.ToDecimal(3), AfdragsfrihedAar = realkreditlaan.InterestOnlyYears.ToInteger(), Betalinger = realkreditlaan.PaymentRows.Select(betaling => new Betaling { Dato = betaling.LoanPrincipalDate, YdelseFoerSkat = betaling.MonthlyPaymentBeforeTax.ToDecimal(), YdelseEfterSkat = betaling.MonthlyPaymentAfterTax.ToDecimal(), Afdrag = betaling.PrincipalPayment.ToDecimal(), Renter = betaling.Interest.ToDecimal(), Restgaeld = betaling.LoanPrincipal.ToDecimal() }) }, Banklaan = banklaan == null ? null : new Banklaan { Restgaeld = banklaan.LoanPrincipal.ToDecimal(), Loebetid = banklaan.LoanPeriod.ToDecimal(), MdlYdelseFoerSkat = banklaan.MonthlyPaymentBeforeTax.ToDecimal(), MdlYdelseEfterSkat = banklaan.MonthlyPaymentAfterTax.ToDecimal(), MdlAfdrag = banklaan.MonthlyPrincipalPayment.ToDecimal(), Tilbagebetaling = banklaan.TotalRepayment.ToDecimal(), AaopFoerSkatPct = banklaan.AnnualCostInPercent.ToDecimal(3), AaopEfterSkatPct = banklaan.AnnualCostInPercentAfterTax.ToDecimal(3), DebitorRentePct = banklaan.DebtInterestRate.ToDecimal(3), Betalinger = banklaan.PaymentRows.Select(betaling => new Betaling { Dato = betaling.LoanPrincipalDate, YdelseFoerSkat = betaling.MonthlyPaymentBeforeTax.ToDecimal(), YdelseEfterSkat = betaling.MonthlyPaymentAfterTax.ToDecimal(), Afdrag = betaling.PrincipalPayment.ToDecimal(), Renter = betaling.Interest.ToDecimal(), Restgaeld = betaling.LoanPrincipal.ToDecimal() }) } }); }