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); } } }
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; }
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); } } }
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); } } }
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>()); }