Exemplo n.º 1
0
        // GET: odata/ItemsOfOrdersByOrder(5)
        //[EnableQuery]
        //public IQueryable<ItemsOfOrder> GetItemOfOrders(int key)
        //{
        //    return db.ItemsOfOrders.Where(itemOfOrder => itemOfOrder.OrderID == key);
        //}

        // POST: odata/ItemsOfOrder
        public async Task <IHttpActionResult> Post(ItemsOfOrder itemsOfOrder)
        {
            db.ItemsOfOrders.Add(itemsOfOrder);
            await db.SaveChangesAsync();

            return(Created(itemsOfOrder));
        }
Exemplo n.º 2
0
        // POST: odata/Orders
        public async Task <int> Post()
        {
            var bodyString = Request.Content.ReadAsStringAsync().Result;
            var neworder   = JsonConvert.DeserializeObject <NewOrder>(bodyString);

            for (int i = 0; i < neworder.ProductsID.Count(); i++)
            {
                neworder.Cost += db.Products.Find(neworder.ProductsID.ElementAt(i)).Cost *neworder.ProductsAmount.ElementAt(i);
            }
            Order order = new Order
            {
                UserID  = neworder.UserID,
                StatusO = neworder.StatusO,
                Cost    = neworder.Cost
            };

            db.Orders.Add(order);
            await db.SaveChangesAsync();

            Created(order);

            int orderID = db.Orders.ToList().Last().OrderID;

            for (int i = 0; i < neworder.ProductsID.Count(); i++)
            {
                decimal newAmount = db.Products.Find(neworder.ProductsID.ElementAt(i)).Amount - neworder.ProductsAmount.ElementAt(i);
                if (newAmount < 0)
                {
                    neworder.ProductsAmount[i] = neworder.ProductsAmount[i] + newAmount;
                    newAmount = 0;
                }
                db.Products.Find(neworder.ProductsID.ElementAt(i)).Amount = newAmount;
                Updated(db.Products.Find(neworder.ProductsID.ElementAt(i)));

                ItemsOfOrder itemsOfOrder = new ItemsOfOrder
                {
                    ProductID = neworder.ProductsID[i],
                    OrderID   = orderID,
                    Amount    = neworder.ProductsAmount[i],
                    Cost      = db.Products.Find(neworder.ProductsID.ElementAt(i)).Cost *neworder.ProductsAmount.ElementAt(i)
                };

                db.ItemsOfOrders.Add(itemsOfOrder);
                await db.SaveChangesAsync();

                Created(itemsOfOrder);
            }

            return(orderID);
        }