public async Task <ActionResult> AddNewBook([FromForm] BookForCreateDTO newBook) { if (!ModelState.IsValid) { return(BadRequest("Model validate failed!")); } // var book = _mapper.Map<Book>(newBook); var result = await _bookService.AddNewBook(newBook); if (result != null) { return(Ok(result)); } return(BadRequest("Create new book failed.")); }
public async Task <Guid> AddNewBook(BookForCreateDTO newBook) { //validate book if (_bookRepository.IsBookExisted(newBook.Title)) { return(new Guid()); } var author = _authorRepository.GetAuthorByName(newBook.AuthorName); var publisher = _publisherRepository.GetPublisherByName(newBook.PublisherName); var category = _categoryRepo.GetCategoryByName(newBook.CategoryName).ElementAt(0); if (author != null && publisher != null && category != null) { var book = new Book(); book.Pages = newBook.Pages; book.Price = newBook.Price; book.Title = newBook.Title; book.AuthorId = author.Id; book.PublisherId = publisher.Id; book.Categories = new List <Category>(); book.Categories.Add(category); book.Description = newBook.Description; book.SKU = newBook.SKU; var uploadPhotos = await _photoService.UploadPhotos(newBook.Photos); book.Photos = uploadPhotos.ToList(); book.ThumbnailUrl = uploadPhotos.ToArray()[0].Url; // if (newBook.Photos.Any()) // { // var uploadPhotos = await _photoService.UploadPhotos(newBook.Photos); // book.Photos = uploadPhotos.ToList(); // book.ThumbnailUrl = uploadPhotos.ToArray()[0].Url; // } var result = await _bookRepository.InsertAsync(book); _bookRepository.SaveChange(); return(book.Id); } return(new Guid("string")); }
public async Task CreateBook_ShouldReturnEmptyGuid() { BookForCreateDTO bookWithTitleCreated = new BookForCreateDTO() { Title = "Test create book", AuthorName = "NXB Kim Dong", Description = "ABC", Pages = 123, Price = 120312312, SKU = "123123", PublisherName = "NXB Kim Dong", Photos = new List <IFormFile>() }; var result = await _bookService.AddNewBook(bookWithTitleCreated); Assert.Equal(new Guid(), result); }
public async Task DeleteBook_ShouldReturnTrue() { BookForCreateDTO validData = new BookForCreateDTO() { Title = "Test create book 1", AuthorName = "NXB Kim Dong", Description = "ABC", Pages = 123, Price = 120312312, SKU = "123123", PublisherName = "NXB Kim Dong", Photos = new List <IFormFile>() }; var newBookId = await _bookService.AddNewBook(validData); var result = await _bookService.DeleteBook(newBookId); Assert.True(result); }
public async Task CreateBook_ShouldReturnNewBookId() { var rd = new Random(); BookForCreateDTO validData = new BookForCreateDTO() { Title = "Test create book 123" + rd.Next().ToString(), AuthorName = "NXB Kim Dong", Description = "ABC", Pages = 123, Price = 120312312, SKU = "123123", PublisherName = "NXB Kim Dong", Photos = new List <IFormFile>() }; var result = await _bookService.AddNewBook(validData); //Make sure that book created var bookCreated = _bookService.GetBookById(result); Assert.NotNull(bookCreated); }