public async Task <LazyLoadingDataSetResult <GroupItem <TItem> > > GetGroupedTablePageData( RequestOptions requestOptions, IReadOnlyCollection <IFilterDefinition> filterDefinitions = null) { var dataUri = requestOptions.BuildUrl(); try { if (filterDefinitions != null && filterDefinitions.Any()) { var response = await _httpClient.PostJsonAsync <GroupedItemsDto <TItem> >(dataUri, filterDefinitions); return(ConvertGroupedItemsDtoToGroupedResult(response)); } else { var response = await _httpClient.GetJsonAsync <GroupedItemsDto <TItem> >(dataUri); return(ConvertGroupedItemsDtoToGroupedResult(response)); } } catch (Exception ex) { _logger.LogError($"Error during fetching data from [{dataUri}]. Ex: {ex}"); var emptyResult = new LazyLoadingDataSetResult <GroupItem <TItem> > { Items = Enumerable.Empty <GroupItem <TItem> >().ToList() }; return(emptyResult); } }
public Task <LazyLoadingDataSetResult <TItem> > GetTablePageData( RequestOptions requestOptions, IReadOnlyCollection <IFilterDefinition> filterDefinitions = null) { try { var queryable = _queryableSource(); var totalItems = queryable.Count(); if (filterDefinitions != null && filterDefinitions.Any()) { queryable = queryable.Where(_filterExpressionTreeBuilder.BuildExpressionTree(filterDefinitions)); } var items = queryable .ApplySortingToQueryable(requestOptions.SortingOptions) .ApplyPagingToQueryable(requestOptions.PageableOptions) .ToList(); var result = new LazyLoadingDataSetResult <TItem> { Items = items, TotalCount = totalItems }; return(Task.FromResult(result)); } catch (Exception ex) { _logger.LogError($"Error during fetching data. Ex: {ex}"); var emptyResult = new LazyLoadingDataSetResult <TItem> { Items = Enumerable.Empty <TItem>().ToList() }; return(Task.FromResult(emptyResult)); } }
public Task <LazyLoadingDataSetResult <TItem> > GetTablePageData( RequestOptions requestOptions, IReadOnlyCollection <IFilterDefinition> filterDefinitions = null) { var dataUri = requestOptions.BuildUrl(); try { if (filterDefinitions != null && filterDefinitions.Any()) { return(_httpClient.PostJsonAsync <LazyLoadingDataSetResult <TItem> >(dataUri, filterDefinitions)); } else { return(_httpClient.GetJsonAsync <LazyLoadingDataSetResult <TItem> >(dataUri)); } } catch (Exception ex) { _logger.LogError($"Error during fetching data from [{dataUri}]. Ex: {ex}"); var emptyResult = new LazyLoadingDataSetResult <TItem> { Items = Enumerable.Empty <TItem>().ToList() }; return(Task.FromResult(emptyResult)); } }
public Task <LazyLoadingDataSetResult <GroupItem <WeatherForecast> > > GetGroupedTablePageData( RequestOptions requestOptions, IReadOnlyCollection <IFilterDefinition> filterDefinitions = null) { var emptyResult = new LazyLoadingDataSetResult <GroupItem <WeatherForecast> > { Items = Enumerable.Empty <GroupItem <WeatherForecast> >().ToList() }; return(Task.FromResult(emptyResult)); }
private LazyLoadingDataSetResult <GroupItem <TItem> > ConvertGroupedItemsDtoToGroupedResult(GroupedItemsDto <TItem> groupedItemsDto) { var result = new LazyLoadingDataSetResult <GroupItem <TItem> >(); result.Items = new List <GroupItem <TItem> >(); result.TotalCount = groupedItemsDto.TotalCount; foreach (var pair in groupedItemsDto.Items) { result.Items.Add(new GroupItem <TItem>(pair.Key, pair.Value)); } return(result); }