Пример #1
0
        public ActionResult Create(string json)
        {
            Debug.WriteLine("receive json: " + json);
            if (User.Identity.IsAuthenticated)
            {
                var       userID   = User.Identity.GetUserId();
                var       newOrder = new RESERVE_PICK_UP();
                OrderData data     = JsonConvert.DeserializeObject <OrderData>(json);
                newOrder.PICK_UP_TIME  = DateTime.ParseExact(data.pickTime, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
                newOrder.ORDER_TIME    = DateTime.ParseExact(data.orderTime, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
                newOrder.RESTAURANT_ID = data.restaurantID;
                newOrder.ORDER_PRICE   = data.totalPrice;
                newOrder.TOTAL_ENERGY  = data.totalEnergy;
                newOrder.USER_ID       = userID;
                newOrder.STATE         = "waiting";


                var restTime = db.Restaurants.Find(newOrder.RESTAURANT_ID);
                if (newOrder.PICK_UP_TIME.TimeOfDay < restTime.OPENTIME || newOrder.PICK_UP_TIME.TimeOfDay > restTime.CLOSETIME)
                {
                    return(Json(new { result = "failed", reason = "Invalid Pick-up Time" }));
                }

                db.RESERVE_PICK_UP.Add(newOrder);
                db.SaveChanges();
                var newID = newOrder.ORDER_ID;
                Dictionary <int, int> dic = new Dictionary <int, int>();
                foreach (int i in data.itemIDs)
                {
                    if (dic.ContainsKey(i))
                    {
                        dic[i] += 1;
                    }
                    else
                    {
                        dic.Add(i, 1);
                    }
                }

                foreach (KeyValuePair <int, int> entry in dic)
                {
                    var newItem = new ORDER_ITEM();
                    newItem.ITEM_ID  = entry.Key;
                    newItem.ORDER_ID = newID;
                    newItem.QUANTITY = entry.Value;
                    var theItem = db.FOOD_ITEM.Find(entry.Key);
                    newItem.TOTAL_PRICE  = theItem.PRICE * entry.Value;
                    newItem.TOTAL_ENERGY = theItem.ENERGY * entry.Value;
                    db.ORDER_ITEM.Add(newItem);
                }
                db.SaveChanges();

                return(Json(new { result = "success" }));
            }
            else
            {
                return(Json(new { result = "failed" }));
            }
        }
Пример #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            RESERVE_PICK_UP rESERVE_PICK_UP = db.RESERVE_PICK_UP.Find(id);

            db.RESERVE_PICK_UP.Remove(rESERVE_PICK_UP);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #3
0
 public ActionResult Edit([Bind(Include = "ORDER_ID,USER_ID,RESTAURANT_ID,ORDER_TIME,PICK_UP_TIME,ORDER_PRICE,NO_OF_EATER,TOTAL_ENERGY,STATE,REMARKS")] RESERVE_PICK_UP rESERVE_PICK_UP)
 {
     if (ModelState.IsValid)
     {
         db.Entry(rESERVE_PICK_UP).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.RESTAURANT_ID = new SelectList(db.Restaurants, "RESTAURANT_ID", "RESTAURANT_NAME", rESERVE_PICK_UP.RESTAURANT_ID);
     ViewBag.USER_ID       = new SelectList(db.USERs, "USER_ID", "USERNAME", rESERVE_PICK_UP.USER_ID);
     return(View(rESERVE_PICK_UP));
 }
Пример #4
0
        // GET: RESERVE_PICK_UP/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RESERVE_PICK_UP rESERVE_PICK_UP = db.RESERVE_PICK_UP.Find(id);

            if (rESERVE_PICK_UP == null)
            {
                return(HttpNotFound());
            }
            return(View(rESERVE_PICK_UP));
        }
Пример #5
0
        // GET: RESERVE_PICK_UP/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RESERVE_PICK_UP rESERVE_PICK_UP = db.RESERVE_PICK_UP.Find(id);

            if (rESERVE_PICK_UP == null)
            {
                return(HttpNotFound());
            }
            ViewBag.RESTAURANT_ID = new SelectList(db.Restaurants, "RESTAURANT_ID", "RESTAURANT_NAME", rESERVE_PICK_UP.RESTAURANT_ID);
            ViewBag.USER_ID       = new SelectList(db.USERs, "USER_ID", "USERNAME", rESERVE_PICK_UP.USER_ID);
            return(View(rESERVE_PICK_UP));
        }