public void Handle(CreditScoreRequest message) { Console.WriteLine("I just handled request {0}", message.CreditCardApplicationId); var response = new CreditScoreResponse(message.CreditCardApplicationId); response.CreditScore = 750; //score returned from credit bureau response.CreditBureau = message.CreditBureau; Bus.Reply(response); }
public void Handle(CreditScoreResponse message) { LogDebugInfo(message.CreditCardApplicationId, message); if (message.CreditScore > 600) { Bus.Publish <ICreditCardCreatedEvent>(e => { e.CreditCardApplicationId = Data.CreditCardApplicationId; e.CardNumber = "1234-5678-9012-3456"; //simulate process for finding next available number }); } else { Bus.Publish <ICreditCardApplicationDeclinedEvent>(@event => { @event.CreditCardApplicationId = Data.CreditCardApplicationId; @event.Reason = "Insufficient credit score of " + message.CreditScore; }); } MarkAsComplete(); }