@namespace Oqtane.Modules.Admin.SystemInfo @inherits ModuleBase @inject ISystemService SystemService @inject IInstallationService InstallationService @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer




  @Localizer["Access.ApiFramework"] 
@code { public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; private string _version = string.Empty; private string _clrversion = string.Empty; private string _osversion = string.Empty; private string _machinename = string.Empty; private string _ipaddress = string.Empty; private string _contentrootpath = string.Empty; private string _webrootpath = string.Empty; private string _servertime = string.Empty; private string _tickcount = string.Empty; private string _workingset = string.Empty; private string _installationid = string.Empty; private string _detailederrors = string.Empty; private string _logginglevel = string.Empty; private string _notificationlevel = string.Empty; private string _swagger = string.Empty; private string _packageservice = string.Empty; protected override async Task OnInitializedAsync() { _version = Constants.Version; Dictionary systeminfo = await SystemService.GetSystemInfoAsync("environment"); if (systeminfo != null) { _clrversion = systeminfo["CLRVersion"].ToString(); _osversion = systeminfo["OSVersion"].ToString(); _machinename = systeminfo["MachineName"].ToString(); _ipaddress = systeminfo["IPAddress"].ToString(); _contentrootpath = systeminfo["ContentRootPath"].ToString(); _webrootpath = systeminfo["WebRootPath"].ToString(); _servertime = systeminfo["ServerTime"].ToString() + " UTC"; _tickcount = TimeSpan.FromMilliseconds(Convert.ToInt64(systeminfo["TickCount"].ToString())).ToString(); _workingset = (Convert.ToInt64(systeminfo["WorkingSet"].ToString()) / 1000000).ToString() + " MB"; } systeminfo = await SystemService.GetSystemInfoAsync(); if (systeminfo != null) { _installationid = systeminfo["InstallationId"].ToString(); _detailederrors = systeminfo["DetailedErrors"].ToString(); _logginglevel = systeminfo["Logging:LogLevel:Default"].ToString(); _notificationlevel = systeminfo["Logging:LogLevel:Notify"].ToString(); _swagger = systeminfo["UseSwagger"].ToString(); _packageservice = systeminfo["PackageService"].ToString(); } } private async Task SaveConfig() { try { var settings = new Dictionary(); settings.Add("DetailedErrors", _detailederrors); settings.Add("Logging:LogLevel:Default", _logginglevel); settings.Add("Logging:LogLevel:Notify", _notificationlevel); settings.Add("UseSwagger", _swagger); settings.Add("PackageService", _packageservice); await SystemService.UpdateSystemInfoAsync(settings); AddModuleMessage(Localizer["Success.UpdateConfig.Restart"], MessageType.Success); } catch (Exception ex) { await logger.LogError(ex, "Error Saving Configuration"); AddModuleMessage(Localizer["Error.UpdateConfig"], MessageType.Error); } } private async Task RestartApplication() { try { ShowProgressIndicator(); var interop = new Interop(JSRuntime); await interop.RedirectBrowser(NavigateUrl(""), 20); await InstallationService.RestartAsync(); } catch (Exception ex) { await logger.LogError(ex, "Error Restarting Application"); } } }