Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }