Exemplo n.º 1
0
 public ZahtjeviPage()
 {
     InitializeComponent();
     BindingContext = model = new ZahtjeviViewModel();
 }
Exemplo n.º 2
0
        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));
        }