Exemplo n.º 1
0
    private void _ExcluirUsuario(Guid usu_id)
    {
        try
        {
            //Carrega os grupos do usuário
            SYS_UsuarioBO.GetGruposUsuario(usu_id, _VS_Grupos, _VS_EntidadeUA);

            //Remove o grupo do usuário
            SYS_UsuarioBO.RemoveTmpGrupo(_VS_gru_id, _VS_Grupos, _VS_EntidadeUA);

            //Recupera os dados do usuário
            SYS_Usuario usu = new SYS_Usuario {
                usu_id = usu_id
            };
            SYS_UsuarioBO.GetEntity(usu);

            usu.usu_senha = string.Empty;

            //Deleta o grupo do usuário
            if (SYS_UsuarioBO.Save(usu, _VS_Grupos, _VS_EntidadeUA, false, string.Empty, string.Empty, string.Empty, string.Empty, null))
            {
                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "gru_id: " + _VS_gru_id + "; usu_id: " + usu_id.ToString());
                _lblMessage.Text = UtilBO.GetErroMessage(String.Format("Associação do usuário excluída com sucesso."), UtilBO.TipoMensagem.Sucesso);
            }

            //Carrega o grid de usuário
            _LoadGridUsuarios();
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir a associação do usuário.", UtilBO.TipoMensagem.Erro);
        }
    }
Exemplo n.º 2
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);
        }
    }
Exemplo n.º 3
0
    /// <summary>
    /// Valida se já existe usuário com o email.
    /// </summary>
    /// <param name="email">Email.</param>
    /// <param name="usu_id">ID do usuário.</param>
    /// <returns></returns>
    public static bool ValidarEmailExistente(string email, Guid usu_id)
    {
        SYS_Usuario entityUsuario = new SYS_Usuario {
            usu_id = usu_id
        };

        SYS_UsuarioBO.GetEntity(entityUsuario);

        entityUsuario.usu_email = email;

        return(string.IsNullOrEmpty(entityUsuario.usu_email) || !SYS_UsuarioBO.VerificaEmailExistente(entityUsuario));
    }
Exemplo n.º 4
0
    public static bool ValidarSenhaAtual(string senhaAtual, Guid usu_id)
    {
        SYS_Usuario entityUsuario = new SYS_Usuario {
            usu_id = usu_id
        };

        SYS_UsuarioBO.GetEntity(entityUsuario);

        eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(entityUsuario.usu_criptografia), true);

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

        return(UtilBO.EqualsSenha(entityUsuario.usu_senha, UtilBO.CriptografarSenha(senhaAtual, criptografia), criptografia));
    }
Exemplo n.º 5
0
        public static SYS_Usuario ObterUsuarioDoClaimsIdentity()
        {
            SYS_Usuario usuarioCore = null;
            var         identity    = HttpContext.Current.User.Identity as ClaimsIdentity;

            if (identity != null)
            {
                var usuarioIdClaim = identity.FindFirst(ClaimTypes.NameIdentifier);

                usuarioCore = new SYS_Usuario
                {
                    usu_id = Guid.Parse(usuarioIdClaim.Value)
                };

                SYS_UsuarioBO.GetEntity(usuarioCore);
            }
            return(usuarioCore);
        }
Exemplo n.º 6
0
    private void AlterarSenhaEsqueci(Guid usu_id, byte usu_situacao, byte usu_integracaoAD)
    {
        if (ValidarAlterarSenhaEsqueci())
        {
            try
            {
                if (usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Ativo || usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Senha_Expirada)
                {
                    SYS_Usuario entityUsuario = new SYS_Usuario
                    {
                        usu_id = usu_id
                    };
                    SYS_UsuarioBO.GetEntity(entityUsuario);

                    entityUsuario.usu_situacao      = 1;
                    entityUsuario.usu_senha         = txtNovaSenhaEsqueci.Text;
                    entityUsuario.usu_dataAlteracao = DateTime.Now;
                    SYS_UsuarioBO.AlterarSenhaAtualizarUsuario(entityUsuario, usu_integracaoAD == (byte)SYS_UsuarioBO.eIntegracaoAD.IntegradoADReplicacaoSenha);

                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha alterada com sucesso.");
                    _lblMessage.Text = UtilBO.GetErroMessage("Senha alterada com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
                else if (usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Padrao_Sistema)
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro na alteração de senha. Usuário padrão.");
                    _lblMessage.Text = UtilBO.GetErroMessage("Usuário padrão.", UtilBO.TipoMensagem.Alerta);
                }
                else
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro na alteração de senha. Usuário bloqueado.");
                    _lblMessage.Text = UtilBO.GetErroMessage("Usuário bloqueado.", UtilBO.TipoMensagem.Alerta);
                }
            }
            catch (DuplicateNameException ex)
            {
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar alterar a senha do usuário.", UtilBO.TipoMensagem.Erro);
            }
        }
    }
Exemplo n.º 7
0
    private void EnviaNovaSenhaEmail(Guid usu_id, byte usu_situacao, string pes_nome, byte usu_integracaoAD)
    {
        try
        {
            if (usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Ativo || usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Senha_Expirada)
            {
                SYS_Usuario usu = new SYS_Usuario {
                    usu_id = usu_id
                };
                SYS_UsuarioBO.GetEntity(usu);

                usu.usu_situacao = (byte)SYS_UsuarioBO.eSituacao.Senha_Expirada;

                SYS_UsuarioBO.Save(usu, pes_nome, __SessionWEB.TituloGeral, ApplicationWEB._EmailHost, ApplicationWEB._EmailSuporte, ApplicationWEB.EmailRemetente);

                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha enviada para o e-mail com sucesso.");

                string mensagemSucesso = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.LoginMensagemSenhaEmailEnviadaSucesso);
                _lblMessage.Text = UtilBO.GetErroMessage(string.IsNullOrEmpty(mensagemSucesso) ? "Senha enviada para o e-mail com sucesso." : mensagemSucesso, UtilBO.TipoMensagem.Sucesso);
            }
            else if (usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Padrao_Sistema)
            {
                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro no envio de senha. Usuário padrão.");
                _lblMessage.Text = UtilBO.GetErroMessage("Usuário padrão.", UtilBO.TipoMensagem.Alerta);
            }
            else
            {
                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro no envio de senha. Usuário bloqueado.");
                _lblMessage.Text = UtilBO.GetErroMessage("Usuário bloqueado.", UtilBO.TipoMensagem.Alerta);
            }
        }
        catch (DuplicateNameException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "EsqueciSenhaErro", "$('#divEsqueciSenha').dialog('close');", true);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar enviar e-mail com a senha para o usuário.", UtilBO.TipoMensagem.Erro);
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "EsqueciSenhaErro", "$('#divEsqueciSenha').dialog('close');", true);
        }
    }
Exemplo n.º 8
0
    /// <summary>
    /// Validação de senha de acordo com suas senhas anteriores.
    /// </summary>
    /// <param name="novaSenha">Nova senha.</param>
    /// <param name="usu_id">ID do usuário.</param>
    /// <returns></returns>
    public static bool ValidarHistoricoSenha(string novaSenha, Guid usu_id)
    {
        if (SYS_ParametroBO.ParametroValorBooleano(SYS_ParametroBO.eChave.SALVAR_HISTORICO_SENHA_USUARIO))
        {
            SYS_Usuario entityUsuario = new SYS_Usuario {
                usu_id = usu_id
            };
            SYS_UsuarioBO.GetEntity(entityUsuario);

            List <SYS_UsuarioSenhaHistorico> listaHistoricoSenhas = SYS_UsuarioSenhaHistoricoBO.SelecionaUltimasSenhas(entityUsuario.usu_id);

            // Configura criptografia da senha
            eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(entityUsuario.usu_criptografia), true);
            if (!Enum.IsDefined(typeof(eCriptografa), criptografia))
            {
                criptografia = eCriptografa.SHA512;
            }

            return(!listaHistoricoSenhas.Any(p => p.ush_senha == UtilBO.CriptografarSenha(novaSenha, criptografia) && p.ush_criptografia == entityUsuario.usu_criptografia));
        }

        return(true);
    }
Exemplo n.º 9
0
    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);
            }
        }
    }
Exemplo n.º 10
0
        /// <summary>
        /// Método utilizado via Web API para inclusão de novos grupos de usuário
        /// </summary>
        /// <param name="entityUsuarioAPI">Usuário da API usado para gravar log de ação</param>
        public static void AssociateUserGroup(Guid usu_id, AssociarUsuarioGrupoEntradaDTO data, CFG_UsuarioAPI entityUsuarioAPI)
        {
            #region [ Validação de campos obrigatórios ]

            if (data == null || data.usergroup == null || data.usergroup.Count(p => p.gru_id != Guid.Empty) == 0)
            {
                throw new ValidationException("Obrigatório no mínimo um Id de grupo do usuário.");
            }

            #endregion

            SYS_Usuario entity = SYS_UsuarioBO.GetEntity(new SYS_Usuario {
                usu_id = usu_id
            });
            entity.usu_senha         = string.Empty;
            entity.usu_dataAlteracao = DateTime.Now;

            if (!entity.IsNew)
            {
                // Validação de usuário padrão do sistema
                if (entity.usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Padrao_Sistema)
                {
                    throw new ValidationException("Não é possível alterar dados do usuário padrão do sistema.");
                }

                SortedDictionary <Guid, SYS_UsuarioBO.TmpGrupos>             grupos   = new SortedDictionary <Guid, SYS_UsuarioBO.TmpGrupos>();
                SortedDictionary <Guid, List <SYS_UsuarioBO.TmpEntidadeUA> > grupoUas = new SortedDictionary <Guid, List <SYS_UsuarioBO.TmpEntidadeUA> >();
                SYS_UsuarioBO.GetGruposUsuario(entity.usu_id, grupos, grupoUas);

                foreach (UsuarioGrupoDTO grupo in data.usergroup)
                {
                    // Adiciona o grupo
                    if (grupo.gru_id != Guid.Empty)
                    {
                        SYS_UsuarioBO.AddTmpGrupo(grupo.gru_id, grupos, 1);

                        // Adiciona a unidade administrativa ao grupo, caso necessário
                        if (grupo.uad_id != Guid.Empty)
                        {
                            List <SYS_UsuarioBO.TmpEntidadeUA> ltEntidadeUA = grupoUas.ContainsKey(grupo.gru_id) ?
                                                                              grupoUas[grupo.gru_id] : new List <SYS_UsuarioBO.TmpEntidadeUA>();

                            SYS_UsuarioBO.AddTmpEntidadeUA(grupo.gru_id, entity.ent_id, grupo.uad_id, ltEntidadeUA);
                        }
                    }
                }

                SYS_UsuarioBO.Save(entity, grupos, grupoUas, false, string.Empty, string.Empty, string.Empty, string.Empty, null);
            }
            else
            {
                throw new ValidationException("Usuário não existe.");
            }

            #region [ Log de ação]

            LOG_UsuarioAPIBO.Save
            (
                new LOG_UsuarioAPI
            {
                usu_id = entity.usu_id
                ,
                uap_id = entityUsuarioAPI.uap_id
                ,
                lua_dataHora = DateTime.Now
                ,
                lua_acao = (byte)LOG_UsuarioAPIBO.eAcao.AssociacaoUsuarioGrupo
            }
            );

            #endregion
        }
Exemplo n.º 11
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);
        }
    }
Exemplo n.º 12
0
    protected void _btnSalvarGrupo_Click(object sender, EventArgs e)
    {
        if ((_lstUAs.Items.Count == 0) && (divUA.Visible))
        {
            _lblMessageUsuario.Text = UtilBO.GetErroMessage("Nenhuma unidade administrativa foi adicionada.", UtilBO.TipoMensagem.Alerta);
        }
        else if (_VS_IsNew && _VS_Grupos.ContainsKey(_VS_gru_id))
        {
            _lblMessageUsuario.Text = UtilBO.GetErroMessage("O usuário selecionado já está cadastrado nesse grupo.", UtilBO.TipoMensagem.Alerta);
        }
        else
        {
            try
            {
                //Carrega lista de entidade e Unidade administrativas
                List <SYS_UsuarioBO.TmpEntidadeUA> lt = new List <SYS_UsuarioBO.TmpEntidadeUA>();
                int usg_situacao = (_ckbGrupo_Bloqueado.Checked) ? 2 : 1;

                if (divUA.Visible)
                {
                    foreach (ListItem item in _lstUAs.Items)
                    {
                        Guid ent_id;
                        Guid uad_id = Guid.Empty;

                        //Checa se é Unidade Administrativa ou entidade
                        if (divUA.Visible)
                        {
                            //Se unidade administrativa separa os ids
                            string[] ids = item.Value.Split(';');
                            ent_id = new Guid(ids[0]);
                            uad_id = new Guid(ids[1]);
                        }
                        else
                        {
                            ent_id = new Guid(item.Value);
                        }

                        //Adciono a lista de entidade e unidade
                        SYS_UsuarioBO.AddTmpEntidadeUA(_VS_gru_id, ent_id, uad_id, lt);
                    }

                    //Checa se a lista já existe no viewstate para o grupo associado.
                    //Caso já exista uma lista de entidades ou ua, substitui pela nova lista.
                    //Caso contrário adiciona a nova lista
                    if (_VS_EntidadeUA.ContainsKey(_VS_gru_id))
                    {
                        _VS_EntidadeUA[_VS_gru_id] = lt;
                    }
                    else
                    {
                        _VS_EntidadeUA.Add(_VS_gru_id, lt);
                    }
                }

                //Adciona o grupo caso ainda não exista
                SYS_UsuarioBO.AddTmpGrupo(_VS_gru_id, _VS_Grupos, usg_situacao);

                SYS_Usuario usu = new SYS_Usuario {
                    usu_id = new Guid(_txtUsu_id.Value)
                };
                SYS_UsuarioBO.GetEntity(usu);

                usu.usu_senha = string.Empty;

                if (SYS_UsuarioBO.Save(usu, _VS_Grupos, _VS_EntidadeUA, false, string.Empty, string.Empty, string.Empty, string.Empty, null))
                {
                    if (_VS_IsNew)
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "gru_id: " + _VS_gru_id + "; usu_id: " + _txtUsu_id.Value);
                        _lblMessage.Text = UtilBO.GetErroMessage(String.Format("Usuário associado com sucesso."), UtilBO.TipoMensagem.Sucesso);
                    }
                    else
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "gru_id: " + _VS_gru_id + "; usu_id: " + _txtUsu_id.Value);
                        _lblMessage.Text = UtilBO.GetErroMessage(String.Format("Associação do usuário alterada com sucesso."), UtilBO.TipoMensagem.Sucesso);
                    }
                }
                else
                {
                    _lblMessageUsuario.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a associação do usuário.", UtilBO.TipoMensagem.Erro);
                }

                _LoadGridUsuarios();

                //Registra script para fechar a janela
                ScriptManager.RegisterClientScriptBlock(this, GetType(), "SalvarUsuario", "$('#divUsuario').dialog('close');", true);
            }
            catch (ArgumentException ex)
            {
                _lblMessageUsuario.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessageUsuario.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a associação do usuário.", UtilBO.TipoMensagem.Erro);
            }
            finally
            {
                _updUsuario.Update();
                _updUsuarioGrid.Update();
            }
        }
    }
Exemplo n.º 13
0
        protected void btnEnviar_Click(object sender, EventArgs e)
        {
            if (ValidarEsqueciSenha())
            {
                try
                {
                    DataTable dt = SYS_UsuarioBO.GetSelectBy_ent_id_usu_email(UCComboEntidade2.Valor, txtEmail.Text);

                    if (dt.Rows.Count == 0)
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro no envio de senha. Usuário não encontrado.");
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário não encontrado.", UtilBO.TipoMensagem.Alerta);
                    }
                    else
                    {
                        if (!String.IsNullOrEmpty(dt.Rows[0]["usu_dominio"].ToString()))
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Não é possível recuperar a senha pois o usuário solicitado está ligado no Active Directory.");
                            lblMessage.Text = UtilBO.GetErroMessage("Não é possível recuperar a senha pois o usuário solicitado está ligado no Active Directory, contate o administrador de rede do seu domínio.", UtilBO.TipoMensagem.Alerta);
                        }
                        else if (dt.Rows[0]["usu_situacao"].ToString() == "1" || dt.Rows[0]["usu_situacao"].ToString() == "5")
                        {
                            try
                            {
                                SYS_Usuario usu = new SYS_Usuario {
                                    usu_id = new Guid(dt.Rows[0]["usu_id"].ToString())
                                };
                                SYS_UsuarioBO.GetEntity(usu);

                                PES_Pessoa pes = new PES_Pessoa {
                                    pes_id = usu.pes_id
                                };
                                PES_PessoaBO.GetEntity(pes);

                                usu.usu_situacao = 5;
                                SYS_UsuarioBO.Save(usu, pes.pes_nome, __SessionWEB.TituloGeral, ApplicationWEB._EmailHost, ApplicationWEB._EmailSuporte);

                                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha enviada para o e-mail com sucesso.");
                                lblMessage.Text = UtilBO.GetErroMessage("Senha enviada para o e-mail com sucesso.", UtilBO.TipoMensagem.Sucesso);
                            }
                            catch (DuplicateNameException ex)
                            {
                                lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                                ScriptManager.RegisterClientScriptBlock(this, GetType(), "EsqueciSenhaErro", "$('#divEsqueciSenha').dialog('close');", true);
                            }
                            catch (Exception ex)
                            {
                                ApplicationWEB._GravaErro(ex);
                                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar enviar e-mail com a senha para o usuário.", UtilBO.TipoMensagem.Erro);
                                ScriptManager.RegisterClientScriptBlock(this, GetType(), "EsqueciSenhaErro", "$('#divEsqueciSenha').dialog('close');", true);
                            }
                        }
                        else if (dt.Rows[0]["usu_situacao"].ToString() == "4")
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro no envio de senha. Usuário padrão.");
                            lblMessage.Text = UtilBO.GetErroMessage("Usuário padrão.", UtilBO.TipoMensagem.Alerta);
                        }
                        else
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro no envio de senha. Usuário bloqueado.");
                            lblMessage.Text = UtilBO.GetErroMessage("Usuário bloqueado.", UtilBO.TipoMensagem.Alerta);
                        }
                    }

                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "EsqueciSenha", "$('#divEsqueciSenha').dialog('close');", true);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMessageEsqueciSenha.Text = UtilBO.GetErroMessage("Erro ao tentar enviar e-mail com a senha para o usuário.", UtilBO.TipoMensagem.Erro);
                }
            }
            else
            {
                updEsqueciSenha.Update();
            }
        }
Exemplo n.º 14
0
        protected void grvLimitesCalendario_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                var data = e.Row.DataItem as sLimite;

                var ltlAlcance = e.Row.FindControl("ltlAlcance") as ITextControl;
                if (ltlAlcance != null)
                {
                    if (data.evl.esc_id > 0)
                    {
                        var escola = new ESC_Escola()
                        {
                            esc_id = data.evl.esc_id
                        };
                        ESC_EscolaBO.GetEntity(escola);

                        ltlAlcance.Text = escola.esc_nome;
                    }
                    else if (data.evl.uad_id != Guid.Empty)
                    {
                        var dre = new SYS_UnidadeAdministrativa {
                            uad_id = data.evl.uad_id, ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id
                        };
                        SYS_UnidadeAdministrativaBO.GetEntity(dre);

                        ltlAlcance.Text = dre.uad_nome;
                    }
                    else
                    {
                        ltlAlcance.Text = "Toda a rede";
                    }
                }

                var ltlUsuario = e.Row.FindControl("ltlUsuario") as ITextControl;
                if (ltlUsuario != null)
                {
                    var usuario = new SYS_Usuario()
                    {
                        usu_id = data.evl.usu_id
                    };
                    SYS_UsuarioBO.GetEntity(usuario);

                    var pessoa = new PES_Pessoa()
                    {
                        pes_id = usuario.pes_id
                    };
                    PES_PessoaBO.GetEntity(pessoa);

                    ltlUsuario.Text = pessoa.pes_nome ?? usuario.usu_login;
                }

                var ltlVigencia = e.Row.FindControl("ltlVigencia") as ITextControl;
                if (ltlVigencia != null)
                {
                    ltlVigencia.Text = string.Format("{0} - {1}",
                                                     data.evl.evl_dataInicio.ToString("dd/MM/yyyy"),
                                                     data.evl.evl_dataFim.ToString("dd/MM/yyyy"));
                }

                //var btnExcluir = e.Row.FindControl("btnExcluir") as WebControl;
                //if (btnExcluir != null)
                //{
                //    btnExcluir.Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_excluir;
                //}
            }
        }