private static void HandleCreditBureauReply(CreditBureauReply creditBureauReply) { Console.WriteLine($"Received credit bureau reply regarding Cpr.Nr {creditBureauReply.CprNr}"); LoanQuoteRequest loanRequest; if (_loanQuoteRequests.TryGetValue(creditBureauReply.CprNr, out loanRequest)) { //Content Enriching var bankQuoteRequest = _messageTransformer.EnrichMessage(creditBureauReply, loanRequest); using (var messageGateway = new MessageGateway("host=localhost;timeout=60")) { messageGateway.Publish(bankQuoteRequest); } Console.WriteLine($"Sent request to all banks regarding Cpr.Nr {bankQuoteRequest.CprNr}"); _bankQuoteReplies.TryAdd(bankQuoteRequest.CprNr, new List <BankQuoteReply>()); var timer = new Timer(Timeout_Elapsed, bankQuoteRequest, 5000, Timeout.Infinite); } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Customer quote request could not be found when forwarding their details to the banks!"); Console.ResetColor(); } }
public BankQuoteRequest EnrichMessage(CreditBureauReply creditBureauReply, LoanQuoteRequest loanRequest) { return(new BankQuoteRequest { CprNr = creditBureauReply.CprNr, CreditScore = creditBureauReply.CreditScore, HistoryLength = creditBureauReply.HistoryLength, LoanAmount = loanRequest.LoanAmount, LoanTerm = loanRequest.LoanTerm }); }