コード例 #1
0
        public void Should_Finish_A_Book()
        {
            FinishBookCommand command = new FinishBookCommand()
            {
                BookId = bookRepository.books[0].Id,
                UserId = userRepository.users[0].Id
            };

            Assert.IsNotNull(_handler.Handler(command));
        }
コード例 #2
0
        public ICommandResult Handler(FinishBookCommand command)
        {
            Book book = _bookRepository.GetById(command.BookId);

            if (!(book.User.Id == command.UserId))
            {
                AddNotification("User", "O usuário não tem permissão para alterar essa reserva.");
            }
            book.Finish();
            AddNotifications(book.Notifications);
            if (!IsValid())
            {
                return(null);
            }
            _bookRepository.UpdateStatus(book);
            return(new StandardBookCommandResult());
        }