Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
 public LoadProgress(string filter, HttpPageSettings list, HttpJsonSettings json, ProgressToken progressToken)
 {
     Filter       = filter;
     ListSettings = list;
     JsonSettings = json;
     Token        = progressToken;
 }
Ejemplo n.º 3
0
 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));
 }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 public async Task <IEnumerable> GetLogsAsync(string filter, HttpPageSettings list)
 => await GetLogsAsync(filter, list, new HttpJsonSettings(HttpJsonKeys.Refed, 2), ProgressToken.None);
Ejemplo n.º 7
0
 public abstract Task <List <L> > GetLogsAsync(string filter, HttpPageSettings list, HttpJsonSettings settings, ProgressToken progressToken);
Ejemplo n.º 8
0
 public async Task <IEnumerable> GetItemLogsAsync(object id, HttpPageSettings list)
 => await GetItemLogsAsync(id, list, new HttpJsonSettings(HttpJsonKeys.Refed, 2), ProgressToken.None);
Ejemplo n.º 9
0
 public Task <List <L> > GetItemLogsAsync(object id, HttpPageSettings list, HttpJsonSettings settings, ProgressToken progressToken)
 => GetItemLogsAsync((K)id, list, settings, progressToken);
Ejemplo n.º 10
0
 public abstract Task <List <L> > GetItemLogsAsync(K id, HttpPageSettings list, HttpJsonSettings settings, ProgressToken progressToken);