public void NotifyDeliveryCompletion(Guid pDeliveryId, Entities.DeliveryStatus status) { Order lAffectedOrder = RetrieveDeliveryOrder(pDeliveryId); UpdateDeliveryStatus(pDeliveryId, status); if (status == Entities.DeliveryStatus.Delivered) { Console.WriteLine("======================================================================="); Console.WriteLine("Message from DeliveryCo -> Order: " + pDeliveryId.ToString() + " has been Delivered"); Console.WriteLine("======================================================================="); EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that your order" + lAffectedOrder.OrderNumber + " has been delivered. Thank you for shopping at video store" }); } if (status == Entities.DeliveryStatus.Failed) { Console.WriteLine("Order:" + pDeliveryId.ToString() + " Failed"); EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = " !!!ALERT!!!\nOur records show that there was a problem" + lAffectedOrder.OrderNumber + " delivering your order. Please contact Video Store" }); } }
//public IEmailProvider EmailProvider //{ // get { return ServiceLocator.Current.GetInstance<IEmailProvider>(); } //} /*** * * Converted to use publisher service * * No email Provider! * * ***/ public void NotifyDeliveryCompletion(Guid pDeliveryId, Entities.DeliveryStatus status) { Order lAffectedOrder = RetrieveDeliveryOrder(pDeliveryId); UpdateDeliveryStatus(pDeliveryId, status); if (status == Entities.DeliveryStatus.Delivered) { //EmailProvider.SendMessage(new EmailMessage() //{ // ToAddress = lAffectedOrder.Customer.Email, // Message = "Our records show that your order" +lAffectedOrder.OrderNumber + " has been delivered. Thank you for shopping at video store" //}); Common.Model.SendEmailMessage emailMessage = new Common.Model.SendEmailMessage() { Topic = "Email", Message = "Our records show that your order" + lAffectedOrder.OrderNumber + " has been delivered. Thank you for shopping at video store", ToAddresses = lAffectedOrder.Customer.Email, Date = new DateTime() }; PublisherServiceClient lClient = new PublisherServiceClient(); lClient.Publish(emailMessage); } if (status == Entities.DeliveryStatus.Failed) { //EmailProvider.SendMessage(new EmailMessage() //{ // ToAddress = lAffectedOrder.Customer.Email, // Message = "Our records show that there was a problem" + lAffectedOrder.OrderNumber + " delivering your order. Please contact Video Store" //}); Common.Model.SendEmailMessage emailMessage = new Common.Model.SendEmailMessage() { Topic = "Email", Message = "Our records show that there was a problem" + lAffectedOrder.OrderNumber + " delivering your order. Please contact Video Store", ToAddresses = lAffectedOrder.Customer.Email, Date = new DateTime() }; PublisherServiceClient lClient = new PublisherServiceClient(); lClient.Publish(emailMessage); } }
public void NotifyDeliveryStatus(Guid pDeliveryId, Entities.DeliveryStatus status) { using (BookStoreEntityModelContainer lContainer = new BookStoreEntityModelContainer()) { Order lAffectedOrder = RetrieveDeliveryOrder(pDeliveryId); UpdateDeliveryStatus(pDeliveryId, status); if (status == Entities.DeliveryStatus.GoodsPicked) { Console.WriteLine("Message from DeliveryCo: Delivery " + pDeliveryId + "has been picked up from one of our warehouses."); EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that the goods for your order" + lAffectedOrder.OrderNumber + " have been picked up from the Warehouse and will arrive soon. Thank you for shopping at Book store." }); } if (status == Entities.DeliveryStatus.InTransit) { Console.WriteLine("Message from DeliveryCo: Delivery " + pDeliveryId + "is in transit."); EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that your order" + lAffectedOrder.OrderNumber + " is in transit and will arrive very soon. Thank you for shopping at Book store." }); } if (status == Entities.DeliveryStatus.Delivered) { Console.WriteLine("Message from DeliveryCo: Delivery " + pDeliveryId + "has been delivered. Thank you for using DeliveryCo."); EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that your order" + lAffectedOrder.OrderNumber + " has been delivered. Thank you for shopping at Book store." }); } if (status == Entities.DeliveryStatus.Failed) { Console.WriteLine("Message from DeliveryCo: Sorry, there was an issue with delivery " + pDeliveryId + ". Please contact DeliveryCo."); EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that there was a problem" + lAffectedOrder.OrderNumber + " delivering your order. Please contact Book Store." }); } } }
public void NotifyDeliveryCompletion(Guid pDeliveryId, Entities.DeliveryStatus status) { Order lAffectedOrder = RetrieveDeliveryOrder(pDeliveryId); // Delivery was deleted due to order cancellation if (lAffectedOrder == null) { return; } UpdateDeliveryStatus(pDeliveryId, status); if (status == Entities.DeliveryStatus.Delivered) { EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that your order " + lAffectedOrder.OrderNumber + " has been delivered. Thank you for shopping at Book store" }); Console.WriteLine("============Delivery Complete Notification============"); Console.WriteLine("Order Number: " + lAffectedOrder.OrderNumber); Console.WriteLine("Date: " + lAffectedOrder.OrderDate); Console.WriteLine("Status: SUCCESS"); Console.WriteLine("Time: " + DateTime.Now); Console.WriteLine("======================================================"); Console.WriteLine(" "); } if (status == Entities.DeliveryStatus.Failed) { EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that there was a problem " + lAffectedOrder.OrderNumber + " delivering your order. Please contact Book Store" }); Console.WriteLine("============Delivery Complete Notification============"); Console.WriteLine("Order Number: " + lAffectedOrder.OrderNumber); Console.WriteLine("Date: " + lAffectedOrder.OrderDate); Console.WriteLine("Status: FAILED"); Console.WriteLine("Time: " + DateTime.Now); Console.WriteLine("======================================================"); Console.WriteLine(" "); } }
public static Operations.DataStructures.DeliveryStatus ToServiceContract(Entities.DeliveryStatus status) { switch (status) { case Entities.DeliveryStatus.Cancelled: return(Operations.DataStructures.DeliveryStatus.Cancelled); case Entities.DeliveryStatus.Created: return(Operations.DataStructures.DeliveryStatus.Created); case Entities.DeliveryStatus.Finished: return(Operations.DataStructures.DeliveryStatus.Finished); case Entities.DeliveryStatus.InProgress: return(Operations.DataStructures.DeliveryStatus.InProgress); default: throw new ArgumentOutOfRangeException(nameof(status), $"The value of the {nameof(status)} is not among the acceptable values."); } }
public void NotifyDeliveryCompletion(Guid pDeliveryId, Entities.DeliveryStatus status) { Order lAffectedOrder = RetrieveDeliveryOrder(pDeliveryId); UpdateDeliveryStatus(pDeliveryId, status); if (status == Entities.DeliveryStatus.Delivered) { EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that your order" + lAffectedOrder.OrderNumber + " has been delivered. Thank you for shopping at video store" }); } if (status == Entities.DeliveryStatus.Failed) { EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that there was a problem" + lAffectedOrder.OrderNumber + " delivering your order. Please contact Video Store" }); } }
public void NotifyDeliveryCompletion(Guid pDeliveryId, Entities.DeliveryStatus status) { Order lAffectedOrder = RetrieveDeliveryOrder(pDeliveryId); UpdateDeliveryStatus(pDeliveryId, status); if (status == Entities.DeliveryStatus.Delivered) { EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that your order" + lAffectedOrder.OrderNumber + " has been delivered. Thank you for shopping at video store" }); } if (status == Entities.DeliveryStatus.Failed) { EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "The order " + lAffectedOrder.OrderNumber + " has been canceled, if you have any question please contact with us" }); } }
public void NotifyDeliveryCompletion(Guid pDeliveryId, Entities.DeliveryStatus status) { Order lAffectedOrder = RetrieveDeliveryOrder(pDeliveryId); UpdateDeliveryStatus(pDeliveryId, status); if (status == Entities.DeliveryStatus.Delivered) { try { EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that your order" + lAffectedOrder.OrderNumber + " has been delivered. Thank you for shopping at video store" }); } catch (EndpointNotFoundException) { Debug.WriteLine("There seems to be a problem with your email process. try turning it on to get the full email message."); } } if (status == Entities.DeliveryStatus.Failed) { try { EmailProvider.SendMessage(new EmailMessage() { ToAddress = lAffectedOrder.Customer.Email, Message = "Our records show that there was a problem" + lAffectedOrder.OrderNumber + " delivering your order. Please contact Book Store" }); } catch (EndpointNotFoundException) { Debug.WriteLine("There seems to be a problem with your email process. try turning it on to get the full email message."); } } }