Exemplo n.º 1
0
        public object PostSimularAcesso([FromBody] SimularAcessoDados dados)
        {
            try
            {
                if (GerenciadorSessao.UsuarioLogado == null)
                {
                    throw new Exception("Usuário não logado");
                }

                var  escopo = new SimularAcessoEscopo();
                bool result;

                if (GerenciadorSessao.UsuarioLogado.AreaId == (int)EPortalSistemasArea.Professor)
                {
                    result = SimularAcessoLoginDocente(dados.GsiUsuarioId, ref escopo);
                }
                else
                {
                    result = SimularAcessoLoginGSI(dados.GsiUsuarioId, ref escopo);
                }

                return(new
                {
                    result = result,
                    mensagens = !escopo.ExistemErros ? escopo.MensagensSucesso : escopo.MensagensErro
                });
            }
            catch (Exception ex)
            {
                return(new { mensagens = ex.CriarErroResposta() });
            }
        }
Exemplo n.º 2
0
        private bool SimularAcessoLoginDocente(int UsuarioId, ref SimularAcessoEscopo escopo)
        {
            try
            {
                var Pessoa = escopo.ObterPessoa(UsuarioId);

                // verifica se os campos foram informados, faz a consulta e verifica se existe algum registro
                if (Pessoa == null)
                {
                    throw new Exception("Registro não encontrado");
                }

                bool SimularAcesso = GerenciadorSessao.UsuarioLogado.SimularAcesso;
                int? UsuarioIdLogin;

                if (!SimularAcesso)
                {
                    UsuarioIdLogin = GerenciadorSessao.UsuarioLogado.UsuarioId;
                }
                else
                {
                    UsuarioIdLogin = GerenciadorSessao.UsuarioLogado.UsuarioIdLogin;
                }

                UsuarioAutenticacao usuario = new UsuarioAutenticacao
                {
                    UnidadeEscolar = "escola",
                    Municipio      = "Municipio",
                    NomeCompleto   = Pessoa.NomeCompleto,
                    Perfil         = "Docente",
                    UsuarioId      = Pessoa.PessoaId,
                    MostrarTrocaPerfilUnidadeEscolar = true,
                    PessoaId       = Pessoa.PessoaId,
                    AreaId         = GerenciadorSessao.UsuarioLogado.AreaId,
                    SimularAcesso  = true,
                    UsuarioIdLogin = UsuarioIdLogin
                };
                GerenciadorSessao.UsuarioLogado = usuario;

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 3
0
        public object GetAcessos([FromUri] SimularAcessoGridFiltro filtro)
        {
            try
            {
                var escopo = new SimularAcessoEscopo();
                var result = escopo.ObterAcessos(filtro, GerenciadorSessao.UsuarioLogado.UsuarioId);

                return(new
                {
                    result = result,
                    mensagens = !escopo.ExistemErros ? escopo.MensagensSucesso : escopo.MensagensErro
                });
            }
            catch (Exception ex)
            {
                return(new { mensagens = ex.CriarErroResposta() });
            }
        }
Exemplo n.º 4
0
        private bool SimularAcessoLoginGSI(int UsuarioId, ref SimularAcessoEscopo escopo)
        {
            try
            {
                WSGSI webSerciceGSI = new WSGSI();

                //Obtem Usuário do GSI pelo UsuarioId dele
                var usuario = webSerciceGSI.GSI_SelecionaUsuarioID_SO(UsuarioId, sUser, sPwd);
                if (usuario == null)
                {
                    throw new Exception("Usuario não encontrado!");
                }

                //Obtêm os grupos permitidos ao usuário para o sistema
                List <GrupoSistemaUsuarioWS> GrupoSistemaUsuario = webSerciceGSI.GSI_SelecionaGrupoSistemaUsuario_SO(usuario.UsuarioID, sistemaId, sUser, sPwd).ToList();
                if (!GrupoSistemaUsuario.Any())
                {
                    throw new Exception("O usuário não tem permissão para este sistema!");
                }

                //Obtêm a lista de sistemas permitidos ao usuário
                var sistemas = webSerciceGSI.GSI_SelecionaSistemasUsuario(usuario.UsuarioID, sUser, sPwd);

                //Carrega Menus do sistema
                string Menu = string.Empty;
                Menu = webSerciceGSI.GSI_SelecionaMenu_TokenCompleto(usuario.UsuarioID, GrupoSistemaUsuario[0].GrupoID, GrupoSistemaUsuario[0].cod_estrutura, sistemaId, sUser, sPwd);
                var menu = this.MontarMenu(Menu);

                //Carrega permissões GeoEstrutura
                //List<int> ListaGeoEstruturaID = new List<int>();
                //foreach (GrupoSistemaUsuarioWS grupo in GrupoSistemaUsuario)
                //{
                //    ListaGeoEstruturaID.Add(grupo.cod_estrutura);
                //}


                //Mantêm os dados do Portal do Usuário
                escopo.ManterDadosPortalUsuario(GrupoSistemaUsuario[0].cod_estrutura,
                                                usuario.UsuarioID,
                                                usuario.NomeUsuario,
                                                usuario.Email,
                                                usuario.LoginAD,
                                                usuario.NomeDominio,
                                                GrupoSistemaUsuario[0].GrupoID,
                                                GrupoSistemaUsuario[0].NomeGrupo);

                bool SimularAcesso = GerenciadorSessao.UsuarioLogado.SimularAcesso;
                int? UsuarioIdLogin;

                if (!SimularAcesso)
                {
                    UsuarioIdLogin = GerenciadorSessao.UsuarioLogado.UsuarioId;
                }
                else
                {
                    UsuarioIdLogin = GerenciadorSessao.UsuarioLogado.UsuarioIdLogin;
                }

                GerenciadorSessao.UsuarioLogado = new UsuarioAutenticacao
                {
                    NomeCompleto        = usuario.NomeUsuario,
                    Perfil              = GrupoSistemaUsuario[0].NomeGrupo,
                    UsuarioId           = usuario.UsuarioID,
                    MenuHtml            = menu.ToString(),
                    ListaSistemasSiglas = sistemas.Select(x => x.SiglaSistema).ToList(),
                    SimularAcesso       = true,
                    UsuarioIdLogin      = UsuarioIdLogin,
                    AreaId              = GerenciadorSessao.UsuarioLogado.AreaId
                };

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }