@@ -28,6 +28,11 @@ private async Task LoadPagesAsync()
2828 {
2929 ViewBag . Pages = await _db . Pages . AsNoTracking ( ) . OrderBy ( p => p . Slug ) . ToListAsync ( ) ;
3030 ViewBag . Roles = await _db . Roles . AsNoTracking ( ) . OrderBy ( r => r . Name ) . ToListAsync ( ) ;
31+ ViewBag . Zones = await _db . PageSections . AsNoTracking ( )
32+ . Select ( s => s . Zone )
33+ . Distinct ( )
34+ . OrderBy ( z => z )
35+ . ToListAsync ( ) ;
3136 }
3237
3338 public async Task < IActionResult > Index ( )
@@ -202,11 +207,11 @@ public async Task<IActionResult> AddToPage(int id, List<int> pageIds, string zon
202207 }
203208 foreach ( var pageId in pageIds )
204209 {
205- var sort = await _db . PageSections
210+ var maxSort = await _db . PageSections
206211 . Where ( s => s . PageId == pageId && s . Zone == zone )
207- . Select ( s => s . SortOrder )
208- . DefaultIfEmpty ( - 1 )
209- . MaxAsync ( ) + 1 ;
212+ . Select ( s => ( int ? ) s . SortOrder )
213+ . MaxAsync ( ) ;
214+ var sort = ( maxSort ?? - 1 ) + 1 ;
210215 var section = new PageSection
211216 {
212217 PageId = pageId ,
@@ -235,11 +240,11 @@ private async Task AddSectionsAsync(BlockTemplate template, List<int>? pageIds,
235240 }
236241 foreach ( var pageId in pageIds )
237242 {
238- var sort = await _db . PageSections
243+ var maxSort = await _db . PageSections
239244 . Where ( s => s . PageId == pageId && s . Zone == zone )
240- . Select ( s => s . SortOrder )
241- . DefaultIfEmpty ( - 1 )
242- . MaxAsync ( ) + 1 ;
245+ . Select ( s => ( int ? ) s . SortOrder )
246+ . MaxAsync ( ) ;
247+ var sort = ( maxSort ?? - 1 ) + 1 ;
243248 var section = new PageSection
244249 {
245250 PageId = pageId ,
0 commit comments