public async Task <IActionResult> Order(MobileOrder order)
        {
            for (var i = 0; i < order.Ids.Length; i++)
            {
                var id     = order.Ids[i];
                var mobile = await _context.Mobiles.FindAsync(id);

                if (mobile == null)
                {
                    return(NotFound($"Not found mobile with id {id} to this order"));
                }

                if (mobile.Instock < order.Quantity[i])
                {
                    return(BadRequest($"Stock is not enough {mobile.Name} to this order."));
                }

                _context.Entry(mobile).State = EntityState.Modified;
                mobile.Instock -= order.Quantity[i];
            }

            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetAll), _context.Mobiles.ToList()));
        }
Esempio n. 2
0
        private async void ButtonAdd_Click(object sender, RoutedEventArgs e)
        {
            var customer = TextCustomer.SelectedItem as MobileCustomer;

            if (customer != null)
            {
                var order = new MobileOrder
                {
                    Item               = TextOrder.Text,
                    MobileCustomerId   = customer.Id,
                    Quantity           = 1,
                    MobileCustomerName = customer.Name
                };

                await ordersTable.InsertAsync(order);

                orders.Insert(0, order);

                // clear the UI fields
                TextCustomer.SelectedIndex = -1;
                TextOrder.Text             = String.Empty;
                TextOrder.Focus(FocusState.Programmatic);
            }
        }