public async Task <OperationDataResult <InstalledPluginsModel> > GetInstalledPlugins( InstalledPluginsRequestModel requestModel) { try { var result = new InstalledPluginsModel(); var eformPlugins = await _dbContext.EformPlugins.ToListAsync(); var loadedPlugins = PluginHelper.GetAllPlugins(); foreach (var eformPlugin in eformPlugins) { var loadedPlugin = loadedPlugins.FirstOrDefault(x => x.PluginId == eformPlugin.PluginId); if (loadedPlugin != null) { var pluginSettingsModel = new InstalledPluginModel() { Id = eformPlugin.Id, PluginId = eformPlugin.PluginId, Status = (PluginStatus)eformPlugin.Status, Name = loadedPlugin.Name, Version = loadedPlugin.PluginAssembly().GetName().Version.ToString(), VersionAvailable = PluginHelper.GetLatestRepositoryVersion("microting", loadedPlugin.PluginId), BaseUrl = loadedPlugin.PluginBaseUrl }; result.PluginsList.Add(pluginSettingsModel); } } result.Total = loadedPlugins.Count; return(new OperationDataResult <InstalledPluginsModel>(true, result)); } catch (Exception e) { _logger.LogError(e.Message); return(new OperationDataResult <InstalledPluginsModel>(false, _localizationService.GetString("ErrorWhileObtainingPlugins"))); } }
public async Task <OperationDataResult <InstalledPluginsModel> > GetInstalledPlugins(InstalledPluginsRequestModel model) { return(await _pluginsManagementService.GetInstalledPlugins(model)); }