示例#1
0
        public static void AddPagination(this HttpResponse response, int currentPage, int itemsPerPage, int totalItems, int totalPages)
        {
            var paginationHeader   = new PagingHeader(currentPage, itemsPerPage, totalItems, totalPages);
            var camelCaseFormmater = new JsonSerializerSettings();

            camelCaseFormmater.ContractResolver = new CamelCasePropertyNamesContractResolver();
            response.Headers.Add("Pagination", JsonConvert.SerializeObject(paginationHeader, camelCaseFormmater));
            response.Headers.Add("Access-Control-Expose-Headers", "Pagination");
        }
示例#2
0
        private async Task LoadData(string location = null)
        {
            isLoading = true;
            StateHasChanged();
            await Task.Delay(100);

            var url = Url;

            _UrlManager.Uri = _NavigationManager.Uri;
            string page = _UrlManager.GetQueryParm("page");

            if (_UrlManager.Query.isNOEOW() || page.isNOEOW())
            {
                if (location.isNOEOW() && isFirstRender)
                {
                    url = $"{url}?page=1&pageSize={PageSize}&req_s=1";
                }
                else if (location.isNOEOW())
                {
                    url = $"{url}?page=1&pageSize={PageSize}&req_s=2";
                }
                else if (page.isNOEOW())
                {
                    url = $"{url}?page=1&pageSize={PageSize}&req_s=3";
                }
                else
                {
                    _UrlManager.AddQueryParm("pageSize", PageSize.ToString());
                    url = $"{url}{_UrlManager.GetQueryString(location)}";
                }
            }
            else
            {
                if (page.isNumberic())
                {
                    CurrentPage = int.Parse(page);
                    if (CurrentPage < 1)
                    {
                        CurrentPage = 1;
                    }
                }
                _UrlManager.AddQueryParm("pageSize", PageSize.ToString());
                url = $"{url}{_UrlManager.GetQueryString()}";
            }
            try
            {
                var response = await _api.GetList(url);

                if (response == null || response.Data == null)
                {
                    Items        = new List <T>();
                    PagingHeader = new PagingHeader();
                }
                else
                {
                    Items        = _Items = response.Data;
                    PagingHeader = response.Paging;
                }
            } catch (Exception e)
            {
                PagingHeader = new PagingHeader();
                Items        = new List <T>();
                Console.WriteLine(e.Message);
            }
            isLoading = false;
            StateHasChanged();
        }