public ActionResult AddOrder()
        {
            // Remove the item from the cart
            var cart     = ShoppingCart.GetCart(this.HttpContext);
            var lstItems = cart.GetCartItems();

            if (lstItems.Count > 0)
            {
                var  order     = new Order();
                var  oUser     = new SmartMarket.Web.Business.User();
                long userId    = oUser.GetUserId(User.Identity.Name);
                var  oCustomer = db.Customers.SingleOrDefault(c => c.UserId == userId);
                if (oCustomer != null)
                {
                    order.CustomerId = oCustomer.Id;
                    order.OrderDate  = DateTime.Now;
                    order            = db.Orders.Add(order);
                    db.SaveChanges();
                    if (cart.CreateOrder(order) == order.Id)
                    {
                        return
                            (Json(new { success = true, Message = "Order has been added successfully", OrderId = order.Id }));
                    }
                    db.Orders.Remove(order);
                    db.SaveChanges();
                    return(Json(new { success = false, Message = "Unable to add order right now!", OrderId = -1 }));
                }

                return(Json(new { success = false, Message = "Not a valid customer", OrderId = -1 }));
            }
            return(Json(new { success = false, Message = "The shopping cart is empty!", OrderId = -1 }));
        }
Exemple #2
0
 // We're using HttpContextBase to allow access to cookies.
 public long GetCartId(HttpContextBase context)
 {
     if (context.Session[CartSessionKey] == null)
     {
         if (!string.IsNullOrWhiteSpace(context.User.Identity.Name))
         {
             var  oUser  = new SmartMarket.Web.Business.User();
             long userId = oUser.GetUserId(context.User.Identity.Name);
             context.Session[CartSessionKey] = userId;
         }
         else
         {
             // Generate a new random GUID using System.Guid class
             Guid tempCartId = Guid.NewGuid();
             // Send tempCartId back to client as a cookie
             context.Session[CartSessionKey] = tempCartId.ToString();
         }
     }
     return(long.Parse(context.Session[CartSessionKey].ToString()));
 }