public DeleteASuggestionValidationContext(DeleteASuggestionCommand command, ISuggestionRepository repository) { Command = command; RepositoryValidationContext = new CommonSuggestionRepositoryValidationContext(repository, Command.Id) { UserId = Command.UserId }; }
public void Setup() { var validCommand = new DeleteASuggestionCommand { UserId = "any value", Id = Guid.NewGuid() }; _repository = new SuggestionRepository(_dbContext); _validationContext = new DeleteASuggestionValidationContext(validCommand, _repository); }
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); }