public OperationResult <BookResponse> Execute(int id) { try { DbBook book = _context.Books.FirstOrDefault(x => x.Id == id); DbAuthorBook authorBook = _context.Authors.FirstOrDefault(x => x.BookId == id); if (authorBook != null) { _context.Authors.Remove(authorBook); } _context.SaveChanges(); if (book == null) { throw new ArgumentException("Model doesn't exist"); } _context.Books.Remove(book); _context.SaveChanges(); return(new OperationResult <BookResponse>() { IsSuccess = true }); } catch (ArgumentOutOfRangeException exc) { return(new OperationResult <BookResponse>() { IsSuccess = false, ErrorMessages = { exc.Message } }); } }
public OperationResult <BookResponse> Execute(int id) { DbBook book = _bookDbContext.Books.FirstOrDefault(b => b.Id == id); DbAuthorBook author = _bookDbContext.Authors.FirstOrDefault(a => a.BookId == id); try { if (book == null) { throw new ArgumentException("Incorrect id"); } return(new OperationResult <BookResponse>() { IsSuccess = true, Body = _responseMapper.Map(book, author) }); } catch (ArgumentException exc) { return(new OperationResult <BookResponse>() { IsSuccess = false, ErrorMessages = { exc.Message } }); } }
public void DbAuthorBookMapperTest() { _bookRequest.Author = "abc"; var response = _dbAuthorBookMapper.Map(_bookRequest); var dbAuthor = new DbAuthorBook(1, "abc"); Assert.AreEqual(dbAuthor.Author, response.Author); }
public BookResponse Map([NotNull] DbBook book, DbAuthorBook authorBook) { return(new BookResponse() { Name = book.Name, Year = book.Year, Description = book.Description, Author = authorBook?.Author }); }
public OperationResult <BookResponse> Execute( BookRequest book) { try { DbBook oldBook = _context.Books.FirstOrDefault(x => x.Id == book.Id); DbAuthorBook authorBook = _context.Authors.FirstOrDefault(x => x.BookId == book.Id); if (oldBook == null) { throw new ArgumentException("Old model doesn't exist"); } _context.Books.Remove(oldBook); _context.Books.Add(_dbBookMapper.Map(book)); if (authorBook != null) { _context.Authors.Remove(authorBook); } _context.Authors.Add(_dbAuthorBookMapper.Map(book)); _context.SaveChanges(); return(new OperationResult <BookResponse>() { IsSuccess = true }); } catch (Exception exc) { return(new OperationResult <BookResponse>() { IsSuccess = false, ErrorMessages = { exc.Message } }); } }