protected void _dgvUsuario_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Deletar")
        {
            try
            {
                int  index  = int.Parse(e.CommandArgument.ToString());
                Guid usu_id = new Guid(_dgvUsuario.DataKeys[index].Value.ToString());

                //DELETA O VINCULO DE USUARIO COM USUARIOLOGINPROVIDER (CASO EXISTA)
                SYS_UsuarioLoginProviderBO.DeleteBy_usu_id(usu_id);

                SYS_Usuario entity = new SYS_Usuario {
                    usu_id = usu_id
                };
                SYS_UsuarioBO.GetEntity(entity);

                if (SYS_UsuarioBO.Delete(entity, null))
                {
                    _dgvUsuario.PageIndex = 0;
                    _dgvUsuario.DataBind();

                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "usu_id: " + usu_id);
                    _lblMessage.Text = UtilBO.GetErroMessage("Usuário excluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
                else
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o usuário.", UtilBO.TipoMensagem.Erro);
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
            }
        }
    }
Beispiel #2
0
    private void _LoadUsuario(Guid usu_id)
    {
        SYS_Usuario usuario = new SYS_Usuario();

        try
        {
            _VS_usu_id     = usu_id;
            usuario.usu_id = _VS_usu_id;
            SYS_UsuarioBO.GetEntity(usuario);

            UCComboEntidadeUsuario._Combo.SelectedValue = usuario.ent_id.ToString();
            UCComboEntidadeUsuario._Combo.Enabled       = false;
            ddlUsuarioAD.SelectedValue = usuario.usu_integracaoAD.ToString();
            _txtCriptografia.Value     = usuario.usu_criptografia.ToString();
            _txtLogin.Text             = usuario.usu_login;
            _txtEmail.Text             = usuario.usu_email;

            if (!string.IsNullOrEmpty(usuario.usu_dominio))
            {
                bool encontrou = false;
                foreach (ListItem item in _ddlDominios.Items)
                {
                    if (item.Value == usuario.usu_dominio)
                    {
                        item.Selected = true;
                        encontrou     = true;
                    }
                }
                //Caso não encontre o domínio na lista de disponíveis...
                if (!encontrou)
                {
                    //Seta a opção outros.
                    _ddlDominios.SelectedIndex = _VS_OutrosDominios;
                    _TrataOutrosDominios();
                    _txtDominio.Text = usuario.usu_dominio;
                }
            }
            ConfiguraUsuarioAD();

            if (usuario.usu_situacao == 5)
            {
                _chkExpiraSenha.Checked = true;
            }
            else if (usuario.usu_situacao == 2)
            {
                _chkBloqueado.Checked = true;
            }
            _chkBloqueado.Visible = true;

            //Carrega os dados da pessoa
            _CarregarPessoa(usuario.pes_id);
            _btnPessoa.Enabled = false;

            //VERIFICA SE PARÂMETRO DE LOGIN COM PROVIDER EXTERNO ESTÁ HABILITADO(TRUE = MOSTRA O CAMPO / FALSE = NÃO MOSTRA O CAMPO)
            if (SYS_ParametroBO.ParametroValorBooleano(SYS_ParametroBO.eChave.PERMITIR_LOGIN_COM_PROVIDER_EXTERNO))
            {
                divContasExternas.Visible = true;

                //BUSCA O LOGIN PROVIDER DO USUARIO E CASO NÃO FOR NULO EXIBE NO TEXTBOX
                var logins = SYS_UsuarioLoginProviderBO.SelectBy_usu_id(usu_id);

                if (logins != null && logins.Count > 0)
                {
                    this.rptContasExternas.Visible   = true;
                    this.lblInfoContaExterna.Visible = false;

                    this.rptContasExternas.DataSource = logins;
                    this.rptContasExternas.DataBind();
                }
                else
                {
                    this.rptContasExternas.Visible   = false;
                    this.lblInfoContaExterna.Visible = true;
                    this.lblInfoContaExterna.Text    = UtilBO.GetErroMessage("Usuário não possui contas vinculadas.",
                                                                             UtilBO.TipoMensagem.Informacao);
                }
            }

            //Carrega os grupos do usuário
            SYS_UsuarioBO.GetGruposUsuario(_VS_usu_id, _VS_Grupos, _VS_EntidadeUA);

            _rfvSenha.Visible          = false;
            _rfvConfirmarSenha.Visible = false;

            ManageUserLive live = new ManageUserLive();
            VS_ExistsIntegracaoExterna = live.ExistsIntegracaoExterna();
            if (VS_ExistsIntegracaoExterna && !string.IsNullOrEmpty(usuario.usu_email))
            {
                _ckbUsuarioLive.Visible = integracaoAD != SYS_UsuarioBO.eIntegracaoAD.IntegradoAD;
                if (live.IsContaEmail(usuario.usu_email))
                {
                    _ckbUsuarioLive.Checked = true;
                    ConfiguraUsuarioLive();
                }
            }
            else
            {
                _ckbUsuarioLive.Visible = false;
                _ckbUsuarioLive.Checked = false;
            }

            _lblSenha.Text       = _VS_usu_id == Guid.Empty ? "Senha *" : "Senha";
            _lblConfirmacao.Text = _VS_usu_id == Guid.Empty ? "Confirmar senha *" : "Confirmar senha";


            if (usuario.usu_integracaoExterna > 0)
            {
                chkIntegracaoExterna.Checked = true;
                SYS_IntegracaoExternaTipoBO bo = new SYS_IntegracaoExternaTipoBO();
                ddlIntegracaoExternaTipo.DataSource = bo.getAll();
                ddlIntegracaoExternaTipo.DataBind();

                // Não exibe opções de senha
                divOpcoesSenha.Visible =

                    _rfvConfirmarSenha.IsValid             =
                        _rfvConfirmarSenha.SetFocusOnError =
                            _rfvConfirmarSenha.Enabled     =


                                _rfvSenha.IsValid             =
                                    _rfvSenha.SetFocusOnError =
                                        _rfvSenha.Enabled     =

                                            revSenha.IsValid             =
                                                revSenha.SetFocusOnError =
                                                    revSenha.Enabled     =

                                                        revSenhaTamanho.IsValid =

                                                            revSenhaTamanho.SetFocusOnError =
                                                                revSenhaTamanho.Enabled     =

                                                                    _cpvConfirmarSenha.IsValid             =
                                                                        _cpvConfirmarSenha.SetFocusOnError =
                                                                            _cpvConfirmarSenha.Enabled     = false;

                revSenhaTamanho.ValidationGroup    = "";
                _rfvConfirmarSenha.ValidationGroup = "";
                _rfvSenha.ValidationGroup          = "";
                _cpvConfirmarSenha.ValidationGroup = "";
                revSenha.ValidationGroup           = "";

                _btnPessoa.CausesValidation = false;


                ddlIntegracaoExternaTipo.Visible = true;
                SYS_IntegracaoExternaTipoBO ietBO = new SYS_IntegracaoExternaTipoBO();
                DataTable dt = ietBO.getAll();



                ddlIntegracaoExternaTipo.Items.Clear();
                ddlIntegracaoExternaTipo.Items.Insert(0, "-- Selecione uma Integração Externa --");
                foreach (DataRow iet in dt.Rows)
                {
                    ddlIntegracaoExternaTipo.Items.Insert(Convert.ToUInt16(iet["iet_id"].ToString()), iet["iet_descricao"].ToString());
                }

                ddlIntegracaoExternaTipo.SelectedIndex = usuario.usu_integracaoExterna;
            }
            else
            {
                chkIntegracaoExterna.Checked = false;
            }
        }
        catch
        {
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o usuário.", UtilBO.TipoMensagem.Erro);
        }
    }
    /// <summary>
    /// Inicializa os componentes da tela.
    /// </summary>
    private void InicializarTela()
    {
        // Mensagem de informação sobre o cadastro de email da tela de meus dados.
        string mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemEmail);

        lblInformacao.Text = string.IsNullOrEmpty(mensagem) ? string.Empty :
                             UtilBO.GetErroMessage(mensagem, UtilBO.TipoMensagem.Informacao);

        txtEmail.Enabled = rfvEmail.Visible = revEmail.Visible = cvEmailExistente.Visible = PermiteAlterarEmail;

        bool validarObrigatoriedadeEmail = SYS_ParametroBO.Parametro_ValidarObrigatoriedadeEmailUsuario();

        rfvEmail.Visible = PermiteAlterarEmail && validarObrigatoriedadeEmail;

        cvEmailExistente.Visible = PermiteAlterarEmail && SYS_ParametroBO.Parametro_ValidarUnicidadeEmailUsuario();

        if (PermiteAlterarEmail)
        {
            if (validarObrigatoriedadeEmail && !lblEmail.Text.EndsWith("*"))
            {
                lblEmail.Text = lblEmail.Text + " *";
            }

            lblNovaSenha.Text.Replace("*", "");
            lblConfNovaSenha.Text.Replace("*", "");
        }
        else
        {
            lblEmail.Text.Replace("*", "");

            if (!lblNovaSenha.Text.EndsWith("*"))
            {
                lblNovaSenha.Text = lblNovaSenha.Text + " *";
            }

            if (!lblConfNovaSenha.Text.EndsWith("*"))
            {
                lblConfNovaSenha.Text = lblConfNovaSenha.Text + " *";
            }
        }

        rfvConfNovaSenha.Enabled = revNovaSenhaFormato.Enabled = revNovaSenhaTamanho.Enabled =
            cpvNovaSenha.Enabled = rfvNovaSenha.Enabled = cpvConfNovaSenha.Enabled = !PermiteAlterarEmail;

        if (PermiteAlterarEmail)
        {
            // Mensagem de validação quando o email for inválido.
            mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemEmailInvalido);
            revEmail.ErrorMessage = string.IsNullOrEmpty(mensagem) ?
                                    "E-mail está fora do padrão ( seuEmail@seuProvedor )." :
                                    mensagem;
        }

        // Mensagem de validação de confirmação da nova senha.
        mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemConfirmarSenhaNaoIdentico);

        if (!string.IsNullOrEmpty(mensagem))
        {
            cpvConfNovaSenha.ErrorMessage = mensagem;
        }

        mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemValidacaoComplexidadeSenhaFormato);

        if (!string.IsNullOrEmpty(mensagem))
        {
            revNovaSenhaFormato.ErrorMessage = mensagem;
        }

        mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemValidacaoComplexidadeSenhaTamanho);

        if (!string.IsNullOrEmpty(mensagem))
        {
            revNovaSenhaTamanho.ErrorMessage = mensagem;
        }

        // Configura formato senha
        revNovaSenhaFormato.ValidationExpression = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.FORMATO_SENHA_USUARIO);
        // Configura tamanho senha
        revNovaSenhaTamanho.ValidationExpression = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TAMANHO_SENHA_USUARIO);

        // Mensagem de validação do formato da senha.
        mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemValidacaoComplexidadeSenhaFormato);

        if (!string.IsNullOrEmpty(mensagem))
        {
            revNovaSenhaFormato.ErrorMessage = mensagem;
        }

        mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemValidacaoComplexidadeSenhaTamanho);

        if (!string.IsNullOrEmpty(mensagem))
        {
            revNovaSenhaTamanho.ErrorMessage = mensagem;
        }
        else
        {
            revNovaSenhaTamanho.ErrorMessage = String.Format(revNovaSenhaTamanho.ErrorMessage, UtilBO.GetMessageTamanhoByRegex(revNovaSenhaTamanho.ValidationExpression));
        }

        // Mensagem de complexidade da nova senha.
        mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemComplexidadeNovaSenha);

        if (!string.IsNullOrEmpty(mensagem))
        {
            lblMsnNovaSenha.Text = mensagem;
        }
        else
        {
            lblMsnNovaSenha.Text = String.Format(lblMsnNovaSenha.Text, UtilBO.GetMessageTamanhoByRegex(revNovaSenhaTamanho.ValidationExpression));
        }

        // Mensagem de validação da senha atual.
        mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemSenhaAtualIncorreta);
        if (!string.IsNullOrEmpty(mensagem))
        {
            cvSenhaAtual.ErrorMessage = mensagem;
        }

        // Mensagem de validação de email existente.
        mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemValidacaoEmailExistente);
        if (!string.IsNullOrEmpty(mensagem))
        {
            cvEmailExistente.ErrorMessage = mensagem;
        }

        if (SYS_ParametroBO.ParametroValorBooleano(SYS_ParametroBO.eChave.SALVAR_HISTORICO_SENHA_USUARIO))
        {
            // Mensagem de validação de validação de histórico de senhas..
            mensagem =
                String.Format(SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemValidacaoHistoricoSenha),
                              SYS_ParametroBO.ParametroValorInt32(SYS_ParametroBO.eChave.QUANTIDADE_ULTIMAS_SENHAS_VALIDACAO).ToString());

            if (!string.IsNullOrEmpty(mensagem))
            {
                cvNovaSenhaHistorico.ErrorMessage = mensagem;
            }
        }

        //VERIFICA SE PARÂMETRO DE LOGIN COM PROVIDER EXTERNO ESTÁ HABILITADO(TRUE = MOSTRA O CAMPO / FALSE = NÃO MOSTRA O CAMPO)
        if (SYS_ParametroBO.ParametroValorBooleano(SYS_ParametroBO.eChave.PERMITIR_LOGIN_COM_PROVIDER_EXTERNO))
        {
            divContasExternas.Visible = true;

            //BUSCA O LOGIN PROVIDER DO USUARIO E CASO NÃO FOR NULO EXIBE NO TEXTBOX
            var logins = SYS_UsuarioLoginProviderBO.SelectBy_usu_id(__SessionWEB.__UsuarioWEB.Usuario.usu_id);

            if (logins != null && logins.Count > 0)
            {
                this.rptContasExternas.Visible   = true;
                this.lblInfoContaExterna.Visible = false;

                this.rptContasExternas.DataSource = logins;
                this.rptContasExternas.DataBind();
            }
            else
            {
                this.rptContasExternas.Visible   = false;
                this.lblInfoContaExterna.Visible = true;
                this.lblInfoContaExterna.Text    = UtilBO.GetErroMessage("Usuário não possui contas vinculadas.",
                                                                         UtilBO.TipoMensagem.Informacao);
            }
        }

        mensagem = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemSenhaAtualSenhaNovaDiferenca);

        if (!string.IsNullOrEmpty(mensagem))
        {
            cpvNovaSenha.ErrorMessage = mensagem;
        }

        txtEmail.Text = __SessionWEB.__UsuarioWEB.Usuario.usu_email;
        if (PermiteAlterarEmail)
        {
            txtEmail.Focus();
        }
        else
        {
            txtSenhaAtual.Focus();
        }
    }