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()); }
public JsonResult Listar(Model.AnexGRID agrid) { return(Json(empleado.Listar(agrid), JsonRequestBehavior.AllowGet)); }
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()); }