public async Task <Book> AddOrUpdateBookAsync(Book book) { if (book is null) { throw new ArgumentNullException(nameof(book)); } Book updated = null; if (book.BookId == 0) { updated = await _booksRepository.AddAsync(book); _books.Add(updated); } else { updated = await _booksRepository.UpdateAsync(book); if (updated == null) { throw new InvalidOperationException(); } Book old = _books.Where(b => b.BookId == updated.BookId).Single(); int ix = _books.IndexOf(old); _books.RemoveAt(ix); _books.Insert(ix, updated); } return(updated); }
public async Task <BookDTO> Handle(CreateBookCommand request, CancellationToken cancellationToken) { var book = await booksRepository.AddAsync(mapper.Map <BookDTO, Book>(request, new Book())); logger.LogInformation($"A new book has been added to the repository {JsonConvert.SerializeObject(book)}"); return(mapper.Map <BookDTO>(book)); }
// TODO: nameof operator public async Task <Book> AddOrUpdateBookAsync(Book book) { if (book == null) { throw new ArgumentNullException("book"); } Book old = _books.Where(b => b.BookId == book.BookId).SingleOrDefault(); if (old == null) { Book added = await _booksRepository.AddAsync(book); _books.Add(added); return(added); } else { Book updated = await _booksRepository.UpdateAsync(book); int ix = _books.IndexOf(old); _books.RemoveAt(ix); _books.Insert(ix, updated); return(updated); } }
public async Task <Book> Handle(AddBookCommand request, CancellationToken cancellationToken) { // add to database BookEntity entity = await _booksRepository.AddAsync(request.Name, request.Price); // map Book book = BookMapper.MapToModel(entity); // return return(book); }
private async Task OnSaveBookAsync() { switch (Mode) { case EditBookMode.Edit: await _booksRepository.UpdateAsync(Book).ConfigureAwait(true); break; case EditBookMode.AddNew: await _booksRepository.AddAsync(Book).ConfigureAwait(true); break; default: throw new ArgumentOutOfRangeException(nameof(Mode)); } }
private async void OnSaveBook() { switch (Mode) { case EditBookMode.Edit: await _booksRepository.UpdateAsync(Book); break; case EditBookMode.AddNew: await _booksRepository.AddAsync(Book); break; default: break; } }
public async Task <Book> AddOrUpdateBookAsync(Book book) { Book updated; if (book.BookId == 0) { updated = await _booksRepository.AddAsync(book).ConfigureAwait(true); _books.Add(updated); } else { updated = await _booksRepository.UpdateAsync(book).ConfigureAwait(true); var old = _books.Single(bk => bk.BookId == updated.BookId); var ix = _books.IndexOf(old); _books.RemoveAt(ix); _books.Insert(ix, updated); } return(updated); }
public async Task <Book> AddOrUpdateBookAsync(Book book) { Book updated = null; if (book.BookId == 0) { updated = await _booksRepository.AddAsync(book); _books.Add(updated); } else { updated = await _booksRepository.UpdateAsync(book); Book old = _books.Where(b => b.BookId == updated.BookId).Single(); int ix = _books.IndexOf(old); _books.RemoveAt(ix); _books.Insert(ix, updated); } return(updated); }
public async Task <IActionResult> Add([FromBody] Book book) { var bookAdded = await booksRepository.AddAsync(book); return(Created($"/books/details/{book.Id}", bookAdded)); }