コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }