Exemple #1
0
 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());
 }
Exemple #2
0
 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());
 }
Exemple #3
0
        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));
            }
        }