public async Task <IActionResult> PutOrderMaster([FromRoute] int id, [FromBody] OrderMaster orderMaster) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != orderMaster.OrderId) { return(BadRequest()); } _context.Entry(orderMaster).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrderMasterExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <int> CreateOrder(Order order, ICollection <OrderItem> orderItems) { using (var context = new OrderManagementDBContext()) { using (var transaction = context.Database.BeginTransaction()) { try { context.Orders.Add(order); await context.SaveChangesAsync(); foreach (var item in orderItems) { item.OrderId = order.Id; } context.OrderItems.AddRange(orderItems); await context.SaveChangesAsync(); transaction.Commit(); return(order.Id); } catch (Exception ex) { transaction.Rollback(); throw; } } } }
public async Task UpdateOrder(int orderId, int status) { using (var context = new OrderManagementDBContext()) { var order = await context.Orders.FirstOrDefaultAsync(x => x.Id == orderId); if (order == null) { throw new KeyNotFoundException($"{orderId} not found."); } order.OrderStatusId = status; await context.SaveChangesAsync(); } }