/// <summary> /// Efficient pageing for grid. /// </summary> /// <param name="pageNumber">Must be greater than zero.</param> /// <param name="sortDirection">Validne vrijednosti su 'asc' i 'desc'.</param> public static EntityCollection <PartnerEntity> FetchPartnerCollectionForPaging(DataAccessAdapterBase adapter, RelationPredicateBucket bucket, PrefetchPath2 prefetchPath, int pageNumber, int pageSize, string sortField, bool isSortAscending) { string sortDirection = isSortAscending ? "asc" : "desc"; Type sortEntityFieldType = typeof(PartnerFields); string sortEntityFieldTypeName = SortHelper.GetEntityFieldTypeNameForSorting(sortField, sortEntityFieldType); if (!string.IsNullOrWhiteSpace(sortEntityFieldTypeName)) { sortEntityFieldType = Type.GetType(sortEntityFieldTypeName); } sortField = SortHelper.GetSortField(sortField); SortExpression sort = SortHelper.GetSortExpression(sortField, sortDirection, sortEntityFieldType); EntityCollection <PartnerEntity> toReturn = new EntityCollection <PartnerEntity>(new PartnerEntityFactory()); adapter.FetchEntityCollection(toReturn, bucket, pageSize, sort, prefetchPath, pageNumber, pageSize); return(toReturn); }