コード例 #1
0
        public int ObterTotalPermissaoDoNucleoPorFiltro(int idNucleo, enumPrazoEncaminhamentoDemanda status)
        {
            var query = ObterTodosIQueryable();

            // Enxugando query com select
            query = query.Select(x =>
                                 new EtapaResposta
            {
                Ativo  = x.Ativo,
                Status = x.Status,
                PrazoEncaminhamento = x.PrazoEncaminhamento,
                DataPreenchimento   = x.DataPreenchimento,
                DataAlteracao       = x.DataAlteracao,
                Etapa = x.Etapa,
                PermissoesNucleoEtapaResposta = x.PermissoesNucleoEtapaResposta
            });

            var result = query.Where(x => x.Ativo &&
                                     x.PermissoesNucleoEtapaResposta.Any(y => y.EtapaPermissaoNucleo.HierarquiaNucleoUsuario.HierarquiaNucleo.ID == idNucleo)).ToList();

            if (status != enumPrazoEncaminhamentoDemanda.Encerrada)
            {
                result = result.Where(x => x.Status == (int)enumStatusEtapaResposta.Aguardando &&
                                      (x.PrazoEncaminhamento.HasValue || x.DataPreenchimento.HasValue || x.DataAlteracao.HasValue) &&
                                      x.ObterStatusEncaminhamento(x.PrazoEncaminhamento.HasValue ? x.PrazoEncaminhamento.Value :
                                                                  x.Etapa.ObterPrazoParaEncaminhamentoDaDemanda(x.DataPreenchimento.HasValue ? x.DataPreenchimento.Value : x.DataAlteracao.Value)) == status).ToList();
            }
            else
            {
                result = result.Where(x => x.Status != (int)enumStatusEtapaResposta.Aguardando).ToList();
            }

            return(result.Count());
        }
コード例 #2
0
        private void PreencherEtapas(int Idnucleo, enumPrazoEncaminhamentoDemanda status, int pagina = 0)
        {
            var etapas = new ManterEtapaResposta().ObterDTOPorPermissaoDoNucleoPorFiltro(Idnucleo, status, _demandasPorPagina, pagina);

            rptDemandas.DataSource = etapas;
            rptDemandas.DataBind();
        }
コード例 #3
0
        private void DefinirCor(enumPrazoEncaminhamentoDemanda status)
        {
            switch (status)
            {
            case enumPrazoEncaminhamentoDemanda.NoPrazo:
                mHeader.Attributes["class"] = "no-prazo-modal";
                break;

            case enumPrazoEncaminhamentoDemanda.AExpirar:
                mHeader.Attributes["class"] = "expirar-modal";
                break;

            case enumPrazoEncaminhamentoDemanda.ForaDoPrazo:
                mHeader.Attributes["class"] = "vencida-modal";
                break;

            case enumPrazoEncaminhamentoDemanda.Encerrada:
                mHeader.Attributes["class"] = "encerrada-modal";
                break;

            default:
                break;
            }
        }
コード例 #4
0
        public IEnumerable <DTOEtapaNucleo> ObterDTOPorPermissaoDoNucleoPorFiltro(int idNucleo, enumPrazoEncaminhamentoDemanda status, int limit, int page)
        {
            //var query = ObterTodos();
            var query = ObterTodosIQueryable();

            var lista = query.Where(x => x.Ativo &&
                                    x.PermissoesNucleoEtapaResposta.Any(y => y.EtapaPermissaoNucleo.HierarquiaNucleoUsuario.HierarquiaNucleo.ID == idNucleo)).ToList();

            IEnumerable <EtapaResposta> result;

            if (status != enumPrazoEncaminhamentoDemanda.Encerrada)
            {
                result = lista.Where(x => x.Status == (int)enumStatusEtapaResposta.Aguardando &&
                                     (x.PrazoEncaminhamento.HasValue || x.DataPreenchimento.HasValue || x.DataAlteracao.HasValue) &&
                                     x.ObterStatusEncaminhamento(x.PrazoEncaminhamento.HasValue ? x.PrazoEncaminhamento.Value :
                                                                 x.Etapa.ObterPrazoParaEncaminhamentoDaDemanda((x.DataPreenchimento.HasValue ? x.DataPreenchimento.Value : x.DataAlteracao.Value))) == status)
                         .ToList();
            }
            else
            {
                result = lista.Where(x => x.Status != (int)enumStatusEtapaResposta.Aguardando).ToList();
            }

            if (limit > 0)
            {
                result = result.Skip(page * limit).Take(limit);
            }

            var etapas = result;

            return(etapas.Select(x => new DTOEtapaNucleo
            {
                IdEtapaResposta = x.ID,
                IdProcessoResposta = x.ProcessoResposta.ID,
                NomeEtapa = x.Etapa.Nome,
                NomeProcessoResposta = x.ProcessoResposta.Processo.Nome,
                Prazo = x.PrazoEncaminhamento != null ? x.PrazoEncaminhamento.Value : (DateTime?)null,
                Responsaveis = x.ObterAnalistas(new List <UsuarioCargo>(), new Usuario()).Select(u => u.Nome).ToList(),
                Etapas = ObterDTOEtapaNucleoOdernadoPorIdEtapaResposta(x.ProcessoResposta),
                Demandante = x.ProcessoResposta.Usuario.Nome
            }));
        }