Пример #1
0
 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());
 }
Пример #2
0
        /// <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));
        }