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)); } }
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)); } }