public void Insert(Guid bookId, string reason) { //obtem o livro requisitado e o doador var bookRequested = _bookService.GetBookWithAllUsers(bookId); var bookUser = new BookUser() { BookId = bookId, UserId = new Guid(Thread.CurrentPrincipal?.Identity?.Name), Reason = reason, NickName = $"Interessado {bookRequested?.TotalInterested() + 1}" }; if (!_bookService.Any(x => x.Id == bookUser.BookId)) { throw new ShareBookException(ShareBookException.Error.NotFound); } if (_bookUserRepository.Any(x => x.UserId == bookUser.UserId && x.BookId == bookUser.BookId)) { throw new ShareBookException("O usuário já possui uma requisição para o mesmo livro."); } _bookUserRepository.Insert(bookUser); _bookUsersEmailService.SendEmailBookRequested(bookUser); _bookUsersEmailService.SendEmailBookDonor(bookUser, bookRequested); _bookUsersEmailService.SendEmailBookInterested(bookUser, bookRequested); }
public void Insert(Guid bookId) { var bookUser = new BookUser() { BookId = bookId, UserId = new Guid(Thread.CurrentPrincipal?.Identity?.Name) }; if (!_bookService.Any(x => x.Id == bookUser.BookId)) { throw new ShareBookException(ShareBookException.Error.NotFound); } if (_bookUserRepository.Any(x => x.UserId == bookUser.UserId && x.BookId == bookUser.BookId)) { throw new ShareBookException("O usuário já possui uma requisição para o mesmo livro."); } _bookUserRepository.Insert(bookUser); _bookUsersEmailService.SendEmailBookRequested(bookUser); }