Esempio n. 1
0
        public override void Handle(Message message, IMessageQueue sourceQueue)
        {
            var data = message.BodyAs <UserUnsubscribed>();

            _logger.LogInformation($"[{DateTime.Now}] Started: {data.EmailAddress}");

            var workflow = new UnsubscribeFulfilmentWorkflow(data.EmailAddress);

            workflow.Run();

            _logger.LogInformation($"[{DateTime.Now}] Finished: {data.EmailAddress}");
        }
Esempio n. 2
0
 static void Main(string[] args)
 {
     using (var queue = new msmq.MessageQueue(
                ".\\private$\\sixeyed.messagequeue.unsubscribe-fulfilment"))
     {
         queue.MulticastAddress = "234.1.1.2:8001";
         while (true)
         {
             Console.WriteLine("unsubscribe-fulfilment listening");
             var message = queue.Receive();
             var body    = message.BodyStream.ReadFromJson(message.Label);
             if (body.GetType() == typeof(UserUnsubscribed))
             {
                 var unsubscribedEvent = body as UserUnsubscribed;
                 Console.WriteLine("Received UserUnsubscribed event for: {0}, at: {1}", unsubscribedEvent.EmailAddress, DateTime.Now);
                 var workflow = new UnsubscribeFulfilmentWorkflow(unsubscribedEvent.EmailAddress);
                 workflow.Run();
                 Console.WriteLine("Processed UserUnsubscribed event for: {0}, at: {1}", unsubscribedEvent.EmailAddress, DateTime.Now);
             }
         }
     }
 }
        private static void Main(string[] args)
        {
            var queueAddress = ".\\private$\\sixeyed.messagequeue.unsubscribe-fulfilment";
            var properties   = new Dictionary <string, object>();

            properties.Add("MulticastAddress", "234.1.1.2:8001");
            using (var queue = MessageQueueFactory.CreateInbound(queueAddress, MessagePattern.PublishSubscribe, properties))
            {
                Console.WriteLine("Listening on: {0}", queueAddress);
                queue.Listen(x =>
                {
                    if (x.BodyType == typeof(UserUnsubscribed))
                    {
                        var unsubscribedEvent = x.BodyAs <UserUnsubscribed>();
                        Console.WriteLine("Starting UnsubscribeFulfilmentWorkflow for: {0}, at: {1}",
                                          unsubscribedEvent.EmailAddress, DateTime.Now.TimeOfDay);
                        var workflow = new UnsubscribeFulfilmentWorkflow(unsubscribedEvent.EmailAddress);
                        workflow.Run();
                        Console.WriteLine("Completed UnsubscribeFulfilmentWorkflow for: {0}, at: {1}",
                                          unsubscribedEvent.EmailAddress, DateTime.Now.TimeOfDay);
                    }
                });
            }
        }