コード例 #1
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() });
            }
        }
コード例 #2
0
        public GridDados <SimularAcessoGridDados> ObterAcessos(SimularAcessoGridFiltro filtro, int usuarioId)
        {
            var ordenacao = string.IsNullOrEmpty(filtro.Ordenacao) ? "Municipio, UnidadeEscolar, NomeCompleto ASC" : string.Format("{0} {1}", filtro.Ordenacao, filtro.Orientacao.ToUpper());

            var usuarios = SimularAcessoNegocio.ObterUsuarios(PortalUsuariosSet);

            #region Filtro

            if (!string.IsNullOrWhiteSpace(filtro.Busca))
            {
                switch (filtro.FiltroId)
                {
                case (int)EFiltroSimularAcesso.Login:
                {
                    usuarios = usuarios.Where(x => x.Login.Contains(filtro.Busca));
                    break;
                }

                case (int)EFiltroSimularAcesso.Nome:
                {
                    usuarios = usuarios.Where(x => x.NomeUsuario.Contains(filtro.Busca));
                    break;
                }

                case (int)EFiltroSimularAcesso.Email:
                {
                    usuarios = usuarios.Where(x => x.Email.Contains(filtro.Busca));
                    break;
                }

                case (int)EFiltroSimularAcesso.Municipio:
                {
                    usuarios = usuarios.Where(x => x.UnidadeEscolar.Municipio.NomeMunicipio.Contains(filtro.Busca));
                    break;
                }

                case (int)EFiltroSimularAcesso.UnidadeEscolar:
                {
                    usuarios = usuarios.Where(x => x.UnidadeEscolar.Nome.Contains(filtro.Busca));
                    break;
                }

                case (int)EFiltroSimularAcesso.Cpf:
                {
                    var Cpf = Recursos.LimparTexto(filtro.Busca);
                    usuarios = usuarios.Where(x => x.Cpf.Contains(Cpf));
                    break;
                }

                default:
                {
                    break;
                }
                }
            }

            #endregion

            var result = usuarios.Select(x => new SimularAcessoGridDados
            {
                Cpf            = x.Cpf,
                Dominio        = x.Dominio,
                Email          = x.Email,
                GsiUsuarioId   = x.GSIUsuarioId,
                Login          = x.Login,
                Municipio      = x.UnidadeEscolar.Municipio.NomeMunicipio,
                UnidadeEscolar = x.UnidadeEscolar.Nome,
                NomeCompleto   = x.NomeUsuario
            });

            return(new GridDados <SimularAcessoGridDados>
            {
                NumeroRegistros = result.Count(),
                TamanhoPagina = filtro.TamanhoPagina,
                Lista = result.OrderBy(ordenacao)
                        .Skip(filtro.TamanhoPagina * (filtro.Pagina - 1))
                        .Take(filtro.TamanhoPagina)
            });
        }