public async Task <IHttpActionResult> PostOrder(Order order) { try { //Order table if (order.OrderID == 0) { db.Orders.Add(order); } else { db.Entry(order).State = EntityState.Modified; } //OrderItems table foreach (var item in order.OrderItems) { if (item.OrderItemID == 0) { db.OrderItems.Add(item); } else { db.Entry(item).State = EntityState.Modified; } } // Delete operation for OrderItems foreach (var id in order.DeletedOrderItemIDs.Split(',').Where(x => x != "")) { OrderItem x = db.OrderItems.Find(Convert.ToInt64(id)); db.OrderItems.Remove(x); } await db.SaveChangesAsync(); return(Ok()); } catch (Exception e) { throw e; } }