Beispiel #1
0
        private GridVM Consultar(string page, string sort, string sortdir, string filtro = null)
        {
            if (string.IsNullOrWhiteSpace(filtro))
            {
                where = a => !a.ca_atividadesPublicadas.Any();
            }
            else
            {
                int prioridadeOuID;

                if (int.TryParse(filtro, out prioridadeOuID))
                {
                    where = a => !a.ca_atividadesPublicadas.Any() && (a.prioridade == prioridadeOuID || a.id == prioridadeOuID);
                }
                else
                {
                    where = a => !a.ca_atividadesPublicadas.Any() && (a.sistema.Contains(filtro) || a.descricao.Contains(filtro));
                }
            }

            IQueryable <ca_atividade> atividadesAuxiliar = repositorio.Listar(where)
                                                           .OrderByDescending(a => a.prioridade).ThenByDescending(a => a.dt_inicio)
                                                           .ToList()
                                                           .OrderByDescending(a => a.prioridade).ThenByDescending(a => a.dt_inicio).AsQueryable();

            int pagina         = 0;
            int totalRegistros = repositorio.Listar(where).Count();

            GridVM grid = new GridVM();

            grid.PageLimit = base.pageLimit;
            grid.PageSize  = base.pageSize;

            if (totalRegistros > base.pageSize)
            {
                grid.TotalPages = int.Parse((totalRegistros / base.pageSize).ToString()) + 1;
            }
            else
            {
                page            = "1";
                grid.TotalPages = 1;
            }

            if (Int32.TryParse(page, out pagina))
            {
                atividadesAuxiliar = atividadesAuxiliar.Skip((pagina - 1) * base.pageSize).Take(base.pageSize);
            }
            else
            {
                atividadesAuxiliar = atividadesAuxiliar.Take(base.pageSize);
            }

            grid.PageIndex = pagina;

            List <ca_atividadeVM> atividades = new List <ca_atividadeVM>();

            foreach (var item in atividadesAuxiliar)
            {
                var atividade = new ca_atividadeVM();

                atividade.usuario    = item.ca_usuario == null ? "Não atribuído" : item.ca_usuario.nome;
                atividade.descricao  = "<div style='width: 400px;'>" + item.id + " - " + item.descricao.Replace("\r\n", "<br />") + "</div>";
                atividade.prioridade = item.prioridade;
                atividade.dt_inicio  = item.dt_inicio.HasValue ? item.dt_inicio.Value.ToShortDateString() : "Não iniciado";
                atividade.dt_fim     = item.dt_inicio.HasValue ? (item.dt_fim.HasValue ? item.dt_fim.Value.ToShortDateString() : "Não finalizado") : "";
                atividade.sistema    = item.sistema;
                atividade.operacoes  =
                    "<span style='padding-right: 3px;'><a href='#' class='btn btn-info' href='#' onclick='alterar(" + item.id
                    + ");'><i class='icon-white icon-edit'></i></a></span>"
                    + "<br /><br />"
                    + "<span style='padding-right: 3px;'><a href='#' class='btn btn-danger' onclick='excluir(" + item.id
                    + ");'><i class='icon-white icon-trash'></i></a></span>";

                atividades.Add(atividade);
            }

            grid.Lista = atividades;
            grid.Tipo  = typeof(ca_atividadeVM);

            return(grid);
        }
Beispiel #2
0
        private GridVM Consultar(string page, string sort, string sortdir, string filtro = null)
        {
            if (string.IsNullOrWhiteSpace(filtro))
            {
                where = p => true;
            }
            else
            {
                where = p => p.sistema.Contains(filtro) || p.ca_atividadesPublicadas.Count(ap => ap.ca_atividade.descricao.Contains(filtro)) > 0;
            }

            GridVM grid = new GridVM();
            List <ca_publicacaoVM>     publicacoes = new List <ca_publicacaoVM>();
            IQueryable <ca_publicacao> aux;

            aux = repositorio.Listar(where).OrderBy(u => u.dt_publicacao);

            int pagina         = 0;
            int totalRegistros = repositorio.Listar(where).Count();

            grid.PageLimit = base.pageLimit;
            grid.PageSize  = base.pageSize;

            if (totalRegistros > base.pageSize)
            {
                grid.TotalPages = int.Parse((totalRegistros / base.pageSize).ToString()) + 1;
            }
            else
            {
                page            = "1";
                grid.TotalPages = 1;
            }

            if (Int32.TryParse(page, out pagina))
            {
                aux = aux.Skip((pagina - 1) * base.pageSize).Take(base.pageSize);
            }
            else
            {
                aux = aux.Take(base.pageSize);
            }

            grid.PageIndex = pagina;

            foreach (var item in aux)
            {
                var publicacao = new ca_publicacaoVM();

                publicacao.usuario       = item.ca_usuario.nome;
                publicacao.dt_publicacao = item.dt_publicacao.HasValue ? item.dt_publicacao.Value.ToShortDateString() : "Não publicado";
                publicacao.sistema       = item.sistema;

                var atividades = item.ca_atividadesPublicadas.Select(ap => ap.ca_atividade);

                foreach (var atividade in atividades)
                {
                    string texto = "<strong>Prioridade:</strong> " + atividade.prioridade
                                   + "<br /><strong>Período: </strong> " + (atividade.dt_inicio.HasValue ? atividade.dt_inicio.Value.ToShortDateString() : "--/--/----")
                                   + " <strong>até</strong> " + (atividade.dt_fim.HasValue ? atividade.dt_fim.Value.ToShortDateString() : "--/--/----")
                                   + "<br /><strong>Descrição:</strong> " + atividade.descricao;

                    if (string.IsNullOrWhiteSpace(publicacao.atividades))
                    {
                        publicacao.atividades += texto;
                    }
                    else
                    {
                        publicacao.atividades += "<br /><br />" + texto;
                    }
                }

                publicacao.operacoes =
                    "<span style='padding-right: 3px;'><a href='#' class='btn btn-info' href='#' onclick='alterar(" + item.id
                    + ");'><i class='icon-white icon-edit'></i></a></span>"
                    + "<br /><br />"
                    + "<span style='padding-right: 3px;'><a href='#' class='btn btn-danger' onclick='excluir(" + item.id
                    + ");'><i class='icon-white icon-trash'></i></a></span>";

                publicacoes.Add(publicacao);
            }


            grid.Lista = publicacoes;
            grid.Tipo  = typeof(ca_publicacaoVM);

            return(grid);
        }