public async Task <ActionResult> Pay(OrderModels orderDetails) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); var newOrder = cartManager.CreateOrder(orderDetails, userId); var user = await UserManager.FindByIdAsync(userId); var userOwnTable = db.Users.Where(x => x.Account_email == user.Email).SingleOrDefault(); userOwnTable.AccountData.City = orderDetails.Order_city; if (TryUpdateModel(userOwnTable)) { db.SaveChanges(); } await UserManager.UpdateAsync(user); cartManager.EmptyCart(); //maileService.WyslaniePotwierdzenieZamowieniaEmail(newOrder); return(RedirectToAction("OrderConfirmation")); } else { return(View(orderDetails)); } }
public async Task <ActionResult> Pay(Order orderDetail) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); var newOrder = cartManager.CreateOrder(orderDetail, userId); var user = await UserManager.FindByIdAsync(userId); TryUpdateModel(user.UserData); await UserManager.UpdateAsync(user); cartManager.EmptyCart(); string url = Url.Action("ConfirmOrderEmail", "Cart", new { orderId = newOrder.OrderId, lastName = newOrder.LastName }, Request.Url.Scheme); BackgroundJob.Enqueue(() => Call(url)); //mailService.SendConfirmationOrder(newOrder); return(RedirectToAction("ConfirmOrder")); } else { return(View(orderDetail)); } }
public async Task <ActionResult> Checkout(Order Orderdetalis) { if (ModelState.IsValid) { // Get user var userId = User.Identity.GetUserId(); // Save Order CartManager cartManager = new CartManager(this.sessionManager, this.db); var newOrder = cartManager.CreateOrder(Orderdetalis, userId); // Update profile information var user = await UserManager.FindByIdAsync(userId); TryUpdateModel(user.UserData); await UserManager.UpdateAsync(user); // Empty cart cartManager.EmptyCart(); return(RedirectToAction("OrderSuccess")); } else { return(View(Orderdetalis)); } }
public async Task <ActionResult> Purchase(Order orderDetails) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); var neworder = _cartManager.CreateOrder(orderDetails, userId); var user = await UserManager.FindByIdAsync(userId); TryUpdateModel(user.UserData); await UserManager.UpdateAsync(user); _cartManager.EmptyCart(); var order = _db.Orders.Include("OrderPositions") .Include("OrderPositions.Product") .SingleOrDefault(a => a.OrderId == neworder.OrderId); ConfirmOrderEmail email = new ConfirmOrderEmail { To = order.Email, From = "*****@*****.**", TotalValue = order.OrderValue, OrderNumber = order.OrderId, OrderPositions = order.OrderPositions }; email.Send(); return(RedirectToAction("ValidateOrder")); } else { return(View(orderDetails)); } }
public async Task <ActionResult> Pay(Order orderDetails) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); var newOrder = cartManager.CreateOrder(orderDetails, userId); var user = await UserManager.FindByIdAsync(userId); TryUpdateModel(user.UserData); await UserManager.UpdateAsync(user); cartManager.EmptyCart(); mailService.SendOrderConfirmationEmail(newOrder); return(RedirectToAction("OrderConfirmation")); } else { return(View(orderDetails)); } }
public async Task <ActionResult> Pay(Order details) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); var newOrder = cartMan.CreateOrder(details, userId); var user = await UserManager.FindByIdAsync(userId); TryUpdateModel(user.UserData); string url = Url.Action("OrderMailConfirm", "Cart", new { OrderItem = newOrder.OrderID, lastName = newOrder.LastName }, Request.Url.Scheme); BackgroundJob.Enqueue(() => Call(url)); // var zam = db.Order.Include("OrderItem").Include("OrderItem.Course").SingleOrDefault(o=>o.OrderID==newOrder.OrderID); // OrderConfirmEmail mail = new OrderConfirmEmail(); // mail.To = newOrder.Email; // mail.From = "*****@*****.**"; // mail.Value = newOrder.OrderValue; // mail.Items = zam.OrderItem; // mail.NrOrder = newOrder.OrderID; // mail.Send(); cartMan.EmptyCart(); return(RedirectToAction("OrderConfirm")); } else { return(View(details)); } }