예제 #1
0
        public IActionResult Put(int id, [FromForm] Dica _dica)
        {
            try
            {
                Dica _dicaBuscada = _repository.BuscarDicaPorId(id);

                if (_dica.Arquivo != null)
                {
                    var arquivo = UploadFile.Local(_dica.Arquivo);

                    _dicaBuscada.Imagem = arquivo;
                }

                _dicaBuscada.Texto     = _dica.Texto;
                _dicaBuscada.IdUsuario = _dica.IdUsuario;

                _repository.AlterarDica(_dicaBuscada);

                return(Ok(_dicaBuscada));
            }
            catch (DbUpdateConcurrencyException)
            {
                var _validarPerfil = _repository.BuscarDicaPorId(id);

                if (_validarPerfil == null)
                {
                    return(NotFound());
                }

                return(BadRequest());
            }
        }
        /// <summary>
        /// Método para validar os processos para alterar um pacote
        /// </summary>
        /// <param name="_command">Comando de alteração do pacote</param>
        /// <returns>Dados salvos ou erros gerados</returns>
        public ICommandResult Handle(AlterarImagemPacoteCommand _command)
        {
            //1º Verificando se a requisição não está inserindo um arquivo
            if (_command.Arquivo != null)
            {
                //Caso um arquivo esteja sendo anexado, enviamos para o método de 'UploadFile'
                var _imagemArquivo = UploadFile.Local(_command.Arquivo, "Pacotes");

                //Atribuindo o caminho de exibição da imagem para o objeto
                _command.Imagem = _imagemArquivo;
            }

            //2º - 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 os dados corretamente", _command.Notifications));
            }

            //3º - Verificando se o pacote existe no sistema
            var _pacoteExistente = _repository.BuscarPacotePorId(_command.IdPacote);

            if (_pacoteExistente == null)
            {
                return(new GenericCommandResult(false, "Pacote não encontrado, verifique o código do pacote", _command.Notifications));
            }

            //4º Verificando se o usuário informou uma nova imagem
            if (_command.Imagem == _pacoteExistente.Imagem)
            {
                return(new GenericCommandResult(false, "A imagem não pode ser a mesma, informe uma nova imagem", _command.Imagem));
            }

            //5º - Atribuir ao objeto pacote a alteração dos dados do mesmo
            _pacoteExistente.AlterarImagemPacote(_command.Imagem);

            //6º - Verificando se as alterações não contém erros para salvarmos
            if (_pacoteExistente.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", _pacoteExistente.Notifications));
            }

            //7º - Salvando as alterações no banco de dados
            _repository.AlterarPacote(_pacoteExistente);

            //Caso sucesso
            return(new GenericCommandResult(true, "Imagem alterada com sucesso", _pacoteExistente));
        }
예제 #3
0
        public IActionResult Put(int id, [FromForm] Usuario _usuario)
        {
            try
            {
                Usuario _usuarioBuscado = _repository.BuscarUsuarioPorId(id);

                if (_usuario.Arquivo != null)
                {
                    var arquivo = UploadFile.Local(_usuario.Arquivo);

                    _usuarioBuscado.Imagem = arquivo;
                }

                _usuarioBuscado.Nome         = _usuario.Nome;
                _usuarioBuscado.Email        = _usuario.Email;
                _usuarioBuscado.DataCadastro = _usuarioBuscado.DataCadastro;
                _usuarioBuscado.IdPerfil     = _usuarioBuscado.IdPerfil;

                if (_usuario.Senha != null)
                {
                    _usuario.Senha        = Crypto.Criptografar(_usuario.Senha, _usuarioBuscado.Email.Substring(0, 4));
                    _usuarioBuscado.Senha = _usuario.Senha;
                }
                else
                {
                    _usuarioBuscado.Senha = _usuarioBuscado.Senha;
                }
                _repository.AlterarUsuario(_usuarioBuscado);

                return(Ok(_usuarioBuscado));
            }
            catch (DbUpdateConcurrencyException _e)
            {
                var _validarUsuario = _repository.BuscarUsuarioPorId(id);

                if (_validarUsuario == null)
                {
                    return(NotFound("Usuário não encontrado"));
                }

                return(BadRequest(new {
                    error = _e.Message,
                    data = _usuario
                }));
            }
        }
예제 #4
0
        /// <summary>
        /// Método para validar os processos para criar um pacote
        /// </summary>
        /// <param name="_command">Comando de criação do pacote</param>
        /// <returns>Dados salvos ou erros gerados</returns>
        public ICommandResult Handle(CriarPacoteCommand _command)
        {
            //1º - Verificando se a requisição não está inserindo um arquivo
            if (_command.Arquivo != null)
            {
                //Caso um arquivo esteja sendo anexado, enviamos para o método de 'UploadFile'
                var _imagemArquivo = UploadFile.Local(_command.Arquivo, "Pacotes");

                //Atribuindo o caminho de exibição da imagem para o objeto
                _command.Imagem = _imagemArquivo;
            }

            //2º - 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 os dados corretamente", _command.Notifications));
            }

            //3º - Verificando se o titulo do pacote já não pertence a nossa base de dados
            var _pacoteExistente = _repository.BuscarPacotePorTitulo(_command.Titulo);

            //Caso o email exista, informe ao usuário que o email informado já está em uso
            if (_pacoteExistente != null)
            {
                return(new GenericCommandResult(false, "Titulo do pacote já cadastrado", _command.Notifications));
            }

            //4º - Criando uma nova instância do pacote com os dados informados
            var _pacote = new Pacote(_command.Titulo, _command.Descricao, _command.Imagem, _command.Ativo);

            //5º - Validando os dados inseridos do pacote
            if (_pacote.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", _pacote.Notifications));
            }

            //6º - Salvando pacote na nossa base de dados
            _repository.AdicionarPacote(_pacote);

            //Caso não haja nenhum erro, retornamos a mensagem de sucesso
            return(new GenericCommandResult(true, "Pacote criado com sucesso", _pacote));
        }
예제 #5
0
        public IActionResult Post([FromForm] Dica _dica)
        {
            try
            {
                if (_dica.Arquivo != null)
                {
                    var arquivo = UploadFile.Local(_dica.Arquivo);

                    _dica.Imagem = arquivo;
                }

                _repository.CadastrarDica(_dica);

                return(Ok(_dica));
            }
            catch (Exception _e)
            {
                return(BadRequest(_e.Message));
            }
        }