public AlphabeticalListOfProductsCollectionResponse Fetch(AlphabeticalListOfProductsQueryCollectionRequest request) { base.FixupLimitAndPagingOnRequest(request); var totalItemCount = 0; var sortExpression = RepositoryHelper.ConvertStringToSortExpression(TypedViewType, request.Sort); var includedFieldNames = RepositoryHelper.ConvertStringToExcludedIncludedFields(request.Select); var predicateBucket = RepositoryHelper.ConvertStringToRelationPredicateBucket(TypedViewType, request.Filter); var typedView = new AlphabeticalListOfProductsTypedView(); using (var adapter = DataAccessAdapterFactory.NewDataAccessAdapter()) { OnBeforeFetchAlphabeticalListOfProductsQueryCollectionRequest(adapter, request, sortExpression, includedFieldNames, predicateBucket, request.PageNumber, request.PageSize, request.Limit); totalItemCount = (int)adapter.GetDbCount(typedView.GetFieldsInfo(), predicateBucket, null, false); adapter.FetchTypedView(typedView.GetFieldsInfo(), typedView, predicateBucket, request.Limit, sortExpression, true, null, request.PageNumber, request.PageSize); OnAfterFetchAlphabeticalListOfProductsQueryCollectionRequest(adapter, request, typedView, sortExpression, includedFieldNames, predicateBucket, request.PageNumber, request.PageSize, request.Limit, totalItemCount); } var dtos = new AlphabeticalListOfProductsCollection(); var enumerator = typedView.GetEnumerator(); while (enumerator.MoveNext()) { dtos.Add(Map(enumerator.Current, includedFieldNames)); } var response = new AlphabeticalListOfProductsCollectionResponse(dtos, request.PageNumber, request.PageSize, totalItemCount); return(response); }
/// <summary>Queries 'AlphabeticalListOfProducts' typed view records using sorting, filtering, paging and more.</summary> public AlphabeticalListOfProductsCollectionResponse Get(AlphabeticalListOfProductsQueryCollectionRequest request) { OnBeforeGetAlphabeticalListOfProductsQueryCollectionRequest(request); var output = Repository.Fetch(request); OnAfterGetAlphabeticalListOfProductsQueryCollectionRequest(request, output); return(output); }
partial void OnAfterFetchAlphabeticalListOfProductsQueryCollectionRequest(IDataAccessAdapter adapter, AlphabeticalListOfProductsQueryCollectionRequest request, AlphabeticalListOfProductsTypedView typedView, SortExpression sortExpression, string[] includedFieldNames, IRelationPredicateBucket predicateBucket, int pageNumber, int pageSize, int limit, int totalItemCount);
partial void OnBeforeFetchAlphabeticalListOfProductsQueryCollectionRequest(IDataAccessAdapter adapter, AlphabeticalListOfProductsQueryCollectionRequest request, SortExpression sortExpression, string[] includedFieldNames, IRelationPredicateBucket predicateBucket, int pageNumber, int pageSize, int limit);
partial void OnAfterGetAlphabeticalListOfProductsQueryCollectionRequest(AlphabeticalListOfProductsQueryCollectionRequest request, AlphabeticalListOfProductsCollectionResponse response);
partial void OnBeforeGetAlphabeticalListOfProductsQueryCollectionRequest(AlphabeticalListOfProductsQueryCollectionRequest request);