public async ValueTask <ActionResult <PageContent <T> > > PageSearch([FromQuery] string filter, [FromQuery] int pageIndex = 0, [FromQuery] int pageSize = 50) { try { var searchResult = await Search(filter); if (searchResult is ForbidResult forbid) { return(forbid); } var settings = new HttpPageSettings { Mode = HttpPageMode.Page, PageIndex = pageIndex, PageSize = pageSize }; var content = Pagination(searchResult.Value, settings, false); return(new ActionResult <PageContent <T> >(new PageContent <T> { Info = settings, Items = content })); } catch (Exception ex) { return(BadRequest(ex, null)); } }
public LoadProgress(string filter, HttpPageSettings list, HttpJsonSettings json, ProgressToken progressToken) { Filter = filter; ListSettings = list; JsonSettings = json; Token = progressToken; }
public static bool WritePageSettings(this HttpContext httpContext, HttpPageSettings pageSettings) { return(httpContext.WriteInt(HttpPageSettings.XListCount, pageSettings.ListCount) && httpContext.WriteInt(HttpPageSettings.XListFrom, pageSettings.ListFrom) && httpContext.WriteInt(HttpPageSettings.XListTo, pageSettings.ListTo) && httpContext.WriteInt(HttpPageSettings.XPageCount, pageSettings.PageCount) && httpContext.WriteInt(HttpPageSettings.XPageIndex, pageSettings.PageIndex) && httpContext.WriteInt(HttpPageSettings.XPageSize, pageSettings.PageSize)); }
private IEnumerable <F> Pagination <F>(IEnumerable <F> result, HttpPageSettings pages, bool writeHeader = true) { result = pages.Pagination <F>(result); if (writeHeader) { HttpContext.WritePageSettings(pages); } return(result); }
public static HttpPageSettings ReadPageSettings(this HttpContext httpContext) { var listFrom = httpContext.ReadInt(HttpPageSettings.XListFrom); var listTo = httpContext.ReadInt(HttpPageSettings.XListTo); if (listTo != null) { return(HttpPageSettings.FromList(listFrom ?? 0, listTo.Value)); } var pageIndex = httpContext.ReadInt(HttpPageSettings.XPageIndex); var pageSize = httpContext.ReadInt(HttpPageSettings.XPageSize); if (pageIndex != null) { return(HttpPageSettings.FromPage(pageIndex.Value, pageSize ?? 50)); } return(null); }
public async Task <IEnumerable> GetLogsAsync(string filter, HttpPageSettings list) => await GetLogsAsync(filter, list, new HttpJsonSettings(HttpJsonKeys.Refed, 2), ProgressToken.None);
public abstract Task <List <L> > GetLogsAsync(string filter, HttpPageSettings list, HttpJsonSettings settings, ProgressToken progressToken);
public async Task <IEnumerable> GetItemLogsAsync(object id, HttpPageSettings list) => await GetItemLogsAsync(id, list, new HttpJsonSettings(HttpJsonKeys.Refed, 2), ProgressToken.None);
public Task <List <L> > GetItemLogsAsync(object id, HttpPageSettings list, HttpJsonSettings settings, ProgressToken progressToken) => GetItemLogsAsync((K)id, list, settings, progressToken);
public abstract Task <List <L> > GetItemLogsAsync(K id, HttpPageSettings list, HttpJsonSettings settings, ProgressToken progressToken);