public int GetCountAtividades(int?idProjetoAtividade, int?idProjeto, string dsTitulo, DateTime?dtTermino, string dsAtividade, int?idUsuarioCriacao, DateTime?dtCriacao, OrdenacaoAtividade ordem, StatusAtividade?status = null) { return(GetQueryAtividades(idProjetoAtividade, idProjeto, dsTitulo, dtTermino, dsAtividade, idUsuarioCriacao, dtCriacao, ordem, status).Count()); }
public IList <Katapoka.DAO.Atividade_Tb> GetFiltroQueryAtividades(int?idProjetoAtividade, int?idProjeto, string dsTitulo, DateTime?dtTermino, string dsAtividade, int?idUsuarioCriacao, DateTime?dtCriacao, OrdenacaoAtividade ordem, StatusAtividade?status = null, int skip = 0, int?take = null) { if (take == null) { return(GetQueryAtividades(idProjetoAtividade, idProjeto, dsTitulo, dtTermino, dsAtividade, idUsuarioCriacao, dtCriacao, ordem, status).Skip(skip).ToList()); } return(GetQueryAtividades(idProjetoAtividade, idProjeto, dsTitulo, dtTermino, dsAtividade, idUsuarioCriacao, dtCriacao, ordem, status).Skip(skip).Take(take.Value).ToList()); }
private IEnumerable <Katapoka.DAO.Atividade_Tb> GetQueryAtividades(int?idProjetoAtividade, int?idProjeto, string dsTitulo, DateTime?dtTermino, string dsAtividade, int?idUsuarioCriacao, DateTime?dtCriacao, OrdenacaoAtividade ordem, StatusAtividade?status = null) { var query = this.Context.Atividade_Tb.AsQueryable(); if (idProjetoAtividade != null) { query = query.Where(p => p.IdAtividade == idProjetoAtividade.Value); } if (idProjeto != null) { query = query.Where(p => p.IdProjeto == idProjeto.Value); } if (!string.IsNullOrWhiteSpace(dsTitulo)) { query = query.Where(p => p.DsTituloAtividade.Contains(dsTitulo)); } if (dtTermino != null) { query = query.Where(p => p.DtTermino == dtTermino.Value); } if (!string.IsNullOrWhiteSpace(dsAtividade)) { query = query.Where(p => p.DsAtividade.Contains(dsAtividade)); } if (idUsuarioCriacao != null) { query = query.Where(p => p.IdUsuarioCriacao == idUsuarioCriacao.Value); } if (dtCriacao != null) { query = query.Where(p => p.DtCriacao == dtCriacao.Value); } if (status != null) { switch (status.Value) { case StatusAtividade.Ativa: query = query.Where(p => p.FlStatus == "A"); break; case StatusAtividade.Lixeira: query = query.Where(p => p.FlStatus == "L"); break; case StatusAtividade.Excluida: query = query.Where(p => p.FlStatus == "E"); break; } } Func <Katapoka.DAO.Atividade_Tb, object> paramOrdenacao = null; switch (ordem) { case OrdenacaoAtividade.DtInicioC: case OrdenacaoAtividade.DtInicioD: paramOrdenacao = p => p.DtInicio; break; case OrdenacaoAtividade.DtTerminoC: case OrdenacaoAtividade.DtTerminoD: paramOrdenacao = p => p.DtTermino; break; case OrdenacaoAtividade.IdC: case OrdenacaoAtividade.IdD: paramOrdenacao = p => p.IdAtividade; break; case OrdenacaoAtividade.PorcentagemC: case OrdenacaoAtividade.PorcentagemD: paramOrdenacao = p => p.VrCompletoPorcentagem; break; case OrdenacaoAtividade.TempoEstimadoC: case OrdenacaoAtividade.TempoEstimadoD: paramOrdenacao = p => p.QtTempoEstimado; break; case OrdenacaoAtividade.TempoExecutadoC: case OrdenacaoAtividade.TempoExecutadoD: paramOrdenacao = p => p.QtTempoExecutado; break; case OrdenacaoAtividade.TituloC: case OrdenacaoAtividade.TituloD: paramOrdenacao = p => p.DsTituloAtividade; break; } if (paramOrdenacao == null) { return(query); } else if (new OrdenacaoAtividade[] { OrdenacaoAtividade.DtInicioC, OrdenacaoAtividade.DtTerminoC, OrdenacaoAtividade.IdC, OrdenacaoAtividade.PorcentagemC, OrdenacaoAtividade.TempoEstimadoC, OrdenacaoAtividade.TempoExecutadoC, OrdenacaoAtividade.TituloC } .Contains(ordem)) { return(query.OrderBy(paramOrdenacao)); } else { return(query.OrderByDescending(paramOrdenacao)); } }