コード例 #1
0
        private async Task LoadData(int pageNumber, int pageSize, TableState state)
        {
            string[] orderings = null;
            if (!string.IsNullOrEmpty(state.SortLabel))
            {
                orderings = state.SortDirection != SortDirection.None ? new[] { $"{state.SortLabel} {state.SortDirection}" } : new[] { $"{state.SortLabel}" };
            }

            var request = new GetAllPagedProductsRequest {
                PageSize = pageSize, PageNumber = pageNumber + 1, SearchString = _searchString, Orderby = orderings
            };
            var response = await ProductManager.GetProductsAsync(request);

            if (response.Succeeded)
            {
                _totalItems  = response.TotalCount;
                _currentPage = response.CurrentPage;
                _pagedData   = response.Data;
            }
            else
            {
                foreach (var message in response.Messages)
                {
                    _snackBar.Add(message, Severity.Error);
                }
            }
        }
コード例 #2
0
        async Task LoadData(int pageNumber, int pageSize)
        {
            var request = new GetAllPagedProductsRequest {
                PageSize = pageSize, PageNumber = pageNumber + 1
            };
            var response = await _productManager.GetProductsAsync(request);

            totalItems  = response.TotalCount;
            currentPage = response.CurrentPage;
            var data = response.Data;

            data = data.Where(element =>
            {
                if (string.IsNullOrWhiteSpace(searchString))
                {
                    return(true);
                }
                if (element.Name.Contains(searchString, StringComparison.OrdinalIgnoreCase))
                {
                    return(true);
                }
                if (element.Description.Contains(searchString, StringComparison.OrdinalIgnoreCase))
                {
                    return(true);
                }
                if (element.Barcode.Contains(searchString, StringComparison.OrdinalIgnoreCase))
                {
                    return(true);
                }
                return(false);
            }).ToList();
            pagedData = data;
        }
コード例 #3
0
 private async Task LoadData(int pageNumber, int pageSize, TableState state)
 {
     var request = new GetAllPagedProductsRequest { PageSize = pageSize, PageNumber = pageNumber + 1 };
     var response = await ProductManager.GetProductsAsync(request);
     if (response.Succeeded)
     {
         _totalItems = response.TotalCount;
         _currentPage = response.CurrentPage;
         var data = response.Data;
         var loadedData = data.Where(element =>
         {
             if (string.IsNullOrWhiteSpace(_searchString))
                 return true;
             if (element.Name?.Contains(_searchString, StringComparison.OrdinalIgnoreCase) == true)
                 return true;
             if (element.Brand?.Contains(_searchString, StringComparison.OrdinalIgnoreCase) == true)
                 return true;
             if (element.Description?.Contains(_searchString, StringComparison.OrdinalIgnoreCase) == true)
                 return true;
             if (element.Barcode?.Contains(_searchString, StringComparison.OrdinalIgnoreCase) == true)
                 return true;
             return false;
         });
         switch (state.SortLabel)
         {
             case "productIdField":
                 loadedData = loadedData.OrderByDirection(state.SortDirection, p => p.Id);
                 break;
             case "productNameField":
                 loadedData = loadedData.OrderByDirection(state.SortDirection, p => p.Name);
                 break;
             case "productBrandField":
                 loadedData = loadedData.OrderByDirection(state.SortDirection, p => p.Brand);
                 break;
             case "productDescriptionField":
                 loadedData = loadedData.OrderByDirection(state.SortDirection, p => p.Description);
                 break;
             case "productBarcodeField":
                 loadedData = loadedData.OrderByDirection(state.SortDirection, p => p.Barcode);
                 break;
             case "productRateField":
                 loadedData = loadedData.OrderByDirection(state.SortDirection, p => p.Rate);
                 break;
         }
         data = loadedData.ToList();
         _pagedData = data;
     }
     else
     {
         foreach (var message in response.Messages)
         {
             _snackBar.Add(message, Severity.Error);
         }
     }
 }
コード例 #4
0
        private async Task LoadData(int pageNumber, int pageSize)
        {
            var request = new GetAllPagedProductsRequest {
                PageSize = pageSize, PageNumber = pageNumber + 1
            };
            var response = await _productManager.GetProductsAsync(request);

            if (response.Succeeded)
            {
                totalItems  = response.TotalCount;
                currentPage = response.CurrentPage;
                var data = response.Data;
                data = data.Where(element =>
                {
                    if (string.IsNullOrWhiteSpace(searchString))
                    {
                        return(true);
                    }
                    if (element.Name.Contains(searchString, StringComparison.OrdinalIgnoreCase))
                    {
                        return(true);
                    }
                    if (element.Description.Contains(searchString, StringComparison.OrdinalIgnoreCase))
                    {
                        return(true);
                    }
                    if (element.Barcode.Contains(searchString, StringComparison.OrdinalIgnoreCase))
                    {
                        return(true);
                    }
                    return(false);
                }).ToList();
                pagedData = data;
            }
            else
            {
                foreach (var message in response.Messages)
                {
                    _snackBar.Add(localizer[message], Severity.Error);
                }
            }
        }
コード例 #5
0
        public async Task <PaginatedResult <GetAllPagedProductsResponse> > GetProductsAsync(GetAllPagedProductsRequest request)
        {
            var response = await _httpClient.GetAsync(Routes.ProductsEndpoints.GetAllPaged(request.PageNumber, request.PageSize));

            return(await response.ToPaginatedResult <GetAllPagedProductsResponse>());
        }