/// <summary></summary> public override void OnActionExecuting(ActionExecutingContext filterContext) { IPageParams pageParams = filterContext.ActionParameters.Values.OfType <IPageParams>().FirstOrDefault(); if (pageParams == null) { base.OnActionExecuting(filterContext); return; } var request = filterContext.HttpContext.Request; var response = filterContext.HttpContext.Response; if (pageParams.PageSize > 0) { response.Cookies.Add(new HttpCookie(_sizeParam) { Value = pageParams.PageSize.ToString(), Expires = DateTime.Now.AddYears(1), }); } else { pageParams.PageSize = _defaultSize; try { pageParams.PageSize = int.Parse(request.Cookies[_sizeParam].Value); } catch { } } filterContext.Controller.ViewData[_sizeParam] = pageParams.PageSize; base.OnActionExecuting(filterContext); }
public FindStoresByChainIdQuery(Guid chainId, IPageParams pageParams) { ChainId = chainId; PageParams = pageParams; }
public static int GetCurrentPage(this IPageParams @this) => @this.StartIndex / @this.Length;
public FindProductListPagedQuery(IPageParams pageParams) { PageParams = pageParams; }
public FindProductListQuoteQuery(Guid productListId, decimal latitude, decimal longitude, IPageParams pageParams) { ProductListId = productListId; Latitude = latitude; Longitude = longitude; PageParams = pageParams ?? throw new ArgumentNullException(nameof(pageParams)); }
public static async Task <PagedCollection <T> > ToPagedCollectionAsync <T>(this IQueryable <T> query, IPageParams pageParams) { var data = await query .Skip(pageParams.StartIndex) .Take(pageParams.Length) .ToListAsync(); var count = data.Any() ? await query.CountAsync() : 0; return(new PagedCollection <T>(data, count, pageParams.GetCurrentPage())); }
public async Task <IList <PasswordSite> > GetAllPasswords(string userId, string search, ISortParams sortParams, IPageParams pageParams) => await dataContext.PasswordSites .Where(x => x.UserId == userId) .Where(string.IsNullOrEmpty(search), x => x.NameSite.Contains(search) || x.UserNameSite.Contains(search)) .OrderBy(sortParams, "nameSite", x => x.NameSite) .ThenBy(sortParams, "userNameSite", x => x.UserNameSite) .ThenBy(sortParams, "password", x => x.Password) .Skip(pageParams.Skip) .Take(pageParams.Take) .ToListAsync();
public FindStoreChainPagedQuery(IPageParams pageParams) { PageParams = pageParams; }