Esempio n. 1
0
        public IHttpActionResult PostORDER_ITEM(ORDER_ITEM oRDER_ITEM)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.ORDER_ITEM.Add(oRDER_ITEM);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (ORDER_ITEMExists(oRDER_ITEM.ITEM_ID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = oRDER_ITEM.ITEM_ID }, oRDER_ITEM));
        }
Esempio n. 2
0
        public IHttpActionResult PutORDER_ITEM(int id, ORDER_ITEM oRDER_ITEM)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != oRDER_ITEM.ITEM_ID)
            {
                return(BadRequest());
            }

            db.Entry(oRDER_ITEM).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ORDER_ITEMExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Esempio n. 3
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" }));
            }
        }
Esempio n. 4
0
        public IHttpActionResult GetORDER_ITEM(int id)
        {
            ORDER_ITEM oRDER_ITEM = db.ORDER_ITEM.Find(id);

            if (oRDER_ITEM == null)
            {
                return(NotFound());
            }

            return(Ok(oRDER_ITEM));
        }
Esempio n. 5
0
        public IHttpActionResult DeleteORDER_ITEM(int id)
        {
            ORDER_ITEM oRDER_ITEM = db.ORDER_ITEM.Find(id);

            if (oRDER_ITEM == null)
            {
                return(NotFound());
            }

            db.ORDER_ITEM.Remove(oRDER_ITEM);
            db.SaveChanges();

            return(Ok(oRDER_ITEM));
        }