Exemplo n.º 1
0
        /// <summary>
        /// Envia uma nova senha para o usuário que esqueceu sua senha.
        /// </summary>
        /// <param name="sender">Objeto que disparou esse evento</param>
        /// <param name="e">Contém os argumentos fornecidos nesse evento</param>
        protected void BtnEnviarSenha_Click(object sender, EventArgs e)
        {
            Usuario usuario   = GerenciamentoUsuario.CarregaUsuarioPorEmail(this.TxtEmail.Text);
            string  novaSenha = Autenticacao.GeraSenhaRandomica();

            this.DivMensagem.Visible             = true;
            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;

            if (usuario == null)
            {
                this.LblMensagem.Text = string.Format(MENSAGEM_ERRO_USUARIO_INEXISTENTE, this.TxtEmail.Text);
                return;
            }

            try
            {
                usuario.Senha = Autenticacao.ObtemSHA1Hash(novaSenha);

                GerenciamentoUsuario.AtualizaUsuario(usuario);

                GerenciamentoEmail.EnviaEmailRecuperacaoSenha(usuario.Email, usuario.Nome, usuario.Email, novaSenha);
            }
            catch (Exception ex)
            {
                Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString());
                this.LblMensagem.Text = string.Format(MENSAGEM_ERRO_ENVIO_EMAIL, usuario.Email);
                return;
            }

            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
            this.LblMensagem.Text = string.Format(MENSAGEM_SUCESSO_RECUPERACAO_SENHA, usuario.Email);
        }
Exemplo n.º 2
0
        protected void ChangePassword1_ChangingPassword(object sender, EventArgs e)
        {
            ChangePassword1.ChangePasswordFailureText        = "";
            ChangePassword1.SuccessTemplateContainer.Visible = false;

            try
            {
                string senhaAtual = this.ChangePassword1.CurrentPassword.ToString();
                string novaSenha  = this.ChangePassword1.NewPassword.ToString();

                if (this.usuario != null && Autenticacao.ValidaSHA1Hash(senhaAtual, usuario.Senha))
                {
                    if (novaSenha != senhaAtual)
                    {
                        //altera senha no banco

                        string hashNovaSenha = Autenticacao.ObtemSHA1Hash(novaSenha);
                        this.usuario.Senha = hashNovaSenha;

                        if (GerenciamentoUsuario.AtualizaUsuario(this.usuario))
                        {
                            ViewState["success"] = "true";
                            ChangePassword1.SuccessTemplate.InstantiateIn(ChangePassword1);
                            ChangePassword1.ChangePasswordTemplateContainer.Visible = false;
                        }
                        else
                        {
                            ChangePassword1.ChangePasswordFailureText = "Problemas ao alterar a senha. A senha não foi alterada.";
                        }
                    }
                    else
                    {
                        ChangePassword1.ChangePasswordFailureText = "Senha nova deve ser diferente da senha atual.";
                    }
                }
                else
                {
                    ChangePassword1.ChangePasswordFailureText = "Senha atual não confere.";
                }

                ((LoginCancelEventArgs)e).Cancel = true;
                ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "temp", "hideLoading();", true);
            }
            catch (Exception ex)
            {
                Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString());
                ChangePassword1.ChangePasswordFailureText = "Problemas ao alterar a senha. A senha não foi alterada.";
                ((LoginCancelEventArgs)e).Cancel          = true;
                return;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Atualiza as informações do usuário na API e no banco de dados local
        /// </summary>
        /// <param name="idUsuario">Identificador do usuário</param>
        private void AtualizaUsuario(int idUsuario)
        {
            Usuario usuarioLogado = (Usuario)this.Session[ConstantesGlobais.USUARIO];
            Usuario usuario       = GerenciamentoUsuario.CarregaUsuario(idUsuario);

            string novoNome  = this.TxtNome.Text;
            string novoEmail = this.TxtEmail.Text;

            this.DivMensagem.Visible             = true;
            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;

            if (!this.ValidaPreenchimento(usuario.Id, usuario.IdApi, novoNome, novoEmail))
            {
                return;
            }

            usuario.Id            = usuario.Id;
            usuario.IdApi         = usuario.IdApi;
            usuario.Nome          = novoNome;
            usuario.Email         = novoEmail;
            usuario.Perfil        = (PerfilUsuario)Convert.ToByte(this.DdPerfil.SelectedValue);
            usuario.UsuarioSpedia = usuarioLogado.UsuarioSpedia;
            usuario.SenhaSpedia   = usuarioLogado.SenhaSpedia;

            if (!GerenciamentoUsuario.EditaUsuarioApi(usuario))
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_EDICAO_API;
                return;
            }

            if (!GerenciamentoUsuario.AtualizaUsuario(usuario))
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_EDICAO;
                return;
            }

            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
            this.LblMensagem.Text = MENSAGEM_SUCESSO_EDICAO;

            this.ReiniciaControles();
        }