public async Task Handle(AddBook message, CancellationToken cancellationToken) { await CheckAndAddAuthors(message.Book, message.UserId); BookEntityHandler.Add(message.Book); await Mediator.Send(new SaveChanges()); await Mediator.Publish(new BookAdded(message.Book, message.UserId)); }
public async Task Handle(DeleteBook message, CancellationToken cancellationToken) { var oldBook = await BookEntityHandler.Get(message.Id); if (oldBook == null) { throw new EntityNotFoundException <Book>(message.Id); } BookEntityHandler.Delete(oldBook); await Mediator.Send(new SaveChanges()); await Mediator.Publish(new BookRemoved(oldBook, message.UserId)); }
public async Task Handle(UpdateBook message, CancellationToken cancellationToken) { var oldBook = await BookEntityHandler.Get(message.Book.Id); if (oldBook == null) { throw new EntityNotFoundException <Book>(message.Book); } await CheckAndAddAuthors(message.Book, message.UserId); var newBook = oldBook.Update(message.Book, DateTime.UtcNow); BookEntityHandler.Update(newBook); await Mediator.Send(new SaveChanges()); await Mediator.Publish(new BookUpdated(newBook, oldBook, message.UserId)); }
public async Task <Book> Handle(GetBook request, CancellationToken cancellationToken) => await BookEntityHandler.Get(request.Id);
public async Task <IEnumerable <Book> > Handle(GetBooks request, CancellationToken cancellationToken) => await BookEntityHandler.Get();