Esempio n. 1
0
 public MjerePage(int dogadjajId)
 {
     InitializeComponent();
     BindingContext = model = new MjereViewModel()
     {
         DogadjajId = dogadjajId
     };
 }
Esempio n. 2
0
        /// <summary>
        /// Prikaz zeljene stranice tablice
        /// </summary>
        /// <param name="page">Redni broj stranice</param>
        /// <param name="sort">Redni broj stupca po kojem se sortira</param>
        /// <param name="ascending">Smjer sortiranje (true za uzlazno)</param>
        /// <returns></returns>
        public IActionResult Index(int page = 1, int sort = 1, bool ascending = true)
        {
            int pagesize = appSettings.PageSize;
            var query    = ctx.Mjera.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 <Mjera, object> > orderSelector = null;

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

            case 2:
                orderSelector = d => d.SifraSastanka;
                break;

            case 3:
                orderSelector = d => d.SifraPrethodneMjere;
                break;

            case 4:
                orderSelector = d => d.Opis;
                break;

            case 5:
                orderSelector = d => d.Datum;
                break;

            case 6:
                orderSelector = d => d.VrijediDo;
                break;
            }

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

            var mjere = query
                        .Select(m => new MjeraViewModel
            {
                SifraMjere          = m.SifraMjere,
                SifraSastanka       = m.SifraSastanka,
                SifraPrethodneMjere = m.SifraPrethodneMjere == null ? -1 : m.SifraPrethodneMjere,
                Opis      = m.Opis,
                Datum     = m.Datum,
                VrijediDo = m.VrijediDo
            })
                        .Skip((page - 1) * pagesize)
                        .Take(pagesize)
                        .ToList();


            var model = new MjereViewModel
            {
                Mjere      = mjere,
                PagingInfo = pagingInfo
            };

            return(View(model));
        }