Ejemplo n.º 1
0
        public async System.Threading.Tasks.Task <ActionResult> AddressAndPayment(FormCollection values)
        {
            var order = new Order();

            TryUpdateModel(order);
            try
            {
                order.Username   = User.Identity.Name;
                order.OrderDate  = DateTime.Now;
                order.OrderState = "Pending";
                order.UserId     = storeDB.Users.Where(x => x.Username == System.Web.HttpContext.Current.User.Identity.Name).FirstOrDefault().UserId;
                order.Email      = storeDB.Users.Where(x => x.Username == System.Web.HttpContext.Current.User.Identity.Name).FirstOrDefault().Email;
                storeDB.Orders.Add(order);
                storeDB.SaveChanges();

                var cart = ShoppingCart.GetCart(this.HttpContext);
                cart.CreateOrder(order);
                EmailHandler email = new EmailHandler();
                await email.OrderEmail(order);

                return(RedirectToAction("Complete", "Checkout", new { id = order.OrderId }));
            }
            catch (Exception ex)
            {
                return(View(order));
            }
        }