public async Task <ICommandResult> Handle(RemoverDesenvolvedorResponsavelCommand request, CancellationToken cancellationToken) { if (!request.Valido()) { _commandResult.AddFluentValidation(request.ValidationResult); return(_commandResult); } var aplicativo = await _aplicativoRepository.ObterPorIdComTracking(request.IdAplicativo); if (aplicativo == null) { AdicionarErro("Id", "Aplicativo não encontrado com este Id."); _commandResult.AddFluentValidation(ValidationResult); return(_commandResult); } if (aplicativo.IdDesenvolvedorResponsavel == null) { AdicionarErro("Id", "Não existe responsável por este Aplicativo."); _commandResult.AddFluentValidation(ValidationResult); return(_commandResult); } aplicativo.RemoverResponsavel(); _aplicativoRepository.Update(aplicativo); var validacaoSalvar = await PersistirDados(_aplicativoRepository.UnitOfWork); _commandResult.AddFluentValidation(validacaoSalvar); if (validacaoSalvar.IsValid) { _commandResult.AddResult($@"Foi removido o responsável pelo aplicativo {aplicativo.Nome}."); } return(_commandResult); }
public async Task <ICommandResult> PutRemoverDesenvolvedorResponsavel(RemoverDesenvolvedorResponsavelCommand command) { return(await _mediatorHandler.EnviarComandoGenerico(command)); }