You are on page 1of 44

using (var bus = RabbitHutch.

CreateBus(”
host=localhost;username=guest;password=guest"))
{
}
host=localhost;username=guest;password=guest
public class CardPaymentRequestMessage
{
public string CardNumber { get; set; }
public string CardHolderName { get; set; }
public string ExpiryDate { get; set; }
public decimal Amount { get; set; }
}
var payment1 = new CardPaymentRequestMessage
{
CardNumber = "1234123412341234",
CardHolderName = "Mr F Bloggs",
ExpiryDate = "12/12",
Amount = 99.00m
};
using (var bus = RabbitHutch.CreateBus("host=localhost"))
{
bus.Publish(payment1);
bus.Publish(payment2);
bus.Publish(payment3);
bus.Publish(payment4);
}
public static void Main(string[] args)

using (var bus = RabbitHutch.CreateBus("host=localhost"))

bus.Subscribe<CardPaymentRequestMessage>("cardPayment",

HandleCardPaymentMessage);

Console.WriteLine("Listening for messages. Hit <return> to quit.");

Console.ReadLine();

} }
public static void Main(string[] args)

using (var bus = RabbitHutch.CreateBus("host=localhost"))

bus.Subscribe<CardPaymentRequestMessage>("cardPayment",

HandleCardPaymentMessage);

Console.WriteLine("Listening for messages. Hit <return> to quit.");

Console.ReadLine();

} }
public static void Main(string[] args)

using (var bus = RabbitHutch.CreateBus("host=localhost"))

bus.Subscribe<CardPaymentRequestMessage>("cardPayment",

HandleCardPaymentMessage);

Console.WriteLine("Listening for messages. Hit <return> to quit.");

Console.ReadLine();

} }
public static void Main(string[] args)

using (var bus = RabbitHutch.CreateBus("host=localhost"))

bus.Subscribe<CardPaymentRequestMessage>("cardPayment",

HandleCardPaymentMessage);

Console.WriteLine("Listening for messages. Hit <return> to quit.");

Console.ReadLine();

} }
public static void Main(string[] args)

using (var bus = RabbitHutch.CreateBus("host=localhost"))

bus.Subscribe<CardPaymentRequestMessage>("cardPayment",

HandleCardPaymentMessage);

Console.WriteLine("Listening for messages. Hit <return> to quit.");

Console.ReadLine();

} }
public static void Main(string[] args)

using (var bus = RabbitHutch.CreateBus("host=localhost"))

bus.Subscribe<CardPaymentRequestMessage>("cardPayment",

HandleCardPaymentMessage);

Console.WriteLine("Listening for messages. Hit <return> to quit.");

Console.ReadLine();

} }
using (var bus = RabbitHutch.CreateBus("host=localhost")){

bus.SubscribeAsync<CardPaymentRequestMessage>(

"cardPayment", message => Task.Factory.StartNew(() =>{

Console.WriteLine("Processing Payment.");

}).ContinueWith(task => {

if (task.IsCompleted && !task.IsFaulted){

Console.WriteLine("Finished processing all messages");

else{

throw new EasyNetQException("Message exception .");

})); }
using (var bus = RabbitHutch.CreateBus("host=localhost")){

bus.SubscribeAsync<CardPaymentRequestMessage>(

"cardPayment", message => Task.Factory.StartNew(() =>{

Console.WriteLine("Processing Payment.");

}).ContinueWith(task => {

if (task.IsCompleted && !task.IsFaulted){

Console.WriteLine("Finished processing all messages");

else{

throw new EasyNetQException("Message exception .");

})); }
using (var bus = RabbitHutch.CreateBus("host=localhost")){

bus.SubscribeAsync<CardPaymentRequestMessage>(

"cardPayment", message => Task.Factory.StartNew(() =>{

Console.WriteLine("Processing Payment.");

}).ContinueWith(task => {

if (task.IsCompleted && !task.IsFaulted){

Console.WriteLine("Finished processing all messages");

else{

throw new EasyNetQException("Message exception .");

})); }
using (var bus = RabbitHutch.CreateBus(”
host=localhost;publisherConfirms=true;timeout=10"))
{
Publish(bus, payment1);
Publish(bus, payment2);
Console.ReadLine();
}
using (var bus = RabbitHutch.CreateBus(”
host=localhost;publisherConfirms=true;timeout=10"))
{
Publish(bus, payment1);
Publish(bus, payment2);
Console.ReadLine();
}
public static void Publish(IBus bus,
CardPaymentRequestMessage message)
{
bus.PublishAsync(message).ContinueWith(task => {
if (task.IsCompleted && !task.IsFaulted) {
Console.WriteLine("Task completed .");}
if (task.IsFaulted) {
Console.WriteLine(task.Exception);}});
}
public static void Publish(IBus bus,
CardPaymentRequestMessage message)
{
bus.PublishAsync(message).ContinueWith(task => {
if (task.IsCompleted && !task.IsFaulted) {
Console.WriteLine("Task completed .");}
if (task.IsFaulted) {
Console.WriteLine(task.Exception);}});
}
public static void Publish(IBus bus,
CardPaymentRequestMessage message)
{
bus.PublishAsync(message).ContinueWith(task => {
if (task.IsCompleted && !task.IsFaulted) {
Console.WriteLine("Task completed .");}
if (task.IsFaulted) {
Console.WriteLine(task.Exception);}});
}
public static void Publish(IBus bus,
CardPaymentRequestMessage message)
{
bus.PublishAsync(message).ContinueWith(task => {
if (task.IsCompleted && !task.IsFaulted) {
Console.WriteLine("Task completed .");}
if (task.IsFaulted) {
Console.WriteLine(task.Exception);}});
}
public interface IPayment
{
decimal Amount { get; set; }
}
public class CardPayment : IPayment
{
public string CardNumber { get; set; }
public string CardHolderName { get; set; }
public string ExpiryDate { get; set; }

// Interface implementation
public decimal Amount { get; set; }
}
public class PurchaseOrder : IPayment
{
public string PoNumber { get; set; }
public string CompanyName { get; set; }
public int PaymentDayTerms { get; set; }

// Interface implementation
public decimal Amount { get; set; }
}
using (var bus = RabbitHutch.CreateBus("host=localhost"))
{
bus.Publish<IPayment>(cardPayment1);
bus.Publish<IPayment>(purchaseOrder1);
bus.Publish<IPayment>(cardPayment2);
bus.Publish<IPayment>(purchaseOrder2);
}
using (var bus = RabbitHutch.CreateBus("host=localhost"))
{
bus.Subscribe<IPayment>("payments",
message => HandleMessage(message));

Console.ReadLine();
}
using (var bus = RabbitHutch.CreateBus("host=localhost"))
{
bus.Subscribe<IPayment>("payments",
message => HandleMessage(message));

Console.ReadLine();
}
using (var bus = RabbitHutch.CreateBus("host=localhost"))
{
bus.Subscribe<IPayment>("payments",
message => HandleMessage(message));

Console.ReadLine();
}
private static void HandleMessage(IPayment message){

var cardPayment = message as CardPayment;

var purchaseOrder = message as PurchaseOrder;

if (cardPayment != null) { /* Do card activity */}

else if (purchaseOrder != null) { /* Do purchase order activity */ }

else {

Console.Out.WriteLine("Invalid message.");

}
private static void HandleMessage(IPayment message){

var cardPayment = message as CardPayment;

var purchaseOrder = message as PurchaseOrder;

if (cardPayment != null) { /* Do card activity */}

else if (purchaseOrder != null) { /* Do purchase order activity */ }

else {

Console.Out.WriteLine("Invalid message.");

}
[Queue("CardPaymentQueue",
ExchangeName = "CardPaymentExchange")]
public class CardPaymentNamedQueue{
public string CardNumber { get; set; }
public string CardHolderName { get; set; }
public string ExpiryDate { get; set; }
public decimal Amount { get; set; }
}

You might also like