Added Delete all pages and modules
This commit is contained in:
		| @ -31,6 +31,9 @@ | ||||
|                     <td>@context.DeletedOn</td> | ||||
|                 </Row> | ||||
|             </Pager> | ||||
|             <div style="text-align:right; visibility : @IsDeleteAllPagesVisible"> | ||||
|                 <ActionDialog Header="Delete All Pages" Message="@Localizer["Are You Sure You Wish To Permanently Delete All Pages?", "Delete All Pages"]" Action="Delete All Pages" Security="SecurityAccessLevel.Admin" Class="btn btn-danger" OnClick="@(async () => await DeleteAllPages())" ResourceKey="DeleteAllPages" /> | ||||
|             </div> | ||||
|         } | ||||
|     </TabPanel> | ||||
|     <TabPanel Name="Modules" ResourceKey="Modules"> | ||||
| @ -59,6 +62,10 @@ | ||||
|                     <td>@context.DeletedOn</td> | ||||
|                 </Row> | ||||
|             </Pager> | ||||
|             <div style="text-align:right; visibility : @IsDeleteAllModulesVisible" > | ||||
|                 <ActionDialog Header="Delete All Modules" Message="@Localizer["Are You Sure You Wish To Permanently Delete All Modules?", "Delete All Modules"]" Action="Delete All Modules" Security="SecurityAccessLevel.Admin" Class="btn btn-danger" OnClick="@(async () => await DeleteAllModules())" ResourceKey="DeleteAllModules" /> | ||||
|             </div> | ||||
|  | ||||
|         } | ||||
|     </TabPanel> | ||||
| </TabStrip> | ||||
| @ -69,6 +76,22 @@ | ||||
|  | ||||
|     public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; | ||||
|  | ||||
|     protected string IsDeleteAllPagesVisible | ||||
|     { | ||||
|         get | ||||
|         { | ||||
|             return _pages.Count == 0 ? "hidden" : "visible"; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     protected string IsDeleteAllModulesVisible | ||||
|     { | ||||
|         get { | ||||
|             return _modules.Count == 0 ? "hidden" : "visible" ; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
|     protected override async Task OnInitializedAsync() | ||||
|     { | ||||
|         try | ||||
| @ -126,6 +149,28 @@ | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private async Task DeleteAllPages() | ||||
|     { | ||||
|         try | ||||
|         { | ||||
|             foreach (Page page in _pages) | ||||
|             { | ||||
|                 await PageService.DeletePageAsync(page.PageId); | ||||
|                 await logger.LogInformation("Page Permanently Deleted {Page}", page); | ||||
|             } | ||||
|  | ||||
|             await logger.LogInformation("Pages Permanently Deleted"); | ||||
|             await Load(); | ||||
|             StateHasChanged(); | ||||
|             NavigationManager.NavigateTo(NavigateUrl()); | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             await logger.LogError(ex, "Error Permanently Deleting Pages {Error}", ex.Message); | ||||
|             AddModuleMessage(ex.Message, MessageType.Error); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private async Task RestoreModule(Module module) | ||||
|     { | ||||
|         try | ||||
| @ -167,4 +212,31 @@ | ||||
|             AddModuleMessage(Localizer["Error Permanently Deleting Module"], MessageType.Error); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private async Task DeleteAllModules() | ||||
|     { | ||||
|         try | ||||
|         { | ||||
|             foreach (Module module in _modules) | ||||
|             { | ||||
|                 await PageModuleService.DeletePageModuleAsync(module.PageModuleId); | ||||
|                 // check if there are any remaining module instances in the site | ||||
|                 _modules = await ModuleService.GetModulesAsync(PageState.Site.SiteId); | ||||
|  | ||||
|                 if (!_modules.Exists(item => item.ModuleId == module.ModuleId)) | ||||
|                 { | ||||
|                     await ModuleService.DeleteModuleAsync(module.ModuleId); | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             await logger.LogInformation("Modules Permanently Deleted"); | ||||
|             await Load(); | ||||
|             StateHasChanged(); | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             await logger.LogError(ex, "Error Permanently Deleting Modules {Error}", ex.Message); | ||||
|             AddModuleMessage(Localizer["Error Permanently Deleting Modules"], MessageType.Error); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Leigh Pointer
					Leigh Pointer