Пример #1
0
 public IList<Katapoka.DAO.Projeto_Tb> GetProjetosFiltro(int? idProjeto, int? idEmpresa, string dsNome, int? idUsuarioCriacao, DateTime? dtCriacao, OrdenacaoProjeto ordem, int skip = 0, int? take = null)
 {
     if (take == null)
         return GetQueryProjetos(idProjeto, idEmpresa, dsNome, idUsuarioCriacao, dtCriacao, ordem).Skip(skip).ToList();
     return GetQueryProjetos(idProjeto, idEmpresa, dsNome, idUsuarioCriacao, dtCriacao, ordem).Skip(skip).Take(take.Value).ToList();
 }
Пример #2
0
        private IEnumerable<Katapoka.DAO.Projeto_Tb> GetQueryProjetos(int? idProjeto, int? idEmpresa, string dsNome, int? idUsuarioCriacao, DateTime? dtCriacao, OrdenacaoProjeto ordem)
        {
            var query = this.Context.Projeto_Tb.AsQueryable();
            if (idProjeto != null)
                query = query.Where(p => p.IdProjeto == idProjeto.Value);

            if (idEmpresa != null)
                query = query.Where(p => p.IdEmpresa == idEmpresa.Value);

            if (!string.IsNullOrWhiteSpace(dsNome))
                query = query.Where(p => p.DsNome.Contains(dsNome));

            if (idUsuarioCriacao != null)
                query = query.Where(p => p.IdUsuarioCriacao == idUsuarioCriacao.Value);

            if (dtCriacao != null)
                query = query.Where(p => p.DtCriacao == dtCriacao.Value);

            Func<Katapoka.DAO.Projeto_Tb, object> paramOrdenacao = null;

            switch (ordem)
            {
                case OrdenacaoProjeto.EmpresaC:
                case OrdenacaoProjeto.EmpresaD:
                    paramOrdenacao = p => p.Empresa_Tb.DsNomeFantasia;
                    break;
                case OrdenacaoProjeto.IdC:
                case OrdenacaoProjeto.IdD:
                    paramOrdenacao = p => p.IdEmpresa;
                    break;
                case OrdenacaoProjeto.NomeProjetoC:
                case OrdenacaoProjeto.NomeProjetoD:
                    paramOrdenacao = p => p.DsNome;
                    break;
            }

            if (paramOrdenacao != null)
            {

                if (new OrdenacaoProjeto[] { OrdenacaoProjeto.EmpresaC, OrdenacaoProjeto.IdC, OrdenacaoProjeto.NomeProjetoC }
                    .Contains(ordem))
                    return query.OrderBy(paramOrdenacao);
                else if (new OrdenacaoProjeto[] { OrdenacaoProjeto.EmpresaD, OrdenacaoProjeto.IdD, OrdenacaoProjeto.NomeProjetoD }
                    .Contains(ordem))
                    return query.OrderByDescending(paramOrdenacao);
                else
                    return query; //Nunca deve chegar nesse return, mas por via das dúvidas, deixa ele aí
            }
            else
            {
                return query;
            }
        }
Пример #3
0
 public int GetCountProjetos(int? idProjeto, int? idEmpresa, string dsNome, int? idUsuarioCriacao, DateTime? dtCriacao, OrdenacaoProjeto ordem)
 {
     return GetQueryProjetos(idProjeto, idEmpresa, dsNome, idUsuarioCriacao, dtCriacao, ordem).Count();
 }