// GET: Partners public async Task <IActionResult> Index(int page = 1, int sort = 1, bool ascending = true) { int pagesize = appData.PageSize; var query = _context.Partner.Include(p => p.PartnerTipovi).AsNoTracking(); int count = query.Count(); Expression <Func <Partner, object> > orderSelector = null; switch (sort) { case 1: orderSelector = d => d.Id; break; case 2: orderSelector = d => d.Naziv; break; case 3: orderSelector = d => d.Adresa; break; case 4: orderSelector = d => d.PartnerTipovi.Naziv; break; } if (orderSelector != null) { query = ascending ? query.OrderBy(orderSelector) : query.OrderByDescending(orderSelector); //if (ascending) // query.OrderBy(orderSelector); //else // query.OrderByDescending(orderSelector); } var viewModel = new PartneriViewModel(); viewModel.Partneri = await query.ToListAsync(); var pagingInfo = new PagingInfo { CurrentPage = page, Sort = sort, Ascending = ascending, ItemsPerPage = pagesize, TotalItems = count }; viewModel.PagingInfo = pagingInfo; return(View(viewModel)); }
// GET: Partneri public IActionResult Index() { var allPartneri = _repository.GetAllPartneri(); var model = new PartneriViewModel { Partneri = allPartneri }; return(View(model)); }
public IActionResult Index(string filter, int page = 1, int sort = 1, bool ascending = true) { int pagesize = appData.PageSize; var query = ctx.VwPartner.AsQueryable(); int count = query.Count(); var pagingInfo = new PagingInfo { CurrentPage = page, Sort = sort, Ascending = ascending, ItemsPerPage = pagesize, TotalItems = count }; if (page < 1) { page = 1; } else if (page > pagingInfo.TotalPages) { return(RedirectToAction(nameof(Index), new { page = pagingInfo.TotalPages, sort = sort, ascending = ascending })); } System.Linq.Expressions.Expression <Func <ViewPartner, object> > orderSelector = null; switch (sort) { case 1: orderSelector = p => p.IdPartnera; break; case 2: orderSelector = p => p.TipPartnera; break; case 3: orderSelector = p => p.Mbr; break; case 4: orderSelector = p => p.Naziv; break; } if (orderSelector != null) { query = ascending ? query.OrderBy(orderSelector) : query.OrderByDescending(orderSelector); } var partneri = query .Skip((page - 1) * pagesize) .Take(pagesize) .ToList(); var model = new PartneriViewModel { Partneri = partneri, PagingInfo = pagingInfo }; return(View(model)); }
public IActionResult Index(string filter, int page = 1, int sort = 1, bool ascending = true) { int pagesize = appData.PageSize; //var sql = "SELECT * FROM vw_partner"; //potrebbon ako se ne zove vw_Partner u FirmaContext var query = ctx.vw_Partner .AsNoTracking(); //.FromSql(sql); 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 = sort, ascending = ascending })); } System.Linq.Expressions.Expression <Func <ViewPartner, object> > orderSelector = null; switch (sort) { case 1: orderSelector = p => p.IdPartnera; break; case 2: orderSelector = p => p.TipPartnera; break; case 3: orderSelector = p => p.OIB; break; case 4: orderSelector = p => p.Naziv; break; } if (orderSelector != null) { query = ascending ? query.OrderBy(orderSelector) : query.OrderByDescending(orderSelector); } var partneri = query .Skip((page - 1) * pagesize) .Take(pagesize) .ToList(); var model = new PartneriViewModel { Partneri = partneri, PagingInfo = pagingInfo }; return(View(model)); }