fix for #525 when running locally without a network connection
This commit is contained in:
		| @ -4,7 +4,7 @@ | ||||
| @inject IThemeService ThemeService | ||||
| @inject IPackageService PackageService | ||||
|  | ||||
| @if (themes == null) | ||||
| @if (_themes == null) | ||||
| { | ||||
|     <p><em>Loading...</em></p> | ||||
| } | ||||
| @ -12,7 +12,7 @@ else | ||||
| { | ||||
|     <ActionLink Action="Add" Text="Install Theme" /> | ||||
|  | ||||
|     <Pager Items="@themes"> | ||||
|     <Pager Items="@_themes"> | ||||
|         <Header> | ||||
|             <th> </th> | ||||
|             <th>Name</th> | ||||
| @ -39,41 +39,70 @@ else | ||||
| } | ||||
|  | ||||
| @code { | ||||
|     private List<Theme> themes; | ||||
|     private List<Package> packages; | ||||
|     private List<Theme> _themes; | ||||
|     private List<Package> _packages; | ||||
|  | ||||
|     public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; | ||||
|  | ||||
|     protected override async Task OnInitializedAsync() | ||||
|     { | ||||
|         themes = await ThemeService.GetThemesAsync(); | ||||
|         packages = await PackageService.GetPackagesAsync("module"); | ||||
|         try | ||||
|         { | ||||
|             _themes = await ThemeService.GetThemesAsync(); | ||||
|             _packages = await PackageService.GetPackagesAsync("theme"); | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             if (_themes == null) | ||||
|             { | ||||
|                 await logger.LogError(ex, "Error Loading Themes {Error}", ex.Message); | ||||
|                 AddModuleMessage("Error Loading Themes", MessageType.Error); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private bool UpgradeAvailable(string themename, string version) | ||||
|     { | ||||
|         var upgradeavailable = false; | ||||
|         var package = packages.Where(item => item.PackageId == Utilities.GetTypeName(themename)).FirstOrDefault(); | ||||
|         if (package != null) | ||||
|         if (_packages != null) | ||||
|         { | ||||
|             upgradeavailable = (Version.Parse(package.Version).CompareTo(Version.Parse(version)) > 0); | ||||
|             var package = _packages.Where(item => item.PackageId == Utilities.GetTypeName(themename)).FirstOrDefault(); | ||||
|             if (package != null) | ||||
|             { | ||||
|                 upgradeavailable = (Version.Parse(package.Version).CompareTo(Version.Parse(version)) > 0); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         return upgradeavailable; | ||||
|     } | ||||
|  | ||||
|     private async Task DownloadTheme(string themename, string version) | ||||
|     { | ||||
|         await PackageService.DownloadPackageAsync(themename, version, "Themes"); | ||||
|         await logger.LogInformation("Theme Downloaded {ThemeName} {Version}", themename, version); | ||||
|         await ThemeService.InstallThemesAsync(); | ||||
|         NavigationManager.NavigateTo(NavigateUrl()); | ||||
|         try | ||||
|         { | ||||
|             await PackageService.DownloadPackageAsync(themename, version, "Themes"); | ||||
|             await ThemeService.InstallThemesAsync(); | ||||
|             await logger.LogInformation("Theme Downloaded {ThemeName} {Version}", themename, version); | ||||
|             NavigationManager.NavigateTo(NavigateUrl()); | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             await logger.LogError(ex, "Error Downloading Theme {ThemeName} {Version} {Error}", themename, version, ex.Message); | ||||
|             AddModuleMessage("Error Downloading Theme", MessageType.Error); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private async Task DeleteTheme(Theme Theme) | ||||
|     { | ||||
|         await ThemeService.DeleteThemeAsync(Theme.ThemeName); | ||||
|         await logger.LogInformation("Theme Deleted {Theme}", Theme); | ||||
|         NavigationManager.NavigateTo(NavigateUrl()); | ||||
|         try | ||||
|         { | ||||
|             await ThemeService.DeleteThemeAsync(Theme.ThemeName); | ||||
|             await logger.LogInformation("Theme Deleted {Theme}", Theme); | ||||
|             NavigationManager.NavigateTo(NavigateUrl()); | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             await logger.LogError(ex, "Error Deleting Theme {Theme} {Error}", Theme, ex.Message); | ||||
|             AddModuleMessage("Error Deleting Theme", MessageType.Error); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Shaun Walker
					Shaun Walker