Example #1
0
        public IActionResult DeleteOrderedItem(Guid id)
        {
            try
            {
                OrderedItem item = LoadEntityById <OrderedItem>(id);

                FoodOrder order = LoadEntityById <FoodOrder>(item.Order.Id);


                order.OrderedItems.Remove(item);
                item.Order = null;



                item.Item.OrderedItems.Remove(item);
                item.Item = null;

                dao.Delete(item);

                order.Compute();
                _ = dao.Merge <FoodOrder>(order);

                return(Ok(item));
            }

            catch (Exception e)
            {
                return(HandleDeleteException(e));
            }
        }
Example #2
0
        public IActionResult AddOrderedItem([FromBody] OrderedItem orderedItem)
        {
            try
            {
                FoodOrder order = LoadEntityById <FoodOrder>(orderedItem.Order.Id);

                Item item = LoadEntityById <Item>(orderedItem.Item.Id);


                string sql = $"Select * from OrderedItem where ItemId='{ item.Id}' and OrderId='{order.Id}'";
                Debug.WriteLine(sql);
                OrderedItem dbItem = dao.Query <OrderedItem>(sql);
                if (dbItem == null)
                {
                    orderedItem.Order = order;
                    orderedItem.Item  = item;
                    orderedItem.Compute();
                    order.OrderedItems.Add(orderedItem);
                    dao.SaveOrUpdate(orderedItem);
                }
                else
                {
                    dbItem.Quantity = orderedItem.Quantity;
                    dbItem.Price    = orderedItem.Price;
                    dbItem.Compute();
                    order.Compute();
                    _ = dao.Merge <OrderedItem>(dbItem);
                }
                order.Compute();
                _ = dao.Merge <FoodOrder>(order);

                return(Ok(orderedItem));
            }
            catch (Exception e)
            {
                return(HandleGetException(e));
            }
        }