public static MvcHtmlString Pager(this HtmlHelper htmlHelper, PaginationFilterViewModel paginationFilterViewModel, Func <int, MvcHtmlString> pageItemActionLinkFunc, Func <MvcHtmlString> prevActionLinkFunc, Func <MvcHtmlString> nextActionLinkFunc) { string htmlTemplate = ResourceReader.ReadAsString(typeof(HtmlHelperExtensions), "OS.Web.HtmlTemplates.paginationTemplate.html"); htmlTemplate = htmlTemplate.Replace("{{prev}}", prevActionLinkFunc != null ? htmlHelper.Raw(prevActionLinkFunc()).ToString() : ""); htmlTemplate = htmlTemplate.Replace("{{next}}", nextActionLinkFunc != null ? htmlHelper.Raw(nextActionLinkFunc()).ToString() : ""); StringBuilder itemsStringBuilder = new StringBuilder(); for (int i = 0; i < paginationFilterViewModel.GetPagesCount(); i++) { itemsStringBuilder.AppendFormat("<li {0}>{1}</li>", (i + 1) == paginationFilterViewModel.PageNumber ? "class='current-page'" : "", htmlHelper.Raw(pageItemActionLinkFunc(i + 1))); } string rawString = htmlTemplate.Replace("{{pageItems}}", itemsStringBuilder.ToString()); MvcHtmlString result = new MvcHtmlString(rawString); return(result); }
public IActionResult Naselja([FromQuery] PaginationFilterViewModel filters) { return(Ok(new { naselja = _naseljaService.GetFilteredNaselja(filters), count = _naseljaService.CountNaselja() })); }
public List <NaseljeViewModel> GetFilteredNaselja(PaginationFilterViewModel filters) { IQueryable <Naselje> naselja = _context.Naselja.Include(x => x.Drzava); int pages = (int)Math.Ceiling((decimal)naselja.Count() / filters.PageSize); if (filters.PageNumber > pages) { filters.PageNumber = 1; } naselja = naselja.Skip((filters.PageNumber - 1) * filters.PageSize).Take(filters.PageSize); return(naselja.Select(x => NaseljeViewModel.DataToViewModel(x)).ToList()); }
public IActionResult ObterImagensPaginacaoPorUsuario([FromBody] PaginationFilterViewModel <ImagemViewModel> paginationFilterViewModel) { var response = _imagemAppService.ObterImagensPaginadasPorUsuario(paginationFilterViewModel); return(Ok(response)); }
public PaginationFilterViewModel <ImagemViewModel> ObterImagensPaginadasPorUsuario(PaginationFilterViewModel <ImagemViewModel> paginationFilterViewModel) { var pagination = _mapper.Map <PaginationFilter <Imagem> >(paginationFilterViewModel); var resultPagination = _imagemRepository.ObterImagensPaginadasPorIdUsuario(pagination, IdUsuario); return(_mapper.Map <PaginationFilterViewModel <ImagemViewModel> >(resultPagination)); }