예제 #1
0
    protected void _ddlGrupos_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            if (new Guid(_ddlGrupos.SelectedValue) != Guid.Empty)
            {
                SYS_Grupo grupo = new SYS_Grupo
                {
                    gru_id = new Guid(_ddlGrupos.SelectedValue)
                };
                SYS_GrupoBO.GetEntity(grupo);

                _VisibleUa(grupo.vis_id);
            }
            else
            {
                divUA.Visible = false;
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o grupo.", UtilBO.TipoMensagem.Erro);
        }
    }
예제 #2
0
    protected void _rptGrupos_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        try
        {
            if (e.CommandName == "Select")
            {
                //Limpa a busca realizada com outra visão
                __SessionWEB.BuscaRealizada = new MSTech.GestaoEscolar.BLL.BuscaGestao();

                // Carrega grupo selecionado na Session
                SYS_Grupo grupo = new SYS_Grupo {
                    gru_id = new Guid(e.CommandArgument.ToString())
                };
                __SessionWEB.__UsuarioWEB.Grupo = SYS_GrupoBO.GetEntity(grupo);

                // Realiza autenticação do usuário no Sistema Gestão Acadêmica
                HttpContext.Current.User.Identity.AddGrupoId(Request, __SessionWEB.__UsuarioWEB.Grupo.gru_id.ToString());

                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, String.Format("Autenticação do usuário ( {0} ) com grupo ( {1} ) no sistema ( {2} ).", __SessionWEB.__UsuarioWEB.Usuario.usu_login, __SessionWEB.__UsuarioWEB.Grupo.gru_nome, __SessionWEB.TituloSistema));

                //Response.Redirect("~/Index.aspx", false);
                Response.Redirect("~/Login.aspx", false);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            lblMessage.Text   = UtilBO.GetErroMessage("Não foi possível atender a solicitação.<br />Clique no botão voltar e tente novamente.", UtilBO.TipoMensagem.Erro);
            btnVoltar.Visible = true;
        }
    }
예제 #3
0
    protected void _dgvGrupo_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Deletar")
        {
            try
            {
                int  index  = int.Parse(e.CommandArgument.ToString());
                Guid gru_id = new Guid(_dgvGrupo.DataKeys[index].Value.ToString());

                SYS_Grupo EntityGrupo = new SYS_Grupo {
                    gru_id = gru_id
                };
                SYS_GrupoBO.GetEntity(EntityGrupo);

                if (SYS_GrupoBO.Delete(EntityGrupo))
                {
                    _dgvGrupo.PageIndex = 0;
                    _dgvGrupo.DataBind();
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "gru_id: " + gru_id);
                    _lblMessage.Text = UtilBO.GetErroMessage("Grupo excluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
                else
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o grupo.", UtilBO.TipoMensagem.Erro);
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
            }
        }
    }
예제 #4
0
        protected virtual void LoadUser(AuthenticationIdentity user, HttpActionContext actionContext)
        {
            if (HttpContext.Current != null)
            {
                BaseApiController baseApiController = actionContext.ControllerContext.Controller as BaseApiController;

                if (baseApiController != null)
                {
                    // Chave padrão do cache - nome do método + parâmetros.
                    string chave = RetornaChaveCache_LoadUser(user);
                    object cache = HttpContext.Current.Cache[chave];

                    if (cache == null)
                    {
                        #region Load user values

                        UsuarioWEB userLogged = new UsuarioWEB();

                        // Carrega usuário na session através do ticket de authenticação
                        userLogged.Usuario = new SYS_Usuario
                        {
                            ent_id = user.Entity
                            ,
                            usu_login = user.Login
                        };
                        SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(userLogged.Usuario);

                        userLogged.Grupo = SYS_GrupoBO.GetEntity(new SYS_Grupo {
                            gru_id = user.Group
                        });

                        baseApiController.__userLogged = userLogged;

                        #endregion

                        HttpContext.Current.Cache.Insert(chave, userLogged, null, DateTime.Now.AddMinutes(GestaoEscolarUtilBO.MinutosCacheMedio)
                                                         , System.Web.Caching.Cache.NoSlidingExpiration);
                    }
                    else
                    {
                        baseApiController.__userLogged = cache as UsuarioWEB;
                    }
                }
            }
        }
예제 #5
0
    private void _LoadSelectedGrupoUsuario(Guid gru_id)
    {
        try
        {
            _LoadGrupos(true);
            _LimparDivAddGrupos();
            _ddlGrupos.SelectedValue = gru_id.ToString();
            _ddlGrupos.Enabled       = false;

            SYS_UsuarioBO.TmpGrupos grupo = _VS_Grupos[gru_id];
            _ckbGrupo_Bloqueado.Checked = (grupo.usg_situacao == 2) ? true : false;

            SYS_Grupo entityGrupo = new SYS_Grupo
            {
                gru_id = gru_id
            };
            SYS_GrupoBO.GetEntity(entityGrupo);

            _VisibleUa(entityGrupo.vis_id);

            List <SYS_UsuarioBO.TmpEntidadeUA> lt = _VS_EntidadeUA[gru_id];
            foreach (SYS_UsuarioBO.TmpEntidadeUA ent in lt)
            {
                ListItem li;
                if (ent.Entidade)
                {
                    li = new ListItem(ent.EntidadeOrUA, ent.ent_id.ToString());
                }
                else
                {
                    li = new ListItem(ent.EntidadeOrUA, String.Concat(ent.ent_id, ";", ent.uad_id));
                }
                _lstUAs.Items.Add(li);
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o grupo.", UtilBO.TipoMensagem.Erro);
        }
    }
예제 #6
0
        public static SYS_Grupo ObterGrupoDoUsuarioDoClaimsIdentity()
        {
            SYS_Grupo grupo    = null;
            var       identity = HttpContext.Current.User.Identity as ClaimsIdentity;

            if (identity != null)
            {
                var grupoIdClaim = identity.FindFirst(AutenticadorCustomClaimTypes.GrupoId);

                if (grupoIdClaim != null && !string.IsNullOrWhiteSpace(grupoIdClaim.Value))
                {
                    grupo = new SYS_Grupo
                    {
                        gru_id = Guid.Parse(grupoIdClaim.Value)
                    };

                    grupo = SYS_GrupoBO.GetEntity(grupo);
                }
            }

            return(grupo);
        }
예제 #7
0
    /// <summary>
    /// Carrega os dados do grupo de usuário nos controles caso seja alteração.
    /// </summary>
    /// <param name="gru_id"></param>
    private void _LoadFromEntity(Guid gru_id)
    {
        try
        {
            SYS_Grupo grupo = new SYS_Grupo {
                gru_id = gru_id
            };
            SYS_GrupoBO.GetEntity(grupo);

            _VS_gru_id    = grupo.gru_id;
            _txtNome.Text = grupo.gru_nome;
            UCComboSistemas1._Combo.SelectedValue = grupo.sis_id.ToString();
            UCComboVisao1._Combo.SelectedValue    = grupo.vis_id.ToString();
            if (grupo.gru_situacao != 4)
            {
                _chkBloqueado.Checked = ((grupo.gru_situacao == 1) ? false : true);
            }
            else
            {
                _chkBloqueado.Checked = true;
                _chkBloqueado.Enabled = false;
            }

            UCComboSistemas1._Combo.Enabled = false;
            UCComboVisao1._Combo.Enabled    = false;

            UCComboGrupo1.Visible = false;
            UCComboGrupo2.Visible = false;
        }
        catch (Exception e)
        {
            ApplicationWEB._GravaErro(e);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o grupo.", UtilBO.TipoMensagem.Erro);
        }
        finally
        {
            _updGrupos.Update();
        }
    }
예제 #8
0
        /// <summary>
        /// Verifica se a Session do usuário está nula,
        /// se estiver verifica o FormsIdentity e carrega a Session
        /// </summary>
        private void GetFormsIdentityLoadSession()
        {
            try
            {
                if (HttpContext.Current.User.Identity.IsAuthenticated)
                {
                    //var identity = HttpContext.Current.User.Identity as FormsIdentity;
                    //if (identity != null)
                    //{
                    var identity = HttpContext.Current.User.Identity;
                    var entityId = identity.GetEntityId();
                    var usuLogin = identity.GetUsuLogin();
                    if (identity != null && entityId != null && usuLogin != null)
                    {
                        //    // Recupera Ticket de autenticação gravado em Cookie
                        //    FormsIdentity id = identity;
                        //FormsAuthenticationTicket ticket = id.Ticket;

                        // Carrega usuário na session através do ticket de authenticação
                        __SessionWEB.__UsuarioWEB.Usuario = new SYS_Usuario
                        {
                            ent_id    = new Guid(entityId),
                            usu_login = usuLogin
                        };
                        SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(__SessionWEB.__UsuarioWEB.Usuario);

                        // Carrega grupo na session através do ticket de autenticação
                        var gru_id = identity.GetGrupoId();
                        if (!string.IsNullOrEmpty(gru_id))
                        {
                            __SessionWEB.__UsuarioWEB.Grupo = SYS_GrupoBO.GetEntity(new SYS_Grupo {
                                gru_id = new Guid(gru_id)
                            });
                        }
                        else
                        {
                            // Carrega grupos do usuário
                            IList <SYS_Grupo> list = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(
                                __SessionWEB.__UsuarioWEB.Usuario.usu_id
                                , ApplicationWEB.SistemaID);

                            // Verifica se foi carregado os grupos do usuário
                            if (list.Count > 0)
                            {
                                // Seleciona o primeiro grupo do usuário logado para carregar na Session
                                __SessionWEB.__UsuarioWEB.Grupo = list[0];

                                DataTable dtUaPermissao = ESC_EscolaBO.RetornaUAPermissaoUsuarioGrupo(__SessionWEB.__UsuarioWEB.Usuario.usu_id, ApplicationWEB._EntidadeID, __SessionWEB.__UsuarioWEB.Grupo.gru_id);
                                if (dtUaPermissao.Rows.Count > 0)
                                {
                                    int esc_id;
                                    Int32.TryParse(dtUaPermissao.Rows[0]["esc_id"].ToString(), out esc_id);
                                    __SessionWEB.__UsuarioWEB.Esc_idPermissao = esc_id;

                                    //Caso não tenha escola, significa que o usuário possui permissão de Gestão
                                    if (esc_id == 0)
                                    {
                                        if (!string.IsNullOrEmpty(dtUaPermissao.Rows[0]["uad_idSuperior"].ToString()))
                                        {
                                            __SessionWEB.__UsuarioWEB.Uad_idSuperiorPermissao = new Guid(dtUaPermissao.Rows[0]["uad_idSuperior"].ToString());
                                        }
                                    }
                                }
                            }
                        }
                        // Carrega o cid_id na session referente a entidade do usuário autenticado
                        Guid ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id;
                        Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(ent_id);

                        SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco {
                            ent_id = ent_id, ene_id = ene_id
                        };
                        SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco);

                        END_Endereco entityEndereco = new END_Endereco {
                            end_id = entityEntidadeEndereco.end_id
                        };
                        END_EnderecoBO.GetEntity(entityEndereco);

                        __SessionWEB._cid_id = entityEndereco.cid_id;

                        // Carrega nome ou login na session do usuário autenticado
                        PES_Pessoa entityPessoa = new PES_Pessoa {
                            pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
                        };
                        PES_PessoaBO.GetEntity(entityPessoa);
                        __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(entityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : entityPessoa.pes_nome;

                        LoadSessionSistema();
                    }
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
            }
        }