예제 #1
0
        public async Task <IActionResult> IndexFilter([Bind("NomeSearch,Page,RequerentesPerPage")] RequerentesSearchViewModel search)
        {
            int skipNum = (search.Page - 1) * search.RequerentesPerPage;

            // Recolher os serviços por página do cookie
            int rPP = CookieAPI.GetAsInt32(Request, "RequerentesPerPage") ?? _rPP;

            // Caso o utilizador tenha alterado os serviços por página, alterar a variável global e guardar
            // o novo  valor no cookie
            if (search.RequerentesPerPage != rPP)
            {
                rPP = search.RequerentesPerPage;
                CookieAPI.Set(Response, "RequerentesPerPage", rPP.ToString());
            }

            // Query de todos os requerentes
            IQueryable <Requerente> requerentes = _context.Requerentes.AsQueryable().OrderBy(r => r.Nome);

            if (!String.IsNullOrEmpty(search.NomeSearch))
            {
                requerentes = requerentes.Where(r => r.Nome.Contains(search.NomeSearch)).OrderBy(r => r.Nome);
            }

            requerentes = requerentes.Include(r => r.Servicos).Skip(skipNum);

            RequerentesViewModels response = new RequerentesViewModels
            {
                Requerentes = await requerentes.Take(rPP).ToListAsync(),
                FirstPage   = (search.Page == 1),
                LastPage    = (requerentes.Count() <= rPP),
                PageNum     = search.Page
            };

            return(PartialView("PartialViews/_IndexCards", response));
        }
예제 #2
0
        // GET: Requerentes
        public async Task <IActionResult> Index(int?page = 1)
        {
            // Fornecer feedback ao cliente caso este exista.
            // Este feedback é fornecido na view a partir de uma notificação 'Noty'
            if (TempData["Feedback"] != null)
            {
                ViewData["Feedback"] = TempData["Feedback"];
                ViewData["Type"]     = TempData["Type"] ?? "success";
            }

            var requerentes = _context.Requerentes.Include(r => r.Servicos)
                              .OrderBy(r => r.Nome);

            // Recolher as galerias por página do cookie
            int rPP = CookieAPI.GetAsInt32(Request, "RequerentesPerPage") ?? _rPP;

            ViewData["rPP"] = rPP;

            RequerentesViewModels response = new RequerentesViewModels
            {
                Requerentes = await requerentes.Take(rPP).ToListAsync(),
                FirstPage   = true,
                LastPage    = (requerentes.Count() <= rPP),
                PageNum     = 1
            };

            return(View(response));
        }