Esempio n. 1
0
        /// <summary>
        /// Filtra os itens de menu existentes.
        /// </summary>
        /// <param name="nomeItem">O nome do item.</param>
        /// <returns>Lista itens de menu mediante filtro.</returns>
        public ActionResult FiltrarItens(string nomeItem)
        {
            var listaMaterializada = new List <Item>();

            using (var servico = this.Servico())
            {
                var listagem     = servico.ListarItemPorNome(nomeItem);
                var propriedades = this.ConfiguracaoGridProvider().Select(x => x.Propriedade).ToList();

                listaMaterializada = listagem.ClonaListaPropriedadesEspecificas(propriedades).ToList();
            }

            var retorno = new ConfiguracaoGrid()
            {
                Itens = listaMaterializada,
            };

            return(this.SerializaJson(retorno));
        }
        /// <summary>
        /// Prepara a grid de municipios do componente de pesquisa.
        /// </summary>
        /// <returns>
        /// Retorna a lista de municípios.
        /// </returns>
        public ActionResult PreparaGridMunicipios()
        {
            var config       = new ConfiguracaoGrid();
            var configuracao = new List <ConfiguracaoColunas>();

            configuracao.Add(new ConfiguracaoColunas()
            {
                NomeColuna = "Codigo", Propriedade = "Id", Oculta = true
            });
            configuracao.Add(new ConfiguracaoColunas()
            {
                NomeColuna = "Município", Propriedade = "NomeMunicipio"
            });
            configuracao.Add(new ConfiguracaoColunas()
            {
                NomeColuna = "UF", Propriedade = "SiglaUF", Tamanho = 50
            });
            config.Colunas = configuracao;
            config.Itens   = new List <Municipio>();

            return(this.SerializaJson(config));
        }
        /// <summary>
        /// Responsável em filtrar os Municipios.
        /// </summary>
        /// <param name="nomeMunicipio">The nome municipio.</param>
        /// <returns>
        /// Retorna o json para os municipios.
        /// </returns>
        public ActionResult FiltrarMunicipios(string nomeMunicipio)
        {
            var listaMaterializada = new List <Municipio>();

            using (var servico = this.Fabrica.Resolva <IServicoMunicipio>())
            {
                IList <Municipio> listagem = servico.Listar().Where(x => x.NomeMunicipio.ToUpper().Contains(nomeMunicipio.ToUpper())).ToList();

                var propriedades = new List <string>();
                propriedades.Add("Id");
                propriedades.Add("NomeMunicipio");
                propriedades.Add("SiglaUF");
                listaMaterializada = listagem.ClonaListaPropriedadesEspecificas(propriedades).ToList();
            }

            var retorno = new ConfiguracaoGrid()
            {
                Itens = listaMaterializada,
            };

            return(this.SerializaJson(retorno));
        }
        /// <summary>
        /// Filtra os usuarios.
        /// </summary>
        /// <param name="loginOuCPF">O login ou cpf do usuário.</param>
        /// <param name="nomeOuParte">O nome do usuario.</param>
        /// <returns>Lista itens de menu mediante filtro.</returns>
        public ActionResult FiltrarUsuarios(string loginOuCPF, string nomeOuParte)
        {
            var            listaMaterializada     = new List <UsuarioSistema>();
            var            listagem               = new List <UsuarioSistema>();
            UsuarioSistema usuarioLogado          = this.ConsultaUsuarioLogado();
            var            perfisDoUsuario        = usuarioLogado.PerfisAssociadosAoUsuario.Select(x => x.Perfil);
            int            maximaPontuacaoUsuario = perfisDoUsuario.Max(x => x.Pontuacao);

            using (var servico = this.Servico())
            {
                if (!string.IsNullOrEmpty(loginOuCPF))
                {
                    var usuarioEncontrado = servico.ConsultarUsuarioPorLoginOuCpf(loginOuCPF, maximaPontuacaoUsuario);

                    if (usuarioEncontrado != null)
                    {
                        listagem.Add(usuarioEncontrado);
                    }
                }

                if (!listagem.Any() && string.IsNullOrEmpty(loginOuCPF))
                {
                    listagem = servico.ListarUsuarioPorNome(nomeOuParte, maximaPontuacaoUsuario);
                }

                var propriedades = this.ConfiguracaoGridProvider().Select(x => x.Propriedade).ToList();

                listaMaterializada = listagem.ClonaListaPropriedadesEspecificas(propriedades).ToList();
            }

            var retorno = new ConfiguracaoGrid()
            {
                Itens = listaMaterializada,
            };

            return(this.SerializaJson(retorno));
        }