Exemple #1
0
        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));
 }