@@ -1225,12 +1225,12 @@ private IQueryable<Customer> GetCustomerQuery(DataExporterContext ctx, int? skip
1225
1225
1226
1226
if ( ctx . Filter . BillingCountryIds != null && ctx . Filter . BillingCountryIds . Any ( ) )
1227
1227
{
1228
- query = query . Where ( x => x . BillingAddress != null && ctx . Filter . BillingCountryIds . Contains ( x . BillingAddress . Id ) ) ;
1228
+ query = query . Where ( x => x . BillingAddress != null && ctx . Filter . BillingCountryIds . Contains ( x . BillingAddress . CountryId ?? 0 ) ) ;
1229
1229
}
1230
1230
1231
1231
if ( ctx . Filter . ShippingCountryIds != null && ctx . Filter . ShippingCountryIds . Any ( ) )
1232
1232
{
1233
- query = query . Where ( x => x . ShippingAddress != null && ctx . Filter . ShippingCountryIds . Contains ( x . ShippingAddress . Id ) ) ;
1233
+ query = query . Where ( x => x . ShippingAddress != null && ctx . Filter . ShippingCountryIds . Contains ( x . ShippingAddress . CountryId ?? 0 ) ) ;
1234
1234
}
1235
1235
1236
1236
if ( ctx . Filter . LastActivityFrom . HasValue )
@@ -2060,8 +2060,11 @@ public DataExportPreviewResult Preview(DataExportRequest request, int pageIndex)
2060
2060
var cancellation = new CancellationTokenSource ( TimeSpan . FromMinutes ( 5.0 ) ) ;
2061
2061
var ctx = new DataExporterContext ( request , cancellation . Token , true ) ;
2062
2062
2063
- var unused = Init ( ctx ) ;
2064
- var skip = Math . Max ( ctx . Request . Profile . Offset , 0 ) + ( pageIndex * PageSize ) ;
2063
+ Init ( ctx ) ;
2064
+
2065
+ var limit = Math . Max ( request . Profile . Limit , 0 ) ;
2066
+ var take = limit > 0 && limit < PageSize ? limit : PageSize ;
2067
+ var skip = Math . Max ( ctx . Request . Profile . Offset , 0 ) + ( pageIndex * take ) ;
2065
2068
2066
2069
if ( ! HasPermission ( ctx ) )
2067
2070
{
@@ -2074,43 +2077,43 @@ public DataExportPreviewResult Preview(DataExportRequest request, int pageIndex)
2074
2077
{
2075
2078
case ExportEntityType . Product :
2076
2079
{
2077
- var items = GetProductQuery ( ctx , skip , PageSize ) . ToList ( ) ;
2080
+ var items = GetProductQuery ( ctx , skip , take ) . ToList ( ) ;
2078
2081
items . Each ( x => result . Data . Add ( ToDynamic ( ctx , x ) ) ) ;
2079
2082
}
2080
2083
break ;
2081
2084
case ExportEntityType . Order :
2082
2085
{
2083
- var items = GetOrderQuery ( ctx , skip , PageSize ) . ToList ( ) ;
2086
+ var items = GetOrderQuery ( ctx , skip , take ) . ToList ( ) ;
2084
2087
items . Each ( x => result . Data . Add ( ToDynamic ( ctx , x ) ) ) ;
2085
2088
}
2086
2089
break ;
2087
2090
case ExportEntityType . Category :
2088
2091
{
2089
- var items = GetCategoryQuery ( ctx , skip , PageSize ) . ToList ( ) ;
2092
+ var items = GetCategoryQuery ( ctx , skip , take ) . ToList ( ) ;
2090
2093
items . Each ( x => result . Data . Add ( ToDynamic ( ctx , x ) ) ) ;
2091
2094
}
2092
2095
break ;
2093
2096
case ExportEntityType . Manufacturer :
2094
2097
{
2095
- var items = GetManufacturerQuery ( ctx , skip , PageSize ) . ToList ( ) ;
2098
+ var items = GetManufacturerQuery ( ctx , skip , take ) . ToList ( ) ;
2096
2099
items . Each ( x => result . Data . Add ( ToDynamic ( ctx , x ) ) ) ;
2097
2100
}
2098
2101
break ;
2099
2102
case ExportEntityType . Customer :
2100
2103
{
2101
- var items = GetCustomerQuery ( ctx , skip , PageSize ) . ToList ( ) ;
2104
+ var items = GetCustomerQuery ( ctx , skip , take ) . ToList ( ) ;
2102
2105
items . Each ( x => result . Data . Add ( ToDynamic ( ctx , x ) ) ) ;
2103
2106
}
2104
2107
break ;
2105
2108
case ExportEntityType . NewsLetterSubscription :
2106
2109
{
2107
- var items = GetNewsLetterSubscriptionQuery ( ctx , skip , PageSize ) . ToList ( ) ;
2110
+ var items = GetNewsLetterSubscriptionQuery ( ctx , skip , take ) . ToList ( ) ;
2108
2111
items . Each ( x => result . Data . Add ( ToDynamic ( ctx , x ) ) ) ;
2109
2112
}
2110
2113
break ;
2111
2114
case ExportEntityType . ShoppingCartItem :
2112
2115
{
2113
- var items = GetShoppingCartItemQuery ( ctx , skip , PageSize ) . ToList ( ) ;
2116
+ var items = GetShoppingCartItemQuery ( ctx , skip , take ) . ToList ( ) ;
2114
2117
items . Each ( x => result . Data . Add ( ToDynamic ( ctx , x ) ) ) ;
2115
2118
}
2116
2119
break ;
0 commit comments