Exemplo n.º 1
0
    private void Salvar()
    {
        // Configura criptografia da senha
        eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(__SessionWEB.__UsuarioWEB.Usuario.usu_criptografia), true);

        if (!Enum.IsDefined(typeof(eCriptografa), criptografia))
        {
            criptografia = eCriptografa.SHA512;
        }

        try
        {
            if (UtilBO.EqualsSenha(__SessionWEB.__UsuarioWEB.Usuario.usu_senha, UtilBO.CriptografarSenha(txtSenhaAtual.Text, criptografia), criptografia))
            {
                // Configura entidade SYS_Usuario
                SYS_Usuario entityUsuario = new SYS_Usuario {
                    usu_id = __SessionWEB.__UsuarioWEB.Usuario.usu_id
                };
                SYS_UsuarioBO.GetEntity(entityUsuario);
                if (!string.IsNullOrEmpty(txtNovaSenha.Text))
                {
                    entityUsuario.usu_senha        = txtNovaSenha.Text;
                    entityUsuario.usu_criptografia = (byte)eCriptografa.SHA512;
                }

                entityUsuario.usu_email = txtEmail.Text;
                // Altera os dados do usuário
                SYS_UsuarioBO.AlterarDadosUsuario(entityUsuario, !string.IsNullOrEmpty(txtNovaSenha.Text));
                // Grava Log de sistema
                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "usu_id: " + entityUsuario.usu_id);
                Response.Redirect(ApplicationWEB._DiretorioVirtual + ApplicationWEB._PaginaLogoff, false);
            }
            else
            {
                string mensagemSenhaAtualInvalida = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemSenhaAtualIncorreta);
                lblMessage.Text = UtilBO.GetErroMessage(string.IsNullOrEmpty(mensagemSenhaAtualInvalida) ? "Senha atual inválida." : mensagemSenhaAtualInvalida, UtilBO.TipoMensagem.Alerta);
            }
        }
        catch (DuplicateNameException ex)
        {
            lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (ValidationException ex)
        {
            lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (ArgumentException ex)
        {
            lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o usuário.", UtilBO.TipoMensagem.Erro);
        }
    }