public async Task <AddUserOrderPayload> AddUsersOrderAsync( AddUserOrderInput input, [ScopedService] ApplicationDbContext context) { // check if orders exists if (input.OrderIds.Count == 0) { return(new AddUserOrderPayload( new UserError("No orders assigned.", "NO_ORDERS"))); } // find the existing user by id in db-context User user = await context.Users.FindAsync(input.UserId); foreach (int orderId in input.OrderIds) { user.UserOrders.Add(new UserOrder { OrderId = orderId }); } await context.SaveChangesAsync(); return(new AddUserOrderPayload(user)); }
public async Task <AddUserOrderPayload> AddUsersOrderAsync(AddUserOrderInput input, [ScopedService] AppDbContext context) { if (input.OrderIds.Count == 0) { return(new AddUserOrderPayload( new UserError { Message = "No orders assigned.", Code = "NO_ORDERS" })); } var user = await context.Users.FindAsync(input.UserId); foreach (var orderId in input.OrderIds) { user.UserOrders.Add(new UserOrder { OrderId = orderId }); } await context.SaveChangesAsync(); var payload = new AddUserOrderPayload(user); return(payload); }