public ActiveDeliveryItem(int bookId, string bookEan, short itemsCount = 1) { BookId = bookId; BookEan = new BookEan13(bookEan); ItemsCount = itemsCount.Equals(0)? (short)1: itemsCount; ModificationDate = DateTime.UtcNow; CreationDate = DateTime.UtcNow; }
// Creation Date from ActiveDeliveryItem public CancelledDeliveryItem(int bookId, BookEan13 ean13, short itemsCount) { BookId = bookId; BookEan = new BookEan13(ean13.Code); ItemsCount = itemsCount; ModificationDate = DateTime.UtcNow; CreationDate = DateTime.UtcNow; }
public CompletedDeliveryItem(int bookId, BookEan13 ean13, short itemsCount, IEnumerable <BookStock> stocks) { if (ean13 is null || !stocks.Any()) { throw new ArgumentException("Ean or stocks are missing"); } if (stocks.Any(s => s.BookEan13.Code != ean13.Code)) { throw new ArgumentException($"Passed Stocks contains Eans that do not match passed ean:{ean13.Code}"); } BookId = bookId; BookEan = ean13; ItemsCount = itemsCount; _stocks = stocks.Select(s => s.Id).ToList(); ModificationDate = DateTime.UtcNow; CreationDate = DateTime.UtcNow; }
private List <BookStock> GetStocksByEan(BookEan13 ean13, IEnumerable <BookStock> stocks) { return(stocks.Where(s => s.BookEan13?.Code == ean13?.Code).ToList()); }