/// <summary> /// <see cref="Microsoft.Samples.NLayerApp.Application.MainBoundedContext.ERPModule.Services.ISalesAppService"/> /// </summary> /// <param name="book"><see cref="Microsoft.Samples.NLayerApp.Application.MainBoundedContext.ERPModule.Services.ISalesAppService"/></param> public BookDTO AddNewBook(BookDTO book) { if (book == null) { LoggerFactory.CreateLog().LogWarning(Messages.warning_CannotAddSoftwareWithNullInformation); return null; } //Create the softare entity Book newBook = ProductFactory.CreateProduct<Book>(book.Title, book.Description,0,0); newBook.ISBN = book.ISBN; newBook.Publisher = book.Publisher; newBook.UnitPrice = book.UnitPrice; newBook.AmountInStock = book.AmountInStock; //Assign the poid newBook.Id = IdentityGenerator.NewSequentialGuid(); //save software SaveProduct(newBook); //return software dto return _typeAdapter.Adapt<Book, BookDTO>(newBook); }
public void AddNewBookReturnAddedBook() { //Arrange var adapter = PrepareTypeAdapter(); var customerRepository = new SICustomerRepository(); var orderRepository = new SIOrderRepository(); var productRepository = new SIProductRepository(); productRepository.UnitOfWorkGet = () => { var uow = new SIUnitOfWork(); uow.Commit = () => { }; return uow; }; productRepository.AddProduct = (product) => { }; var salesManagement = new SalesAppService(adapter, productRepository, orderRepository,customerRepository); var dto = new BookDTO() { Title = "The title", Description = "description", Publisher = "license", ISBN = "isbn", AmountInStock = 10, UnitPrice = 10 }; //Act var result = salesManagement.AddNewBook(dto); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Id != Guid.Empty); Assert.AreEqual(result.Title, dto.Title); Assert.AreEqual(result.Description, dto.Description); Assert.AreEqual(result.Publisher, dto.Publisher); Assert.AreEqual(result.ISBN, dto.ISBN); Assert.AreEqual(result.AmountInStock, dto.AmountInStock); Assert.AreEqual(result.UnitPrice, dto.UnitPrice); }
/// <summary> /// <see cref="Microsoft.Samples.NLayerApp.Application.MainBoundedContext.BankingModule.Services.IMainBoundedContextService"/> /// </summary> /// <param name="book"><see cref="Microsoft.Samples.NLayerApp.Application.MainBoundedContext.BankingModule.Services.IMainBoundedContextService"/></param> /// <returns><see cref="Microsoft.Samples.NLayerApp.Application.MainBoundedContext.BankingModule.Services.IMainBoundedContextService"/></returns> public BookDTO AddNewBook(BookDTO book) { return _salesAppService.AddNewBook(book); }
public void AddNewBookThrowExceptionWhenDataIsInvalid() { //Arrange var adapter = PrepareTypeAdapter(); var customerRepository = new SICustomerRepository(); var productRepository = new SIProductRepository(); var orderRepository = new SIOrderRepository(); var salesManagement = new SalesAppService(adapter, productRepository, orderRepository,customerRepository); var dto = new BookDTO() { Title = "The title", Description = "description", Publisher = "license", ISBN = "isbn", AmountInStock = 10, UnitPrice = -1//this is a not valid value }; //Act var result = salesManagement.AddNewBook(dto); }