private async void SaveOrderAsync() { if (SelectedClient == null) { ErrorMessage = "Не выбран клиент!"; return; } if (OrderedBooks.IsNullOrEmpty()) { ErrorMessage = "Необходимо добавить хотя бы одну книгу."; return; } using (StartOperation()) { var saveOrderModel = new SaveOrderModel { OrderedBooks = OrderedBooks, BranchId = _currentEmployee.BranchId, ClientId = SelectedClient.Id, EmployeeId = _currentEmployee.Id, OrderDate = DateTime.Now }; await SaveOrderOperation.ExecuteAsync(saveOrderModel); await Close(true); } }
private async void SaveOrderAsync() { if (SelectedClient == null) { ErrorMessage = "Выберите клиента"; return; } if (OrderedBooks.IsNullOrEmpty()) { ErrorMessage = "Выберите книги"; return; } using (StartOperation()) { var saveOrderModel = new SaveOrderModel { BranchId = _currentEmployee.BranchId, ClientId = SelectedClient.Id, EmployeeId = _currentEmployee.Id, OrderDate = DateTime.Now, OrderedBooks = OrderedBooks }; await SaveOrderOperation.ExecuteAsync(saveOrderModel); await Close(true); } }
public async Task <bool> ExecuteAsync(SaveOrderModel orderModel) { try { return(await PostAsync <bool>("orders", orderModel)); } catch (Exception exc) { Debug.WriteLine(exc); } return(false); }
public async Task <bool> ExecuteAsync(SaveOrderModel model) { try { var result = await PostAsync <bool>("orders", model); return(result); } catch (Exception exc) { Debug.WriteLine(exc); } return(false); }
public async Task <bool> ExecuteAsync(SaveOrderModel orderModel) { using (var db = new BookStoreDbContext()) { var order = new Order { ClientId = orderModel.ClientId, EmployeeId = orderModel.EmployeeId, OrderDate = orderModel.OrderDate, TotalConst = orderModel.TotalCost }; db.Orders.Add(order); foreach (var bookModel in orderModel.OrderedBooks) { db.OrderedBooks.Add( new OrderedBook { Amount = bookModel.Amount, BookId = bookModel.BookId, Order = order, Price = bookModel.Price }); } var bookIds = orderModel.OrderedBooks.Select(ob => ob.BookId).ToArray(); var bookAmounts = await db.BookAmounts .Where(ba => ba.BranchId == orderModel.BranchId) .Where(ba => bookIds.Contains(ba.BookId)) .ToListAsync(); foreach (var bookAmount in bookAmounts) { var orderAmount = orderModel.OrderedBooks .First(ob => ob.BookId == bookAmount.BookId) .Amount; bookAmount.Amount -= orderAmount; } await db.SaveChangesAsync(); return(true); } }
public async Task <bool> ExecuteAsync(SaveOrderModel orderModel) { using (var db = new BookStoreDbContext()) { var order = new Order { ClientId = orderModel.ClientId, EmployeeId = orderModel.EmployeeId, OrdeDate = orderModel.OrderDate, TotalConst = orderModel.TotalCost, }; db.Orders.Add(order); foreach (var saveOrderedBookModel in orderModel.OrderedBooks) { db.OrderedBooks.Add(new OrderedBook { Amount = saveOrderedBookModel.Amount, BookId = saveOrderedBookModel.BookId, Price = saveOrderedBookModel.Price, Order = order }); } var books = orderModel.OrderedBooks .ToDictionary(ob => ob.BookId, ob => ob.Amount); var bookAmounts = await db.BookAmounts .Where(ba => ba.BranchId == orderModel.BranchId) .Where(ba => books.Keys.Contains(ba.BookId)) .ToListAsync(); foreach (var bookAmount in bookAmounts) { bookAmount.Amount -= books[bookAmount.BookId]; } await db.SaveChangesAsync(); return(true); } }
public async Task <IActionResult> SaveOrder(SaveOrderModel model) {
public async Task <bool> PostOrderAsync(SaveOrderModel model) { return(await SaveOrderOperation.ExecuteAsync(model)); }