internal static IPluginSummary CreateSummary(IPlugin plugin) { var summary = new PluginSummary { Id = plugin.Id, IsValid = plugin.IsValid, Version = plugin.Version, IsVisible = plugin.IsVisible, FullNameOfType = plugin.GetType().FullName, Description = plugin.Description, Shortcut = plugin.Shortcut, Image = plugin.Image, PreviousShortcuts = plugin.PreviousShortcuts, ValidFrom = plugin.ValidFrom, ValidTo = plugin.ValidTo, ProgramType = plugin.GetProgramType() }; var permissionScanner = new PermissionAttributeScanner(plugin); summary.PermissionId = permissionScanner.GetPermissionId(); var responsibleScanner = new ResponsibleAttributeScanner(plugin); summary.Responsible = responsibleScanner.GetAttribute() != null ? responsibleScanner.GetAttribute().ToString() : string.Empty; return(summary); }
public List <IPluginSummary> GetPluginSummary() { var plugins = new List <IPluginSummary>(); foreach (IPlugin plugin in _plugins) { plugins.Add(PluginSummary.CreateSummary(plugin)); } return(plugins); }
public List <IPluginSummary> GetPluginSummaryAllowed() { var plugins = new List <IPluginSummary>(); var permissionHandler = new PermissionHandler(); foreach (IPlugin plugin in _plugins) { if (permissionHandler.HasPermissionOnPlugin(plugin)) { plugins.Add(PluginSummary.CreateSummary(plugin)); } } return(plugins); }