protected override void ExecuteRead(INodePluginReadContext pluginReadContext) { Dictionary <string, object> result = new Dictionary <string, object>(); var roleList = pluginReadContext.ProcessingContext.InputModel.SecurityModel.Roles; string operationName = pluginReadContext.Evaluate("operation").Value?.ToString()?.Replace("'", string.Empty).ToLower() ?? string.Empty; IIntroContentProvider contentProvider = GetContentProvider(pluginReadContext); switch (operationName) { case "nav": { result.Add("intro", contentProvider.LoadMenu(pluginReadContext)); break; } case "view": { result.Add("intro", contentProvider.LoadIntroItem(pluginReadContext)); break; } case "admin": { result.Add("intro", contentProvider.LoadDeletedIntroItem(pluginReadContext)); break; } default: { throw new Exception("Operation not supported or operation parameter not supplied"); } } pluginReadContext.Results.Add(result); }
protected abstract object Read(INodePluginReadContext pr);
protected abstract void ExecuteRead(INodePluginReadContext pr);