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())); }
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); } }