//public IList<Departamento> Departamento { get;set; } public async Task OnGetAsync(string sortOrder, string currentFilter, string searchString, int?pageIndex) { CurrentSort = sortOrder; NameSort = (sortOrder == "Nombre") ? "Nombre_desc" : "Nombre"; CodeSort = (sortOrder == "Codigo") ? "Codigo_desc" : "Codigo"; PaisSort = (sortOrder == "Pais") ? "Pais_desc" : "Pais"; if (searchString != null) { pageIndex = 1; } else { searchString = currentFilter; } CurrentFilter = searchString; IQueryable <Departamento> departamentosIQ = _context.Departamento .Include(c => c.Pais) .AsQueryable(); if (!String.IsNullOrEmpty(searchString)) { departamentosIQ = departamentosIQ.Where(s => s.Nombre.Contains(searchString) || s.Codigo.Contains(searchString) || s.Pais.Nombre.Contains(searchString) ); } switch (sortOrder) { case "Nombre": departamentosIQ = departamentosIQ.OrderBy(s => s.Nombre); break; case "Nombre_desc": departamentosIQ = departamentosIQ.OrderByDescending(s => s.Nombre); break; case "Codigo": departamentosIQ = departamentosIQ.OrderBy(s => s.Codigo); break; case "Pais": departamentosIQ = departamentosIQ.OrderBy(s => s.Pais.Nombre); break; case "Pais_desc": departamentosIQ = departamentosIQ.OrderByDescending(s => s.Pais.Nombre); break; default: departamentosIQ = departamentosIQ.OrderBy(s => s.Id); break; } int pageSize = 4; Departamento = await ListaPaginada <Departamento> .CreateAsync( departamentosIQ.AsNoTracking(), pageIndex ?? 1, pageSize); }
// public IList<Pais> Pais { get;set; } public async Task OnGetAsync(string sortOrder, string currentFilter, string searchString, int?pageIndex) { CurrentSort = sortOrder; NameSort = (sortOrder == "Nombre") ? "Nombre_desc" : "Nombre"; CodeSort = (sortOrder == "Codigo") ? "Codigo_desc" : "Codigo"; if (searchString != null) { pageIndex = 1; } else { searchString = currentFilter; } CurrentFilter = searchString; IQueryable <Pais> paisesIQ = _context.Pais .AsQueryable(); if (!String.IsNullOrEmpty(searchString)) { paisesIQ = paisesIQ.Where(s => s.Nombre.Contains(searchString) || s.Codigo.Contains(searchString) ); } switch (sortOrder) { case "Nombre": paisesIQ = paisesIQ.OrderBy(s => s.Nombre); break; case "Nombre_desc": paisesIQ = paisesIQ.OrderByDescending(s => s.Nombre); break; case "Codigo": paisesIQ = paisesIQ.OrderBy(s => s.Codigo); break; default: paisesIQ = paisesIQ.OrderBy(s => s.Id); break; } int pageSize = 5; Pais = await ListaPaginada <Pais> .CreateAsync( paisesIQ.AsNoTracking(), pageIndex ?? 1, pageSize); }