コード例 #1
0
        public async Task <ActionResult <Usuario> > Put(int id, [FromForm] AltUsuarioViewModel usuario)
        {
            try
            {
                var usuarioExistente = await repositorio.Get(id);

                if (usuarioExistente == null)
                {
                    return(NotFound("O usuário informado não exite!"));
                }

                var usuarioAlterado     = verificacaoAlteracao(usuarioExistente, usuario);
                var usuarioComAlteracao = await repositorio.Put(usuarioAlterado);

                return(usuarioComAlteracao);
            }
            catch (DbUpdateConcurrencyException)
            {
                var usuarioValidacao = await repositorio.Get(id);

                if (usuarioValidacao == null)
                {
                    return(NotFound("Usuario não encontrado"));
                }
                else
                {
                    throw;
                }
            }
        }
コード例 #2
0
        private Usuario verificacaoAlteracao(Usuario usuario, AltUsuarioViewModel alteracao)
        {
            if (alteracao.nomeCompleto == null && alteracao == null)
            {
                usuario.NomeCompleto = usuario.NomeCompleto;
            }
            else if (alteracao.nomeCompleto != null && usuario.NomeCompleto != alteracao.nomeCompleto)
            {
                usuario.NomeCompleto = alteracao.nomeCompleto;
            }


            if (alteracao.loginUsuario == null && alteracao == null)
            {
                usuario.LoginUsuario = usuario.LoginUsuario;
            }
            else if (alteracao.loginUsuario != null && usuario.LoginUsuario != alteracao.loginUsuario)
            {
                usuario.LoginUsuario = alteracao.loginUsuario;
            }


            if (alteracao.email == null && alteracao == null)
            {
                usuario.Email = usuario.Email;
            }
            else if (alteracao.email != null && usuario.Email != alteracao.email)
            {
                string tituloEmail = "Aguardando aprovação!";
                string corpoEmail  = System.IO.File.ReadAllText(path: @"emails\parabens.html");
                _emailController.Email(alteracao.email, corpoEmail, tituloEmail);
                usuario.Email = alteracao.email;
            }

            var hashSenha = new HashSenha(SHA256.Create());

            if (alteracao.senha == null && alteracao == null)
            {
                usuario.Senha = usuario.Senha;
            }
            else if (alteracao.senha != null && usuario.Senha != alteracao.senha)
            {
                usuario.Senha = hashSenha.HasheandoSenha(alteracao.senha);

                string tituloEmail = ($"Sua senha foi alterada para {alteracao.senha}!");
                string corpoEmail  = System.IO.File.ReadAllText(path: @"emails\parabens.html");
                _emailController.Email(usuario.Email, corpoEmail, tituloEmail);
            }

            if (alteracao.departamento == null && alteracao == null)
            {
                usuario.Departamento = usuario.Departamento;
            }
            else if (alteracao.departamento != null && usuario.Departamento != alteracao.departamento)
            {
                usuario.Departamento = alteracao.departamento;
            }


            if (alteracao.tipoDeUsuario == null && alteracao == null)
            {
                usuario.TipoDeUsuario = usuario.TipoDeUsuario;
            }
            else if (alteracao.tipoDeUsuario != null && usuario.TipoDeUsuario != alteracao.tipoDeUsuario)
            {
                usuario.TipoDeUsuario = alteracao.tipoDeUsuario;
            }


            if (alteracao.statusAprovacao == null && alteracao == null)
            {
                usuario.StatusAprovacao = usuario.StatusAprovacao;
            }
            else if (alteracao.statusAprovacao != null && usuario.StatusAprovacao != alteracao.statusAprovacao)
            {
                usuario.StatusAprovacao = alteracao.statusAprovacao;

                if (usuario.StatusAprovacao == "Aprovado")
                {
                    string tituloEmail = "Você foi aprovado!";
                    string corpoEmail  = System.IO.File.ReadAllText(path: @"emails\parabens.html");
                    _emailController.Email(usuario.Email, corpoEmail, tituloEmail);
                }
            }

            if (Request.Form.Files.Count > 0)
            {
                var arquivo      = Request.Form.Files[0];
                var caminhoPasta = @"Resources\Usuario\";
                usuario.FotoUsuario = _uploadController.Upload(arquivo, caminhoPasta);
            }

            return(usuario);
        }