Пример #1
0
        public void Edit(PostBookViewModel bookViewModel)
        {
            Book book = Mapper.Map <PostBookViewItem, Book>(bookViewModel.PostBookViewItem);

            _bookRepository.Update(book);

            var listPublicationHoouseIds = bookViewModel.PostBookViewItem.PublicationHouses.Select(x => x.Id);
            var listToRemove             = _publicationHouseBookRepository.Get(x => x.BookId == bookViewModel.PostBookViewItem.Id)
                                           .Where(x => x.BookId == bookViewModel.PostBookViewItem.Id)
                                           .Where(x => !listPublicationHoouseIds.Contains(x.PublicationHouseId));

            _publicationHouseBookRepository.Remove(listToRemove);

            var listToAdd = MapToPublicationHouseBook(bookViewModel.PostBookViewItem)
                            .Where(x => x.BookId == bookViewModel.PostBookViewItem.Id)
                            .Where(x => listPublicationHoouseIds.Contains(x.PublicationHouseId));

            _publicationHouseBookRepository.Add(listToAdd);

            var listAuthorIds       = bookViewModel.PostBookViewItem.Authors.Select(x => x.Id);
            var listToRemoveAuthors = _bookAuthorRepository.Get(x => x.BookId == bookViewModel.PostBookViewItem.Id)
                                      .Where(x => x.BookId == bookViewModel.PostBookViewItem.Id)
                                      .Where(x => !listAuthorIds.Contains(x.AuthorId));

            _bookAuthorRepository.Remove(listToRemoveAuthors);

            var listToAddAuthors = MapToBookAuthor(bookViewModel.PostBookViewItem)
                                   .Where(x => x.BookId == bookViewModel.PostBookViewItem.Id)
                                   .Where(x => listAuthorIds.Contains(x.AuthorId));

            _bookAuthorRepository.Add(listToAddAuthors);
        }
Пример #2
0
 public IActionResult Put(int id, [FromBody] PostBookViewModel book)
 {
     if (ModelState.IsValid)
     {
         _bookService.Edit(book);
         return(Ok(book));
     }
     return(BadRequest(ModelState));
 }
Пример #3
0
        public void Add(PostBookViewModel bookView)
        {
            Book book = Mapper.Map <PostBookViewModel, Book>(bookView);

            book.PublicationType = PublicationType.Book;
            _bookRepository.Add(book);

            AddRelationshipsBookPublisher(book, bookView.Publishers);
            AddRelationshipsBookAuthor(book, bookView.Authors);
        }
Пример #4
0
        public void Add(PostBookViewModel bookViewModel)
        {
            Book book = Mapper.Map <PostBookViewModel, Book>(bookViewModel);

            _bookRepository.Add(book);

            bookViewModel.PostBookViewItem.Id = book.Id;

            var listToAdd = MapToPublicationHouseBook(bookViewModel.PostBookViewItem);

            _publicationHouseBookRepository.Add(listToAdd);

            var listAuthorsToAdd = MapToBookAuthor(bookViewModel.PostBookViewItem);

            _bookAuthorRepository.Add(listAuthorsToAdd);
        }
Пример #5
0
 public IActionResult Post([FromBody] PostBookViewModel book)
 {
     _bookService.Add(book);
     return(Ok());
 }