@namespace Oqtane.Modules.Admin.Sites
@inherits ModuleBase
@inject NavigationManager NavigationManager
@inject IAliasService AliasService
@inject ISiteService SiteService
@if (sites == null)
{
Loading...
}
else
{
|
|
@context.Name |
}
@code {
public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Host; } }
List sites;
string scheme;
protected override async Task OnParametersSetAsync()
{
Uri uri = new Uri(NavigationManager.Uri);
scheme = uri.Scheme + "://";
List aliases = await AliasService.GetAliasesAsync();
sites = new List();
foreach (Alias alias in aliases)
{
if (!sites.Exists(item => item.TenantId == alias.TenantId && item.SiteId == alias.SiteId))
{
sites.Add(alias);
}
}
}
private async Task DeleteSite(Alias Alias)
{
try
{
if (Alias.SiteId != PageState.Site.SiteId || Alias.TenantId != PageState.Site.TenantId)
{
await SiteService.DeleteSiteAsync(Alias.SiteId, Alias);
await Log(Alias, LogLevel.Information, "", null, "Site Deleted {SiteId}", Alias.SiteId);
List aliases = await AliasService.GetAliasesAsync();
foreach (Alias alias in aliases.Where(item => item.SiteId == Alias.SiteId && item.TenantId == Alias.TenantId).ToList())
{
await AliasService.DeleteAliasAsync(alias.AliasId);
}
NavigationManager.NavigateTo(NavigateUrl(Reload.Site));
}
else
{
AddModuleMessage("You Can Not Delete The Current Site", MessageType.Warning);
}
}
catch (Exception ex)
{
await Log(Alias, LogLevel.Error, "", ex, "Error Deleting Site {SiteId} {Error}", Alias.SiteId, ex.Message);
AddModuleMessage("Error Deleting Site", MessageType.Error);
}
}
}