Exemple #1
0
        public AnexGRIDResponde ListarPeriodos(AnexGRID grid)
        {
            try
            {
                using (var ctx = new SeguroContext())
                {
                    //inicializa la grilla
                    grid.Inicializar();

                    var query = ctx.tb_Periodo
                                .Include(x => x.tb_Estado)
                                .Where(x => x.IdPeriodo > 0);

                    // Ordenamiento
                    if (grid.columna == "IdPeriodo")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.IdPeriodo)
                                                             : query.OrderBy(x => x.IdPeriodo);
                    }

                    if (grid.columna == "Anio")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Anio)
                                                             : query.OrderBy(x => x.Anio);
                    }

                    if (grid.columna == "Mes")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Mes)
                                                             : query.OrderBy(x => x.Mes);
                    }

                    if (grid.columna == "DescripcionEstado")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.tb_Estado.DescripcionEstado)
                                                             : query.OrderBy(x => x.tb_Estado.DescripcionEstado);
                    }

                    // Filtros
                    foreach (var f in grid.filtros)
                    {
                        if (f.columna == "Anio")
                        {
                            query = query.Where(x => x.Anio.StartsWith(f.valor));
                        }

                        if (f.columna == "Mes")
                        {
                            query = query.Where(x => x.Mes.StartsWith(f.valor));
                        }

                        if (f.columna == "DescripcionEstado")
                        {
                            query = query.Where(x => x.tb_Estado.DescripcionEstado.StartsWith(f.valor));
                        }
                    }

                    //Skip(grid.pagina)-->se indica desde que página se inicia la paginacion
                    //Take(grid.limite)-->se indica la cantidad de registros a mostrar
                    var periodos = query.Skip(grid.pagina)
                                   .Take(grid.limite)
                                   .ToList();

                    //Se obtiene la cantidad de registros que hay en la tabla, se usa en la paginacion
                    var total = query.Count();

                    //
                    grid.SetData(
                        from p in periodos
                        select new
                    {
                        p.IdPeriodo,
                        p.Anio,
                        p.Mes,
                        p.tb_Estado.DescripcionEstado
                    },
                        total
                        );
                }
            }
            catch (Exception e)
            {
                ELog.save(this, e); //throw;
            }

            return(grid.responde());
        }
Exemple #2
0
 public JsonResult Listar(Model.AnexGRID agrid)
 {
     return(Json(empleado.Listar(agrid), JsonRequestBehavior.AllowGet));
 }
Exemple #3
0
        public AnexGRIDResponde Listar(AnexGRID grid)
        {
            try
            {
                using (var ctx = new ProyectoContext())
                {
                    grid.Inicializar();

                    var query = ctx.Cliente.Where(x => x.idcliente > 0);

                    // Ordenamiento
                    if (grid.columna == "id")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.idcliente)
                                                             : query.OrderBy(x => x.idcliente);
                    }

                    if (grid.columna == "nmcliente")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.nmcliente)
                                                             : query.OrderBy(x => x.nmcliente);
                    }

                    if (grid.columna == "ruccliente")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.ruccliente)
                                                             : query.OrderBy(x => x.ruccliente);
                    }

                    if (grid.columna == "empresa_id")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.empresa_id)
                                                             : query.OrderBy(x => x.empresa_id);
                    }

                    if (grid.columna == "estadocliente")
                    {
                        query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.estadocliente)
                                                             : query.OrderBy(x => x.estadocliente);
                    }

                    var cliente = query.Skip(grid.pagina)
                                  .Take(grid.limite)
                                  .ToList();



                    var total = query.Count();

                    grid.SetData(
                        from a in cliente
                        select new
                    {
                        a.idcliente,
                        a.nmcliente,
                        a.ruccliente,
                        a.empresa_id,
                        a.estadocliente
                    },
                        total
                        );
                }
            }
            catch (Exception E)
            {
                throw;
            }

            return(grid.responde());
        }