public ZahtjeviPage() { InitializeComponent(); BindingContext = model = new ZahtjeviViewModel(); }
public IActionResult Index(int page = 1, int sort = 1, bool ascending = true) { int pagesize = _appSettings.PageSize; var query = _ctx.Zahtjev.AsNoTracking(); int count = query.Count(); var pagingInfo = new PagingInfo { CurrentPage = page, Ascending = ascending, Sort = sort, ItemsPerPage = pagesize, TotalItems = count }; if (page > pagingInfo.TotalPages) { return(RedirectToAction(nameof(Index), new { page = pagingInfo.TotalPages, sort, ascending })); } System.Linq.Expressions.Expression <Func <Zahtjev, object> > orderSelector = null; switch (sort) { case 1: orderSelector = b => b.IdZahtjeva; break; case 2: orderSelector = b => b.IdUslugeNavigation.NazivUsluge; break; case 3: orderSelector = b => b.IdKlijenta; break; case 4: orderSelector = b => b.RutaKilometri; break; case 5: orderSelector = b => b.DatumOd; break; case 6: orderSelector = b => b.DatumDo; break; case 7: orderSelector = b => b.BrojVozila; break; } if (orderSelector != null) { query = ascending ? query.OrderBy(orderSelector) : query.OrderByDescending(orderSelector); } var zahtjevi = query .Select(s => new ZahtjevViewModel { IdZahtjeva = s.IdZahtjeva, NazivUsluge = s.IdUslugeNavigation.NazivUsluge, ImePrezime = s.IdKlijentaNavigation.FirstName + " " + s.IdKlijentaNavigation.LastName, DatumOd = s.DatumOd, DatumDo = s.DatumDo, BrojVozila = s.BrojVozila }) .Skip((page - 1) * pagesize) .Take(pagesize) .ToList(); var modelD = new ZahtjeviViewModel { Zahtjevi = zahtjevi, PagingInfo = pagingInfo }; return(View(modelD)); }