Ejemplo n.º 1
0
        public IPagedList <Auditoria> ListGrid(FormatGridUtils <Auditoria> request)
        {
            var where = string.Format("RequerimentoId = {0}", request.Entidade.RequerimentoId);
            if (!string.IsNullOrWhiteSpace(request.SearchPhrase))
            {
                int id = 0;
                if (int.TryParse(request.SearchPhrase, out id))
                {
                    where += string.Format("Id = {0}", id);
                }

                if (!string.IsNullOrWhiteSpace(where))
                {
                    where += " OR ";
                }

                where += string.Format("Campo.Contains(\"{0}\")", request.SearchPhrase);
                where += " OR ";
                where += string.Format("Antes.Contains(\"{0}\")", request.SearchPhrase);
                where += " OR ";
                where += string.Format("Depois.Contains(\"{0}\")", request.SearchPhrase);
            }

            using (var contexto = new ScirContext())
            {
                if (string.IsNullOrWhiteSpace(request.CampoOrdenacao))
                {
                    request.CampoOrdenacao = "Id asc";
                }

                var list = contexto.Auditoria.Include(e => e.Requerimento).AsNoTracking().Where(where).OrderBy(request.CampoOrdenacao).ToPagedList(request.Current, request.RowCount);

                return(list.ToPagedList(request.Current, request.RowCount));
            }
        }
Ejemplo n.º 2
0
        public JsonResult GetAnexosRequerimento(string searchPhrase, int current = 1, int rowCount = 5, int requerimentoId = 0)
        {
            if (requerimentoId != 0)
            {
                var arquivoRequerimento = new ArquivoRequerimento {
                    RequerimentoId = requerimentoId
                };
                var usuario = LoginServer.RetornarUsuarioLogado(User.Identity.Name);
                var request = FormatGridUtils <ArquivoRequerimento> .Format(Request, searchPhrase, arquivoRequerimento, current, rowCount);

                var response = new ResponseGrid <ArquivoRequerimento>();

                response = ArquivoRequerimentoServer.Listar(request, usuario);

                return(Json(new
                {
                    rows = response.Entidades,
                    current,
                    rowCount,
                    total = response.QuantidadeRegistros
                }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new
            {
                rows = "",
                current,
                rowCount,
                total = 0
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 3
0
        public ConsisteUtils ConsisteExcluir(Usuario usuario)
        {
            var consiste = new ConsisteUtils();

            if (usuario == null)
            {
                consiste.Add("Não foi encontrado o registro para exclusão", ConsisteUtils.Tipo.Inconsistencia);
            }

            var request = new FormatGridUtils <Requerimento>
            {
                CampoOrdenacao = "",
                SearchPhrase   = "",
                Current        = 1,
                RowCount       = 10,
                Entidade       = new RequerimentoGridDC {
                    UsuarioAtendenteId = usuario.Id, UsuarioRequerenteId = usuario.Id
                }
            };
            var requerimentos = ServerRequerimento.ListarPorRequerenteOuAtendente(request);

            if (requerimentos.QuantidadeRegistros > 0)
            {
                consiste.Add("Não é possivel excluir o usuário pois o mesmo se encontra atrelado nos seguintes requerimentos: " + string.Join(" - ", requerimentos.Entidades.Select(x => x.Protocolo)), ConsisteUtils.Tipo.Inconsistencia);
            }

            return(consiste);
        }
Ejemplo n.º 4
0
        public ResponseGrid <FormularioValidacaoUC> Listar(FormatGridUtils <FormularioValidacaoUC> request)
        {
            var response = new ResponseGrid <FormularioValidacaoUC>();

            response.Entidades           = dbFormularioValidacaoUC.ListGrid(request);
            response.QuantidadeRegistros = response.Entidades.TotalItemCount;

            return(response);
        }
Ejemplo n.º 5
0
        public ResponseGrid <Auditoria> Listar(FormatGridUtils <Auditoria> request)
        {
            var response = new ResponseGrid <Auditoria>();

            response.Entidades           = dbAuditoria.ListGrid(request);
            response.QuantidadeRegistros = response.Entidades.TotalItemCount;

            return(response);
        }
Ejemplo n.º 6
0
        public ResponseGrid <TipoRequerimentoGridDC> Listar(FormatGridUtils <TipoRequerimento> request)
        {
            var response = new ResponseGrid <TipoRequerimentoGridDC>();

            response.Entidades           = dbTipoRequerimento.ListGrid(request);
            response.QuantidadeRegistros = response.Entidades.Any() ? response.Entidades.FirstOrDefault().TotalItensGrid : 0;

            return(response);
        }
Ejemplo n.º 7
0
        public ResponseGrid <UnidadeCurricularGridDC> Listar(FormatGridUtils <UnidadeCurricular> request)
        {
            var response = new ResponseGrid <UnidadeCurricularGridDC>();

            response.Entidades           = dbUnidadeCurricular.ListGrid(request);
            response.QuantidadeRegistros = response.Entidades.Any() ? response.Entidades.FirstOrDefault().TotalItensGrid : 0;

            return(response);
        }
Ejemplo n.º 8
0
        public IPagedList <TipoRequerimentoGridDC> ListGrid(FormatGridUtils <TipoRequerimento> request)
        {
            var where = "";
            if (!string.IsNullOrWhiteSpace(request.SearchPhrase))
            {
                int id = 0;
                if (int.TryParse(request.SearchPhrase, out id))
                {
                    where = string.Format("Id = {0}", id);
                }

                bool ativo = true;
                if (bool.TryParse(request.SearchPhrase, out ativo))
                {
                    if (!string.IsNullOrWhiteSpace(where))
                    {
                        where += " OR ";
                    }
                    where += string.Format("Ativo = {0} ", ativo);
                }

                if (!string.IsNullOrWhiteSpace(where))
                {
                    where += " OR ";
                }

                where += string.Format("Nome.Contains(\"{0}\")", request.SearchPhrase);
            }
            else
            {
                where = "1=1";
            }

            using (var contexto = new ScirContext())
            {
                if (string.IsNullOrWhiteSpace(request.CampoOrdenacao))
                {
                    request.CampoOrdenacao = "Id asc";
                }

                var listUnidadeCurricular = contexto.TipoRequerimento.Include(e => e.TipoFormulario).AsNoTracking().Where(where).OrderBy(request.CampoOrdenacao).ToPagedList(request.Current, request.RowCount);

                var lista = new List <TipoRequerimentoGridDC>();
                foreach (var item in listUnidadeCurricular)
                {
                    lista.Add(new TipoRequerimentoGridDC
                    {
                        Id             = item.Id,
                        Ativo          = item.Ativo,
                        Nome           = item.Nome,
                        TipoFormulario = item.TipoFormulario.Id + " - " + item.TipoFormulario.Nome,
                        TotalItensGrid = listUnidadeCurricular.TotalItemCount
                    });
                }
                return(lista.ToPagedList(1, request.RowCount));
            }
        }
Ejemplo n.º 9
0
        public IPagedList <FluxoStatusGridDC> ListGrid(FormatGridUtils <FluxoStatus> request)
        {
            using (var contexto = new ScirContext())
            {
                //var innerJoin = from a in contexto.FluxoStatus
                //                join b in contexto.StatusRequerimento on a.StatusAtualId equals b.Id
                //                join c in contexto.StatusRequerimento on a.StatusProximoId equals c.Id
                //                join d in contexto.TipoRequerimento on a.TipoRequerimentoId equals d.Id
                //                where (!string.IsNullOrWhiteSpace(request.SearchPhrase)? EF.Functions.Like(b.Nome, "%"+request.SearchPhrase+"%") || EF.Functions.Like(d.Nome, "%" + request.SearchPhrase + "%") : a.StatusAtualId == a.StatusAtualId)
                //                select new
                //                {
                //                    a.StatusAtualId,
                //                    StatusAtualNome = b.Nome,
                //                    a.StatusProximoId,
                //                    StatusProximoNome = c.Nome,
                //                    a.TipoRequerimentoId,
                //                    TipoRequerimentoNome = d.Nome
                //                };

                var innerJoin = from a in contexto.FluxoStatus
                                join b in contexto.StatusRequerimento on a.StatusAtualId equals b.Id
                                join c in contexto.StatusRequerimento on a.StatusProximoId equals c.Id
                                join d in contexto.TipoRequerimento on a.TipoRequerimentoId equals d.Id
                                where (!string.IsNullOrWhiteSpace(request.SearchPhrase) ? EF.Functions.Like(b.Nome, "%" + request.SearchPhrase + "%") || EF.Functions.Like(d.Nome, "%" + request.SearchPhrase + "%") : a.StatusAtualId == a.StatusAtualId)
                                select new
                {
                    a.StatusAtualId,
                    StatusAtualNome = b.Nome,
                    a.StatusProximoId,
                    StatusProximoNome = c.Nome,
                    a.TipoRequerimentoId,
                    TipoRequerimentoNome = d.Nome
                };


                if (string.IsNullOrWhiteSpace(request.CampoOrdenacao))
                {
                    request.CampoOrdenacao = "Id asc";
                }


                var listFluxoStatus = innerJoin.GroupBy(g => new { g.StatusAtualId, g.StatusAtualNome, g.TipoRequerimentoId, g.TipoRequerimentoNome }).Select(s => new { s.Key.StatusAtualId, s.Key.StatusAtualNome, s.Key.TipoRequerimentoId, s.Key.TipoRequerimentoNome }).OrderBy(request.CampoOrdenacao).ToPagedList(request.Current, request.RowCount);
                var lista           = new List <FluxoStatusGridDC>();
                foreach (var item in listFluxoStatus)
                {
                    lista.Add(new FluxoStatusGridDC
                    {
                        StatusAtualId        = item.StatusAtualId,
                        StatusAtualNome      = item.StatusAtualNome,
                        TipoRequerimentoId   = item.TipoRequerimentoId,
                        TipoRequerimentoNome = item.TipoRequerimentoNome,
                        TotalItensGrid       = listFluxoStatus.TotalItemCount
                    });
                }
                return(lista.ToPagedList(1, request.RowCount));
            }
        }
Ejemplo n.º 10
0
        public ResponseGrid <FluxoStatusGridDC> Listar(FormatGridUtils <FluxoStatus> request)
        {
            var response = new ResponseGrid <FluxoStatusGridDC>();

            response.Entidades           = dbFluxoStatus.ListGrid(request);
            response.QuantidadeRegistros = response.Entidades.Any() ? response.Entidades.FirstOrDefault().TotalItensGrid : 0;

            return(response);
        }
Ejemplo n.º 11
0
        public ResponseGrid <StatusRequerimento> Listar(FormatGridUtils <StatusRequerimento> request)
        {
            var response = new ResponseGrid <StatusRequerimento>();

            response.Entidades           = dbStatusRequerimento.ListGrid(request);
            response.QuantidadeRegistros = response.Entidades.TotalItemCount;

            return(response);
        }
Ejemplo n.º 12
0
        public ResponseGrid <RequerimentoGridDC> ListarPorRequerenteOuAtendente(FormatGridUtils <Requerimento> request)
        {
            var response = new ResponseGrid <RequerimentoGridDC>();

            response.Entidades           = dbRequerimento.ListGrid(request, true, true);
            response.QuantidadeRegistros = response.Entidades.Any() ? response.Entidades.FirstOrDefault().TotalItensGrid : 0;

            return(response);
        }
Ejemplo n.º 13
0
        public ResponseGrid <Cursos> Listar(FormatGridUtils <Cursos> request)
        {
            var response = new ResponseGrid <Cursos>();

            response.Entidades           = dbCursos.ListGrid(request);
            response.QuantidadeRegistros = response.Entidades.TotalItemCount;

            return(response);
        }
Ejemplo n.º 14
0
        public ResponseGrid <FluxoStatusGridDC> ListarProximos(FormatGridUtils <FluxoStatus> request, int statusAtualId, int tipoRequerimentoId)
        {
            var response = new ResponseGrid <FluxoStatusGridDC>();

            response.Entidades           = dbFluxoStatus.ListProximosGrid(request, statusAtualId, tipoRequerimentoId);
            response.QuantidadeRegistros = response.Entidades.Any() ? response.Entidades.FirstOrDefault().TotalItensGrid : 0;

            return(response);
        }
Ejemplo n.º 15
0
        public JsonResult Listar(string searchPhrase, int current = 1, int rowCount = 10)
        {
            var request = FormatGridUtils <Cursos> .Format(Request, searchPhrase, new Cursos(), current, rowCount);

            var response = cursoServer.Listar(request);

            return(Json(new { rows = response.Entidades,
                              current,
                              rowCount,
                              total = response.QuantidadeRegistros }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 16
0
        public JsonResult ListarAnexos(string searchPhrase, int current = 1, int rowCount = 10, int statusAtualId = 0, int tipoRequerimentoId = 0)
        {
            var request = FormatGridUtils <FormularioValidacaoUC> .Format(Request, searchPhrase, new FormularioValidacaoUC(), current, rowCount);

            return(Json(new
            {
                rows = "TESTE",
                current,
                rowCount,
                total = 1
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 17
0
        public JsonResult ListarProximos(string searchPhrase, int current = 1, int rowCount = 10, int statusAtualId = 0, int tipoRequerimentoId = 0)
        {
            var request = FormatGridUtils <FluxoStatus> .Format(Request, searchPhrase, new FluxoStatus(), current, rowCount);

            var response = FluxoStatusServer.ListarProximos(request, statusAtualId, tipoRequerimentoId);

            return(Json(new
            {
                rows = response.Entidades,
                current,
                rowCount,
                total = response.QuantidadeRegistros
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 18
0
        private static void AjustarCampoOrdenacao(FormatGridUtils <Requerimento> request)
        {
            if (request.CampoOrdenacao == "ABERTURATOSTRING ASC")
            {
                request.CampoOrdenacao = "ABERTURA ASC";
            }
            else if (request.CampoOrdenacao == "ABERTURATOSTRING DESC")
            {
                request.CampoOrdenacao = "ABERTURA DESC";
            }

            else if (request.CampoOrdenacao == "STATUSREQUERIMENTONOME ASC")
            {
                request.CampoOrdenacao = "STATUSREQUERIMENTO ASC";
            }
            else if (request.CampoOrdenacao == "STATUSREQUERIMENTONOME DESC")
            {
                request.CampoOrdenacao = "STATUSREQUERIMENTO DESC";
            }

            else if (request.CampoOrdenacao == "TIPOREQUERIMENTONOME ASC")
            {
                request.CampoOrdenacao = "TIPOREQUERIMENTO ASC";
            }
            else if (request.CampoOrdenacao == "TIPOREQUERIMENTONOME DESC")
            {
                request.CampoOrdenacao = "TIPOREQUERIMENTO DESC";
            }


            else if (request.CampoOrdenacao == "REQUERENTENOME ASC")
            {
                request.CampoOrdenacao = "REQUERENTE ASC";
            }
            else if (request.CampoOrdenacao == "REQUERENTENOME DESC")
            {
                request.CampoOrdenacao = "REQUERENTE DESC";
            }

            else if (request.CampoOrdenacao == "ATENDENTENOME ASC")
            {
                request.CampoOrdenacao = "ATENDENTE ASC";
            }
            else if (request.CampoOrdenacao == "ATENDENTENOME DESC")
            {
                request.CampoOrdenacao = "ATENDENTE DESC";
            }
        }
Ejemplo n.º 19
0
        public ResponseGrid <ArquivoRequerimento> Listar(FormatGridUtils <ArquivoRequerimento> request, Usuario usuario)
        {
            var requerimentoRequest = new RequerimentoGridDC {
                Id = request.Entidade.RequerimentoId
            };
            var entityRequerimento = RequerimentoServer.GetRequerimentoId(requerimentoRequest, usuario); // Caso o usuário não ter permissão de visualizar os Arquivos irá gerar uma inconsistencia

            request.Entidade.RequerimentoId = entityRequerimento.Id;
            var arquivos = dbArquivoRequerimento.ListGrid(request);

            var response = new ResponseGrid <ArquivoRequerimento>();

            response.Entidades           = arquivos;
            response.QuantidadeRegistros = response.Entidades.TotalItemCount;

            return(response);
        }
Ejemplo n.º 20
0
        public IPagedList <StatusRequerimento> ListGrid(FormatGridUtils <StatusRequerimento> request)
        {
            var where = "";
            if (!string.IsNullOrWhiteSpace(request.SearchPhrase))
            {
                int id = 0;
                if (int.TryParse(request.SearchPhrase, out id))
                {
                    where = string.Format("Id = {0}", id);
                }

                bool ativo = true;
                if (bool.TryParse(request.SearchPhrase, out ativo))
                {
                    if (!string.IsNullOrWhiteSpace(where))
                    {
                        where += " OR ";
                    }
                    where += string.Format("Ativo = {0} ", ativo);
                    where += " OR ";
                    where += string.Format("Cancelamento = {0} ", ativo);
                }

                if (!string.IsNullOrWhiteSpace(where))
                {
                    where += " OR ";
                }

                where += string.Format("Nome.Contains(\"{0}\")", request.SearchPhrase);
            }
            else
            {
                where = "1=1";
            }

            using (var contexto = new ScirContext())
            {
                if (string.IsNullOrWhiteSpace(request.CampoOrdenacao))
                {
                    request.CampoOrdenacao = "Id asc";
                }

                return(contexto.StatusRequerimento.AsNoTracking().Where(where).OrderBy(request.CampoOrdenacao).ToPagedList(request.Current, request.RowCount));
            }
        }
Ejemplo n.º 21
0
        public JsonResult ListarTodos(string searchPhrase, int current = 1, int rowCount = 10)
        {
            var requerimento = new RequerimentoGridDC();

            var request = FormatGridUtils <Requerimento> .Format(Request, searchPhrase, requerimento, current, rowCount);

            AjustarCampoOrdenacao(request);

            var response = ServerRequerimento.ListarTudo(request);

            return(Json(new
            {
                rows = response.Entidades,
                current,
                rowCount,
                total = response.QuantidadeRegistros
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 22
0
        public JsonResult ListarAuditoriaRequerimento(string searchPhrase, int current = 1, int rowCount = 10, int requerimentoId = 0)
        {
            var requerimento = new Auditoria();

            requerimento.RequerimentoId = requerimentoId;

            var request = FormatGridUtils <Auditoria> .Format(Request, searchPhrase, requerimento, current, rowCount);

            var response = AuditoriaServer.Listar(request);

            return(Json(new
            {
                rows = response.Entidades,
                current,
                rowCount,
                total = response.QuantidadeRegistros
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 23
0
        public IPagedList <FluxoStatusGridDC> ListProximosGrid(FormatGridUtils <FluxoStatus> request, int statusAtualId, int tipoRequerimentoId)
        {
            using (var contexto = new ScirContext())
            {
                var innerJoin = from a in contexto.FluxoStatus
                                join b in contexto.StatusRequerimento on a.StatusAtualId equals b.Id
                                join c in contexto.StatusRequerimento on a.StatusProximoId equals c.Id
                                join d in contexto.TipoRequerimento on a.TipoRequerimentoId equals d.Id
                                where (a.StatusAtualId == statusAtualId && a.TipoRequerimentoId == tipoRequerimentoId) && (!string.IsNullOrWhiteSpace(request.SearchPhrase) ? (EF.Functions.Like(c.Nome, "%" + request.SearchPhrase + "%") || EF.Functions.Like(d.Nome, "%" + request.SearchPhrase + "%")) : (true))
                                select new
                {
                    a.StatusAtualId,
                    StatusAtualNome = b.Nome,
                    a.StatusProximoId,
                    StatusProximoNome = c.Nome,
                    a.TipoRequerimentoId,
                    TipoRequerimentoNome = d.Nome
                };


                if (string.IsNullOrWhiteSpace(request.CampoOrdenacao))
                {
                    request.CampoOrdenacao = "Id asc";
                }


                var listFluxoStatus = innerJoin.OrderBy(request.CampoOrdenacao).ToPagedList(request.Current, request.RowCount);
                var lista           = new List <FluxoStatusGridDC>();
                foreach (var item in listFluxoStatus)
                {
                    lista.Add(new FluxoStatusGridDC
                    {
                        StatusAtualId        = item.StatusAtualId,
                        StatusAtualNome      = item.StatusAtualNome,
                        StatusProximoId      = item.StatusProximoId,
                        StatusProximoNome    = item.StatusProximoNome,
                        TipoRequerimentoId   = item.TipoRequerimentoId,
                        TipoRequerimentoNome = item.TipoRequerimentoNome,
                        TotalItensGrid       = listFluxoStatus.TotalItemCount
                    });
                }
                return(lista.ToPagedList(1, request.RowCount));
            }
        }
Ejemplo n.º 24
0
        public JsonResult Listar(string searchPhrase, int current = 1, int rowCount = 10, bool filtrarPorAtendente = false, bool filtrarPorRequerente = false, bool origem = false)
        {
            var requerimento = new RequerimentoGridDC {
            };

            var request = FormatGridUtils <Requerimento> .Format(Request, searchPhrase, requerimento, current, rowCount);

            AjustarCampoOrdenacao(request);

            var response = new ResponseGrid <RequerimentoGridDC>();

            if (filtrarPorAtendente)
            {
                request.Entidade = new RequerimentoGridDC {
                    UsuarioAtendenteId = LoginServer.RetornarUsuarioLogado(User.Identity.Name).Id
                };
                response = ServerRequerimento.ListarPorAtendente(request);
            }
            else if (filtrarPorRequerente)
            {
                var usuario = LoginServer.RetornarUsuarioLogado(User.Identity.Name);
                request.Entidade = new RequerimentoGridDC {
                    UsuarioRequerenteId = usuario.Id
                };
                if ((usuario.PapelId == (int)PapelDao.PapelUsuario.Administrador || usuario.PapelId == (int)PapelDao.PapelUsuario.Servidor) && origem)
                {
                    response = ServerRequerimento.ListarTudo(request);
                }
                else
                {
                    response = ServerRequerimento.ListarPorRequerente(request);
                }
            }

            return(Json(new
            {
                rows = response.Entidades,
                current,
                rowCount,
                total = response.QuantidadeRegistros
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 25
0
        public IPagedList <ArquivoRequerimento> ListGrid(FormatGridUtils <ArquivoRequerimento> request)
        {
            var where = "REQUERIMENTOID = ";
            if (request.Entidade.RequerimentoId != 0)
            {
                where += request.Entidade.RequerimentoId;
            }
            else
            {
                where = "1 = 2";
            }
            if (!string.IsNullOrWhiteSpace(request.SearchPhrase))
            {
                int id = 0;
                if (int.TryParse(request.SearchPhrase, out id))
                {
                    where = string.Format("Id = {0}", id);
                }


                if (!string.IsNullOrWhiteSpace(where))
                {
                    where += " OR ";
                }

                where += string.Format("Nome.Contains(\"{0}\")", request.SearchPhrase);
            }

            using (var contexto = new ScirContext())
            {
                if (string.IsNullOrWhiteSpace(request.CampoOrdenacao) || request.CampoOrdenacao.ToUpper().Contains("SEQUENCIA"))
                {
                    request.CampoOrdenacao = "Id asc";
                }

                return(contexto.ArquivoRequerimento.AsNoTracking().Where(where).Include(p => p.Requerimento).OrderBy(request.CampoOrdenacao).ToPagedList(request.Current, request.RowCount));
            }
        }
Ejemplo n.º 26
0
        public IPagedList <RequerimentoGridDC> ListGrid(FormatGridUtils <Requerimento> request, bool filtrarPorAtendente, bool filtrarPorRequerente)
        {
            using (var contexto = new ScirContext())
            {
                //var innerJoin = from a in contexto.FluxoStatus
                //                join b in contexto.StatusRequerimento on a.StatusAtualId equals b.Id
                //                join c in contexto.StatusRequerimento on a.StatusProximoId equals c.Id
                //                join d in contexto.TipoRequerimento on a.TipoRequerimentoId equals d.Id
                //                where (!string.IsNullOrWhiteSpace(request.SearchPhrase)? EF.Functions.Like(b.Nome, "%"+request.SearchPhrase+"%") || EF.Functions.Like(d.Nome, "%" + request.SearchPhrase + "%") : a.StatusAtualId == a.StatusAtualId)
                //                select new
                //                {
                //                    a.StatusAtualId,
                //                    StatusAtualNome = b.Nome,
                //                    a.StatusProximoId,
                //                    StatusProximoNome = c.Nome,
                //                    a.TipoRequerimentoId,
                //                    TipoRequerimentoNome = d.Nome
                //                };

                var innerJoin = from a in contexto.Requerimento
                                join b in contexto.Usuario on a.UsuarioAtendenteId equals b.Id
                                join c in contexto.Usuario on a.UsuarioRequerenteId equals c.Id
                                join d in contexto.StatusRequerimento on a.StatusRequerimentoId equals d.Id
                                join e in contexto.TipoRequerimento on a.TipoRequerimentoId equals e.Id
                                where (!string.IsNullOrWhiteSpace(request.SearchPhrase) ? (EF.Functions.Like(d.Nome, "%" + request.SearchPhrase + "%") || EF.Functions.Like(e.Nome, "%" + request.SearchPhrase + "%") || EF.Functions.Like(a.Protocolo, "%" + request.SearchPhrase + "%") || EF.Functions.Like(b.Nome, "%" + request.SearchPhrase + "%") || EF.Functions.Like(c.Nome, "%" + request.SearchPhrase + "%")) && ((filtrarPorAtendente || filtrarPorRequerente) ? (filtrarPorAtendente? a.UsuarioAtendenteId == request.Entidade.UsuarioAtendenteId : 1 == 2) || (filtrarPorRequerente? a.UsuarioRequerenteId == request.Entidade.UsuarioRequerenteId : 1 == 2): 1 == 1) :
                                       (filtrarPorAtendente || filtrarPorRequerente)? ((filtrarPorAtendente ? a.UsuarioAtendenteId == request.Entidade.UsuarioAtendenteId : 1 == 2) || (filtrarPorRequerente ? a.UsuarioRequerenteId == request.Entidade.UsuarioRequerenteId : 1 == 2)) :
                                       1 == 1)
                                select new
                {
                    a.Id,
                    a.Protocolo,
                    a.Abertura,
                    a.TipoRequerimentoId,
                    TipoRequerimento = e.Nome,
                    a.StatusRequerimentoId,
                    StatusRequerimento = d.Nome,
                    Requerente         = c.Nome,
                    Atendente          = b.Nome
                };


                if (string.IsNullOrWhiteSpace(request.CampoOrdenacao))
                {
                    request.CampoOrdenacao = "Id asc";
                }

                var listFluxoStatus = innerJoin.OrderBy(request.CampoOrdenacao).ToPagedList(request.Current, request.RowCount);
                var lista           = new List <RequerimentoGridDC>();
                foreach (var item in listFluxoStatus)
                {
                    lista.Add(new RequerimentoGridDC
                    {
                        Id                     = item.Id,
                        Abertura               = item.Abertura,
                        AberturaToString       = item.Abertura.ToString("dd/MM/yyyy HH:mm"),
                        TipoRequerimentoNome   = item.TipoRequerimento,
                        TipoRequerimentoId     = item.TipoRequerimentoId,
                        StatusRequerimentoNome = item.StatusRequerimento,
                        StatusRequerimentoId   = item.StatusRequerimentoId,
                        Protocolo              = item.Protocolo,
                        TotalItensGrid         = listFluxoStatus.TotalItemCount,
                        AtendenteNome          = item.Atendente,
                        RequerenteNome         = item.Requerente
                    });
                }
                var retorno = lista.ToPagedList(1, request.RowCount);
                return(retorno);
            }
        }
Ejemplo n.º 27
0
 public IPagedList <Papel> ListGrid(FormatGridUtils <Papel> request)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 28
0
 public IPagedList <TipoValidacaoCurricular> ListGrid(FormatGridUtils <TipoValidacaoCurricular> request)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 29
0
 public IPagedList <TipoFormulario> ListGrid(FormatGridUtils <TipoFormulario> request)
 {
     throw new NotImplementedException();
 }