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
        /// <summary>
        /// Valida se existe alguma inconsistência nos campos preenchidos pelo usuário
        /// </summary>
        /// <param name="idUsuario">Identificador do usuário a ser validado</param>
        /// <param name="idApi">Identificador, na API, do usuário a ser validado</param>
        /// <param name="nome">Nome do usuário a ser validado</param>
        /// <param name="email">E-mail do usuário a ser validado</param>
        /// <returns>Indica se está tudo válido ou não</returns>
        private bool ValidaPreenchimento(int?idUsuario, int?idApi, string nome, string email)
        {
            List <UsuarioApi> usuariosApi = (List <UsuarioApi>)GerenciamentoUsuario.CarregaUsuariosApi();
            Usuario           lUsuario    = GerenciamentoUsuario.CarregaUsuario(nome);

            if (string.IsNullOrEmpty(nome))
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_NOME_VAZIO;
                return(false);
            }

            if (!Util.EEmailValido(email))
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_EMAIL_INVALIDO;
                return(false);
            }

            if ((lUsuario != null && lUsuario.Id != idUsuario) || usuariosApi.Any(u => u.Nome == nome && u.Id != idApi))
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_NOME_DUPLICADO;
                return(false);
            }

            lUsuario = GerenciamentoUsuario.CarregaUsuarioPorEmail(email);

            if ((lUsuario != null && lUsuario.Id != idUsuario) || usuariosApi.Any(u => u.Email == email && u.Id != idApi))
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_EMAIL_DUPLICADO;
                return(false);
            }

            return(true);
        }