public Order SaveOrder(int branchId, int customerId, int employeeId, List<OrderedBookDescription> orderedBooks) { var order = new Order { Customer = RepositoryProvider.GetRepository<Customer>().Find(customerId), EmployeeId = employeeId, Date = DateTime.Now, OrderedBooks = new List<OrderedBook>(orderedBooks.Count) }; var bookAmountRepository = RepositoryProvider.GetRepository<BookAmount>(); foreach (var orderedBook in orderedBooks) { var bookAmount = bookAmountRepository.GetAll(ba => ba.Book) .Where(ba => ba.BookId == orderedBook.BookId) .First(ba => ba.BranchId == branchId); bookAmount.Amount -= orderedBook.Amount; order.OrderedBooks.Add(new OrderedBook { BookId = bookAmount.Book.Id, Price = bookAmount.Book.Price, Amount = orderedBook.Amount }); } RepositoryProvider.GetRepository<Order>().Add(order); RepositoryProvider.SaveChanges(); return order; }
public void SaveOrder(Order order, int branchId) { var bookAmountRepository = RepositoryProvider.GetRepository<BookAmount>(); foreach (var orderedBook in order.OrderedBooks) { var bookAmount = bookAmountRepository.GetAll() .Where(ba => ba.BookId == orderedBook.BookId) .First(ba => ba.BranchId == branchId); bookAmount.Amount -= orderedBook.Amount; } RepositoryProvider.GetRepository<Order>().Add(order); RepositoryProvider.SaveChanges(); }
public string ValidateOrder(Order order, int branchId) { var bookAmountRepository = RepositoryProvider.GetRepository<BookAmount>(); foreach (var orderedBook in order.OrderedBooks) { var bookAmount = bookAmountRepository.GetAll() .Where(ba => ba.BookId == orderedBook.BookId) .First(ba => ba.BranchId == branchId); if (orderedBook.Amount > bookAmount.Amount) { return "Max amount for '{0}' is {1}".FormatWith(orderedBook.Book.Title, bookAmount.Amount); } } return null; }
public void Initialize(Employee employee) { using (StartOperation()) { _employee = employee; Order = new Order { EmployeeId = _employee.Id, OrderedBooks = new ObservableCollection<OrderedBook>() }; ReloadCustomers(); ReloadBooks(); } }
public string ValidateOrder(Order order, int branchId) { throw new NotImplementedException(); }
public void SaveOrder(Order order, int branchId) { throw new NotImplementedException(); }