Beispiel #1
0
        public void PublishToSubscriber(Message pMessage)
        {
            var oService  = new OrderService();
            var dnService = new DeliveryNotificationService();

            if (pMessage.GetType() == typeof(TransferCompleteMessage))
            {
                var lMessage = pMessage as TransferCompleteMessage;
                var lVisitor = new TransferCompleteMessageToTransferCompleteItem();
                lMessage.Accept(lVisitor);
                oService.FundsTransferCompleted(lVisitor.Result);
            }
            else if (pMessage.GetType() == typeof(TransferErrorMessage))
            {
                var lMessage = pMessage as TransferErrorMessage;
                var lVisitor = new TransferErrorMessageToTransferErrorItem();
                lMessage.Accept(lVisitor);
                oService.FundsTransferFailed(lVisitor.Result);
            }
            else if (pMessage.GetType() == typeof(DeliverySubmittedMessage))
            {
                DeliverySubmittedMessage lMessage = pMessage as DeliverySubmittedMessage;
                var lVisitor = new DeliverySubmittedMessageToDeliverySubmittedItem();
                lMessage.Accept(lVisitor);
                oService.DeliverySubmitted(lVisitor.Result);
            }
            else if (pMessage.GetType() == typeof(DeliveryCompletedMessage))
            {
                DeliveryCompletedMessage lMessage = pMessage as DeliveryCompletedMessage;
                var lVisitor = new DeliveryCompletedMessageToDeliveryCompletedItem();
                lMessage.Accept(lVisitor);
                dnService.NotifyDeliveryCompletion(lVisitor.Result.DeliveryIdentifier, (DeliveryInfoStatus)lVisitor.Result.Status);
            }
        }
Beispiel #2
0
 public void Visit(IVisitable pVisitable)
 {
     if (pVisitable is DeliveryCompletedMessage)
     {
         DeliveryCompletedMessage lMsg = pVisitable as DeliveryCompletedMessage;
         Result = new DeliveryCompletedItem
         {
             SourceAddress               = lMsg.SourceAddress,
             DestinationAddress          = lMsg.DestinationAddress,
             OrderNumber                 = lMsg.OrderNumber,
             DeliveryIdentifier          = lMsg.DeliveryIdentifier,
             DeliveryNotificationAddress = lMsg.DeliveryNotificationAddress,
             Status = lMsg.Status
         };
     }
 }
Beispiel #3
0
 public void Visit(IVisitable pVisitable)
 {
     if (pVisitable is DeliveryCompletedInfo)
     {
         DeliveryCompletedInfo lMsg = pVisitable as DeliveryCompletedInfo;
         Result = new DeliveryCompletedMessage()
         {
             SourceAddress               = lMsg.DeliveryInfo.SourceAddress,
             DestinationAddress          = lMsg.DeliveryInfo.DestinationAddress,
             OrderNumber                 = lMsg.DeliveryInfo.OrderNumber,
             DeliveryIdentifier          = lMsg.DeliveryInfo.DeliveryIdentifier,
             DeliveryNotificationAddress = lMsg.DeliveryInfo.DeliveryNotificationAddress,
             Status = lMsg.DeliveryInfo.Status,
             Topic  = lMsg.Topic
         };
     }
 }