public DeleteASuggestionValidationContext(DeleteASuggestionCommand command, ISuggestionRepository repository)
 {
     Command = command;
     RepositoryValidationContext = new CommonSuggestionRepositoryValidationContext(repository, Command.Id)
     {
         UserId = Command.UserId
     };
 }
Esempio n. 2
0
        public void Setup()
        {
            var validCommand = new DeleteASuggestionCommand
            {
                UserId = "any value",
                Id     = Guid.NewGuid()
            };

            _repository        = new SuggestionRepository(_dbContext);
            _validationContext = new DeleteASuggestionValidationContext(validCommand, _repository);
        }
Esempio n. 3
0
        public async Task <Guid> Handle(DeleteASuggestionCommand deleteASuggestion, CancellationToken cancellationToken = default)
        {
            var validationContext = new DeleteASuggestionValidationContext(deleteASuggestion, _repository);

            _deleteValidator.Validate(validationContext);

            _repository.RemoveUserSuggestion(deleteASuggestion.Id, deleteASuggestion.UserId);
            await _dbContext.SaveChangesAsync();

            return(deleteASuggestion.Id);
        }