private IDictionary <string, object> GetExtensionSettings(PersonaBarExtension extension) { var extensionController = GetExtensionController(extension); var settings = extensionController?.GetSettings(extension); return(settings); }
private string GetExtensionPathByController(PersonaBarExtension extension) { var menuItem = PersonaBarRepository.Instance.GetMenuItem(extension.MenuId); if (menuItem == null) { return(extension.Path); } var extensionController = GetExtensionController(extension); var path = extensionController?.GetPath(extension); return(!string.IsNullOrEmpty(path) ? path : extension.Path); }
public void SaveExtension(PersonaBarExtension extension) { this._dataService.SavePersonaBarExtension( extension.Identifier, extension.MenuId, extension.FolderName, extension.Controller, extension.Container, extension.Path, extension.Order, extension.Enabled, UserController.Instance.GetCurrentUserInfo().UserID); this.ClearCache(); }
private void ReadExtensionsFromManifest(XPathNavigator menuNavigator) { var extension = new PersonaBarExtension() { Identifier = Util.ReadElement(menuNavigator, "identifier"), FolderName = Util.ReadElement(menuNavigator, "folderName"), Controller = Util.ReadElement(menuNavigator, "controller"), Container = Util.ReadElement(menuNavigator, "container"), Path = Util.ReadElement(menuNavigator, "path"), Order = Convert.ToInt32(Util.ReadElement(menuNavigator, "order", "0")), Enabled = true, }; this._extensions.Add(extension); this._extensionMenus.Add(extension.Identifier, Util.ReadElement(menuNavigator, "menu")); }
private IExtensionController GetExtensionController(PersonaBarExtension extension) { var identifier = extension.Identifier; var controller = extension.Controller; if (string.IsNullOrEmpty(controller)) { return(null); } try { var cacheKey = $"PersonaBarExtensionController_{identifier}"; return(Reflection.CreateObject(controller, cacheKey) as IExtensionController); } catch (Exception ex) { Logger.Error(ex); return(null); } }
private bool IsVisible(PersonaBarExtension extension) { var extensionController = GetExtensionController(extension); return(extensionController == null || extensionController.Visible(extension)); }
public void DeleteExtension(PersonaBarExtension extension) { DeleteExtension(extension.Identifier); }