public ConfirmedOrderDetailDTO GetConfirmedOrderDetail(Guid orderId) { var ConfirmedOrderDetailDTO = new ConfirmedOrderDetailDTO(); var order = eCanteenEntities.Order.Where(o => o.Id.Equals(orderId)).FirstOrDefault(); ConfirmedOrderDetailDTO.Order = order; ConfirmedOrderDetailDTO.OrderedItems = new List <FoodItem>(); order.OrderItem = eCanteenEntities.OrderItem.Where(oi => oi.OrderId.Equals(orderId)).ToList(); ConfirmedOrderDetailDTO.Customer = eCanteenEntities.Customer.Where(c => c.Id.Equals(order.CustomerId)).FirstOrDefault(); order.OrderItem.ToList().ForEach(delegate(OrderItem orderItem) { var foodItem = eCanteenEntities.FoodItem.Where(fi => fi.Id.Equals(orderItem.FoodItemId)).FirstOrDefault(); var quantity = eCanteenEntities.OrderItem.Where(oi => oi.FoodItemId.Equals(foodItem.Id) && oi.OrderId.Equals(orderId)).FirstOrDefault().Quantity; ConfirmedOrderDetailDTO.OrderedItems.Add(new FoodItem { Id = orderItem.FoodItemId, Name = foodItem.Name + "(" + quantity + ")", Price = foodItem.Price * quantity }); }); ConfirmedOrderDetailDTO.Vendor = eCanteenEntities.Vendor.Where(v => v.Id.Equals(order.VenderId)).FirstOrDefault(); ConfirmedOrderDetailDTO.PaymentVia = eCanteenEntities.Payment.Where(p => p.OrderId.Equals(orderId)).FirstOrDefault().PaymentVia; SendOrderConfirmationSMS(ConfirmedOrderDetailDTO); SendOrderConfirmationMail(ConfirmedOrderDetailDTO); return(ConfirmedOrderDetailDTO); }
private static void SendOrderConfirmationMail(ConfirmedOrderDetailDTO confirmedOrderDetailDTO) { try { StringBuilder mailBody = new StringBuilder(); mailBody.Append("<style>.invoice-box {max-width: 800px;margin: auto;padding: 30px;border: 1px solid #eee;box-shadow: 0 0 10px rgba(0, 0, 0, .15);font-size: 16px;"); mailBody.Append("line-height: 24px;font-family: 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif;color: #555;background-color: white; }"); mailBody.Append(".invoice-box table {width: 100%;line-height: inherit;text-align: left;}.invoice-box table td {padding: 5px;vertical-align: top;}"); mailBody.Append(".invoice-box table tr td:nth-child(2) {text-align: right;}.invoice-box table tr.top table td { padding-bottom: 20px;}"); mailBody.Append(".invoice-box table tr.top table td.title {font-size: 45px;line-height: 45px;color: #333; }.invoice-box table tr.information table td {padding-bottom: 40px;}"); mailBody.Append(".invoice-box table tr.heading td {background: #eee;border-bottom: 1px solid #ddd;font-weight: bold;} .invoice-box table tr.details td {padding-bottom: 20px; }"); mailBody.Append(".invoice-box table tr.item td {border-bottom: 1px solid #eee;}.invoice-box table tr.item.last td {border-bottom: none;}"); mailBody.Append(".invoice-box table tr.total td:nth-child(2) {border-top: 2px solid #eee;font-weight: bold;}@media only screen and (max-width: 600px) {.invoice-box table tr.top table td {"); mailBody.Append("width: 100%;display: block;text-align: center;}.invoice-box table tr.information table td {width: 100%;display: block;text-align: center;}}</style>"); mailBody.Append("<div class='invoice-box'><table cellpadding='0' cellspacing='0'><tr class='top'><td colspan='2'><table><tr> <td class='title'>"); mailBody.Append("<img ng-src=;'" + confirmedOrderDetailDTO.Vendor.Logo + "' style='width:100%; max-width:300px;'></td> <td></td></tr></table></td></tr>"); mailBody.Append("<tr class='information'><td colspan='2'><table><tr><td>" + confirmedOrderDetailDTO.Vendor.Name + "<br>" + confirmedOrderDetailDTO.Vendor.ShopNo + "<br></td>"); mailBody.Append("<td>" + confirmedOrderDetailDTO.Vendor.Contact + "<br>" + confirmedOrderDetailDTO.Vendor.Email + "</td></tr></table></td></tr>"); mailBody.Append("<tr class='heading'><td>Payment Via</td><td></td></tr><tr class='details'><td>" + confirmedOrderDetailDTO.PaymentVia + "</td><td></td></tr><tr class='heading'>"); mailBody.Append("<td>Item</td><td>Price</td></tr>"); foreach (var fi in confirmedOrderDetailDTO.OrderedItems) { mailBody.Append("<tr class='item'><td>" + fi.Name + "</td><td>" + fi.Price.ToString() + " Rs.</td></tr>"); } mailBody.Append("<tr class='total'><td></td><td>Total (Incl all tax): " + confirmedOrderDetailDTO.Order.Total.ToString() + " Rs.</td></tr></table></div>"); MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient(ConfigurationManager.AppSettings["SMTP_SERVER"].ToString()); mail.From = new MailAddress(ConfigurationManager.AppSettings["SMTP_SENDER"].ToString()); mail.To.Add(confirmedOrderDetailDTO.Order.Customer.Email); mail.To.Add(confirmedOrderDetailDTO.Vendor.Email); //mail.To.Add("*****@*****.**"); mail.Subject = "Order No" + confirmedOrderDetailDTO.Order.Id.ToString() + "|" + confirmedOrderDetailDTO.Vendor.Name + "(no reply)"; mail.Body = mailBody.ToString(); mail.IsBodyHtml = true; SmtpServer.Port = 25; SmtpServer.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["SMTP_USERID"].ToString(), ConfigurationManager.AppSettings["SMTP_PASSWORD"].ToString()); //SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception ex) { log4net.ILog logger = log4net.LogManager.GetLogger(typeof(OrderDataAccess)); logger.Error(ex.Message); } }
private void SendOrderConfirmationSMS(ConfirmedOrderDetailDTO confirmedOrderDetailDTO) { try { string smsText = "Your order has been succesfully placed, thanks for ordering!"; string userName = "******"; string passwordField = "22207"; string companyNameField = confirmedOrderDetailDTO.Vendor.Name; string templateString = "Dear " + userName + ",Your Password is " + passwordField + ".Thanks and regards " + companyNameField + "."; WebRequest request = WebRequest.Create("http://www.smslane.com/vendorsms/pushsms.aspx?user=lprathour&password=22207&msisdn=" + confirmedOrderDetailDTO.Customer.Contact + "&sid=WEBSMS&msg=" + smsText + "&fl=0"); request.Method = "GET"; WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string str = reader.ReadLine(); } catch (Exception ex) { } }