Ejemplo n.º 1
0
        /// <summary>
        /// Tablicni prikaz sastanaka
        /// </summary>
        /// <param name="page">Stranica koju zelimo prikazati</param>
        /// <param name="sort">Index stupca po kojem sortiramo</param>
        /// <param name="ascending">Smjer sortiranja (true za uzlazno)</param>
        /// <returns>novi pogled</returns>
        public IActionResult Index(int page = 1, int sort = 1, bool ascending = true)
        {
            int pagesize = appSettings.PageSize;
            var query    = ctx.Sastanak.Include(z => z.SifraStozeraNavigation).AsNoTracking();

            int count = query.Count();

            var pagingInfo = new PagingInfo
            {
                CurrentPage  = page,
                Sort         = sort,
                Ascending    = ascending,
                ItemsPerPage = pagesize,
                TotalItems   = count
            };

            if (page > pagingInfo.TotalItems)
            {
                return(RedirectToAction(nameof(Index), new { page = pagingInfo.TotalPages, sort, ascending }));
            }

            System.Linq.Expressions.Expression <Func <Sastanak, object> > orderSelector = null;

            switch (sort)
            {
            case 1:
                orderSelector = d => d.SifraStozeraNavigation.Naziv;
                break;

            case 3:
                orderSelector = d => d.Datum;
                break;
            }

            if (orderSelector != null)
            {
                query = ascending ? query.OrderBy(orderSelector) : query.OrderByDescending(orderSelector);
            }

            var sastanci = query
                           .Select(m => new SastanakViewModel
            {
                NazivStozera  = m.SifraStozeraNavigation.Naziv,
                Datum         = m.Datum,
                SifraSastanka = m.SifraSastanka
            })
                           .Skip((page - 1) * pagesize)
                           .Take(pagesize)
                           .ToList();


            var model = new SastanciViewModel
            {
                Sastanci   = sastanci,
                PagingInfo = pagingInfo
            };

            return(View(model));
        }
Ejemplo n.º 2
0
 public SastanciPage(int Klijent)
 {
     InitializeComponent();
     KlijentId      = Klijent;
     BindingContext = model = new SastanciViewModel(KlijentId);
 }