예제 #1
0
        //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);
        }
예제 #2
0
        // 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);
        }