/// <summary> /// Método para validar os processos para excluir um pacote /// </summary> /// <param name="_command">Comando de deleção do pacote</param> /// <returns>Dados salvos ou erros gerados</returns> public ICommandResult Handle(ExcluirPacoteCommand _command) { //1º - Validando se o command recebido é válido _command.Validar(); //Caso seja inválido, recebemos quando são os valores incorretos identificados por ele if (_command.Invalid) { return(new GenericCommandResult(false, "Informe um id correto", _command.Notifications)); } //2º - Verificando se o id do pacote já não pertence a nossa base de dados var _pacoteExistente = _repository.BuscarPacotePorId(_command.IdPacote); //Caso o id não exista, informe ao usuário que o pacote informado não existe if (_pacoteExistente == null) { return(new GenericCommandResult(false, "Pacote não encontrado", _command.Notifications)); } //3º - Excluindo o pacote do banco de dados _repository.ExcluirPacote(_pacoteExistente); //Caso não haja erros, retornamos sucesso return(new GenericCommandResult(true, "Pacote excluido com sucesso", _pacoteExistente)); }