public List <DrzavaViewModel> GetDrzave(string searchQuery) { if (String.IsNullOrEmpty(searchQuery)) { return(_context.Drzave.OrderBy(x => x.Naziv).Take(5).Select(x => DrzavaViewModel.DataToViewModel(x)).ToList()); } return(_context.Drzave.Where(x => x.Sifra.StartsWith(searchQuery)).Take(5).Select(x => DrzavaViewModel.DataToViewModel(x)).ToList()); }
/// <summary> /// pomocu ove funkcije omogucavamo stranicenje i tablicu sa vise mogučnosti organizacije podataka, /// </summary> /// <param name="page"></param> /// <param name="sort"></param> /// <param name="ascending"></param> /// <returns></returns> public IActionResult Index(int page = 1, int sort = 1, bool ascending = true) { int pagesize = _appSettings.PageSize; //var query = _context.Putovanje.AsNoTracking(); var query = _context.Drzava.AsNoTracking(); int count = query.Count(); var pagingInfo = new PagingInfo { CurrentPage = page, Sort = sort, Ascending = ascending, ItemsPerPage = pagesize, TotalItems = count }; if (page > pagingInfo.TotalPages) { return(RedirectToAction(nameof(Index), new { page = pagingInfo.TotalPages, sort, ascending })); } System.Linq.Expressions.Expression <Func <Drzava, object> > orderSelection = null; switch (sort) { case 1: orderSelection = d => d.SifraDrzave; break; case 2: orderSelection = d => d.ImeDrzave; break; } if (orderSelection != null) { query = ascending ? query.OrderBy(orderSelection) : query.OrderByDescending(orderSelection); } var drzave = query.Skip((page - 1) * pagesize) .Take(_appSettings.PageSize) .ToList(); var model = new DrzavaViewModel { Drzava = drzave, PagingInfo = pagingInfo }; return(View(model)); }