public ActionResult SendConfirmationEmail(int orderid, string lastname) { // orderid and lastname as a basic form of auth // Also might be called by scheduler (ie. Azure scheduler), pinging endpoint and using some kind of queue / db // This could also be used (but problems when hosted on Azure Websites) // if (Request.IsLocal) var order = db.Orders.Include("ResultsOfOrderGRList").SingleOrDefault(o => o.OrderId == orderid && o.Email == lastname); if (order == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.Cost = order.TotalPrice; email.OrderNumber = order.OrderId; email.ResultsOfOrderGRList = order.ResultsOfOrderGRList; email.CoverPath = AppConfig.PhotosFolderRelative; email.Send(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public void SendOrderConfirmationEmail(Order order) { OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.Cost = order.SummaryPrice; email.Address = string.Format("{0} {1} {2}, {3}, {4}", order.Country, order.City, order.CityCode, order.Street, order.ApartmentNumber); email.Send(); }
// Methods to set important data send via email public void OrderConfirmaitonMessage(Order order) { OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.EMail; email.From = ""; email.Value = order.OrderValue; email.OrderNumber = order.OrderId; email.ItemPositions = order.ItemPosition; email.Send(); }
public void SendOrderConfirmationEmail(Order order) { HostingEnvironment.QueueBackgroundWorkItem(ct => { OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.Cost = order.SummaryPrice; email.Address = string.Format("{0} {1} {2}, {3}, {4}", order.Country, order.City, order.CityCode, order.Street, order.ApartmentNumber); email.Send(); }); }
public void SendOrderConfirmationEmail(Models.Order order) { // Strongly typed - without background OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.Cost = order.TotalPrice; email.OrderNumber = order.OrderId; //email.OrderItems = order.OrderItems; email.ResultsOfOrderGRList = order.ResultsOfOrderGRList; email.CoverPath = AppConfig.PhotosFolderRelative; email.Send(); }
public void SendMailOfOrderConfirmation(Order order) { OrderConfirmationEmail email = new OrderConfirmationEmail() { To = order.Email, From = "*****@*****.**", OrderValue = order.Value, OrderNumber = order.OrderID, OrderDetails = order.OrderDetails }; email.Send(); }
public void SendOrderConfirmationEmail(Models.Order order) { // Strongly typed - without background OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.Cost = order.TotalPrice; email.OrderNumber = order.OrderId; email.FullAddress = string.Format("{0} {1}, {2}, {3}", order.FirstName, order.LastName, order.Address, order.CodeAndCity); email.OrderItems = order.OrderItems; email.CoverPath = AppConfig.PhotosFolderRelative; email.Send(); }
public void SendOrderConfirmationEmail(Order newOrder) { var order = db.Orders.Include("OrderItems").Include("OrderItems.Course").SingleOrDefault(o => o.OrderId == newOrder.OrderId && o.LastName == newOrder.LastName); OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.From = "*****@*****.**"; email.Value = order.OrderValue; email.OrderNumber = order.OrderId; email.OrderItems = order.OrderItems; email.ImagePath = AppConfig.ImageFolder; email.Send(); }
public void SendOrderConfirmationEmail(Models.Order order) { HostingEnvironment.QueueBackgroundWorkItem(ct => { OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.Cost = order.TotalPrice; email.OrderNumber = order.OrderId; email.ResultsOfOrderGRList = order.ResultsOfOrderGRList; email.OrderItems = order.OrderItems; email.CoverPath = AppConfig.PhotosFolderRelative; email.Send(); }); }
public ActionResult SendOrderConfirmationEmail(int orderID, string surname) { var order = db.Orders.Include("OrderItems").SingleOrDefault(a => a.OrderID == orderID && a.Surname == surname); if (order == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.Cost = order.SummaryPrice; email.Address = string.Format("{0} {1} {2}, {3}, {4}", order.Country, order.City, order.CityCode, order.Street, order.ApartmentNumber); email.Send(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public ActionResult OrderConfirmationEmail(int orderId, string lastName) { var order = db.Orders.Include("OrderItems").Include("OrderItems.Course").SingleOrDefault(o => o.OrderId == orderId && o.LastName == lastName); if (order == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.From = "*****@*****.**"; email.Value = order.OrderValue; email.OrderNumber = order.OrderId; email.OrderItems = order.OrderItems; email.Send(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public ActionResult OrderConfirmaitonMessage(int orderId, string surname) { var order = db.Orders.Include("ItemPosition").Include("ItemPosition.Item") .SingleOrDefault(o => o.OrderId == orderId && o.Surname == surname); if (order == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.EMail; email.From = ""; email.Value = order.OrderValue; email.OrderNumber = order.OrderId; email.ItemPositions = order.ItemPosition; email.Send(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public ActionResult ConfirmOrderEmail(int orderId, string lastName) { var order = db.Orders.Include("OrderPosition").Include("OrderPosition.Course").SingleOrDefault(o => o.OrderId == orderId && o.LastName == lastName); if (order == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } var email = new OrderConfirmationEmail(); email.To = order.Email; email.From = "*****@*****.**"; email.Value = order.OrderValue; email.OrderNumber = order.OrderId; email.OrderPosition = order.OrderPosition; email.Send(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public ActionResult SendMailOfOrderConfirmation(int orderID, string lastName) { var order = _db.Orders.Include(o => o.OrderDetails).Include(o => o.OrderDetails.Select(od => od.Model)).SingleOrDefault(o => o.OrderID == orderID && o.LastName == lastName); if (order == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } OrderConfirmationEmail email = new OrderConfirmationEmail() { To = order.Email, From = "*****@*****.**", OrderValue = order.Value, OrderNumber = order.OrderID, OrderDetails = order.OrderDetails }; email.Send(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public async Task <ActionResult> Pay(Order orderDetails) { if (ModelState.IsValid) { // pobieramy iduzytkownika aktualnie zalogowanego var userId = User.Identity.GetUserId(); // utworzenie biektu zamowienia na podstawie tego co mamy w koszyku var newOrder = cartMenager.CreateOrder(orderDetails, userId); // szczegóły użytkownika - aktualizacja danych var user = await UserManager.FindByIdAsync(userId); TryUpdateModel(user.UserData); await UserManager.UpdateAsync(user); // opróżnimy nasz koszyk zakupów cartMenager.EmptyCart(); var order = db.Orders.Include("PositionsOrder").Include("PositionsOrder.Audiobook") .SingleOrDefault(o => o.OrderId == newOrder.OrderId); OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.From = "*****@*****.**"; email.OrderValue = order.OrderValue; email.OrderId = order.OrderId; email.PositionsOrder = order.PositionsOrder; email.Send(); return(RedirectToAction("OrderConfirmation")); } else { return(View(orderDetails)); } }
public async Task <ActionResult> Checkout(Order orderdetails) { if (ModelState.IsValid) { // logger.Info("Checking out"); // Get user var userId = User.Identity.GetUserId(); // Save Order ShoppingCartManager shoppingCartManager = new ShoppingCartManager(this.sessionManager, this.db); //pobierze dane zamowienia i id usera i powiaze je ze soba var newOrder = shoppingCartManager.CreateOrder(orderdetails, userId); // Update profile information var user = await UserManager.FindByIdAsync(userId); TryUpdateModel(user.UserData); await UserManager.UpdateAsync(user); // Empty cart shoppingCartManager.EmptyCart(); // Send mail confirmation // Refetch - need also products details //var order = db.Orders.Include("OrderItems").SingleOrDefault(o => o.OrderId == newOrder.OrderId); //zwroci wypelnione wlasciwowsci nawigacyjne //dot. produktu i zamowienia var order = db.Orders.Include("OrderItems").Include("OrderItems.Product").SingleOrDefault(o => o.OrderId == newOrder.OrderId); //imailservice mailservice = new hangfirepostalmailservice(); //mailservice.sendorderconfirmationemail(order); // this.mailservice.sendorderconfirmationemail(order); string url = Url.Action("SendConfirmationEmail", "Manage", new { orderid = newOrder.OrderId, lastname = newOrder.LastName }, Request.Url.Scheme); //// hangfire - nice one (if asp.net app will be still running) //BackgroundJob.Enqueue(() => Helpers.CallUrl(url)); //// Strongly typed - without background //ze strony postal OrderConfirmationEmail email = new OrderConfirmationEmail(); email.To = order.Email; email.Cost = order.TotalPrice; email.OrderNumber = order.OrderId; email.FullAddress = string.Format("{0} {1}, {2}, {3}", order.FirstName, order.LastName, order.Address, order.CodeAndCity); email.OrderItems = order.OrderItems; email.CoverPath = AppConfig.PhotosFolderRelative; email.Send(); return(RedirectToAction("OrderConfirmation")); //return new PartialViewAsPdf("_Checkout", order); } else { return(View(orderdetails)); } }