public string GetModulePositionIdForUrl(ModulePosition modulePosition, RouteValueDictionary routeValues, out Page page) { page = this.PageRequestContext.Page; string modulePositionId = modulePosition.PagePositionId; if (!string.IsNullOrEmpty(modulePosition.Entry.LinkToEntryName)) { foreach (var item in Kooboo.CMS.Sites.Services.ServiceFactory.PageManager.All(this.PageRequestContext.Site, null)) { foreach (var position in item.PagePositions.OfType <ModulePosition>()) { if (position.Entry != null && !string.IsNullOrEmpty(position.Entry.Name) && position.Entry.Name.EqualsOrNullEmpty(modulePosition.Entry.LinkToEntryName, StringComparison.OrdinalIgnoreCase)) { page = item; modulePositionId = position.PagePositionId; } } } } else { modulePositionId = GetModulePositionIdForUrl(modulePosition.ModuleName, modulePosition.PagePositionId, routeValues); } return(modulePositionId); }
public void LoadModule(ModulePosition position) { switch (position) { case ModulePosition.Left: ModuleGrid.LeftSelection = _selectedModule; break; case ModulePosition.Right: ModuleGrid.RightSelection = _selectedModule; break; case ModulePosition.Top: ModuleGrid.TopSelection = _selectedModule; break; case ModulePosition.Middle: ModuleGrid.MiddleSelection = _selectedModule; break; case ModulePosition.Bottom: ModuleGrid.BottomSelection = _selectedModule; break; } }
protected override object CreateModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Type modelType) { var positionType = controllerContext.HttpContext.Request["PositionType"]; object model = null; switch (positionType) { case "View": model = new ViewPosition(); break; case "Module": model = new ModulePosition(); break; case "Content": model = new HtmlPosition(); break; default: break; } bindingContext.ModelMetadata = ModelMetadataProviders.Current.GetMetadataForType(() => model, model.GetType()); return(model); }
public virtual IHtmlString RenderModule(string moduleName, string moduleUrl, ModulePosition modulePosition) { var result = ModuleExecutor.InvokeAction(PageContext.ControllerContext, PageContext.PageRequestContext.Site, moduleUrl, modulePosition); var actionResultExecuted = ModuleExecutor.ExecuteActionResult(result); return(new HtmlString(actionResultExecuted.ResultHtml)); }
/// <summary> /// <para>Adds given <paramref name="module"/> to configuration's <see cref="IClusterClientConfiguration.Modules"/> collection.</para> /// <para><paramref name="module"/> will be inserted into request module chain once near <paramref name="relatedModule"/>.</para> /// </summary> /// <param name="relatedModule">A module near which <paramref name="module"/> will be inserted.</param> /// <param name="module">A module to insert into request pipeline.</param> /// <param name="configuration">A configuration instance.</param> /// <param name="position">A relative position of <paramref name="module"/> from <paramref name="relatedModule"/>. This parameter is optional and has default value <see cref="ModulePosition.Before"/>.</param> public static void AddRequestModule( this IClusterClientConfiguration configuration, IRequestModule module, RequestModule relatedModule = RequestModule.Logging, ModulePosition position = ModulePosition.Before) { configuration.AddRequestModule(module, RequestModulesMapping.GetModuleType(relatedModule), position); }
/// <summary> /// Invokes the action return ActionResult /// </summary> /// <param name="controllerContext">The controller context.</param> /// <param name="actionName">Name of the action.</param> /// <returns></returns> public virtual ModuleActionInvokedContext InvokeActionWithoutExecuteResult(ModulePosition modulePosition, ControllerContext controllerContext, string actionName) { if (controllerContext == null) { throw new ArgumentNullException("controllerContext"); } if (string.IsNullOrEmpty(actionName)) { throw new ArgumentNullException("actionName"); } ControllerDescriptor controllerDescriptor = this.GetControllerDescriptor(controllerContext); ActionDescriptor actionDescriptor = this.FindAction(controllerContext, controllerDescriptor, actionName); if (actionDescriptor == null) { return(null); } FilterInfo filters = this.GetFilters(controllerContext, actionDescriptor); try { //Default AuthorizationFilter AuthorizationContext context = this.InvokeAuthorizationFilters(controllerContext, filters.AuthorizationFilters, actionDescriptor); if (context.Result != null) { return(new ModuleActionInvokedContext(modulePosition, controllerContext, context.Result)); } ActionResult authorizationResult = null;//this.OnAuthorization(controllerContext, GetFilter<FunctionAttribute>((ReflectedActionDescriptor)actionDescriptor)); if (authorizationResult != null) { return(new ModuleActionInvokedContext(modulePosition, controllerContext, authorizationResult)); } else { if (controllerContext.Controller.ValidateRequest) { ValidateRequest(controllerContext.HttpContext.Request); } IDictionary <string, object> parameterValues = this.GetParameterValues(controllerContext, actionDescriptor); ActionExecutedContext context2 = this.InvokeActionMethodWithFilters(controllerContext, filters.ActionFilters, actionDescriptor, parameterValues); //this.InvokeActionResultWithFilters(controllerContext, filters.ResultFilters, context2.Result); return(new ModuleActionInvokedContext(modulePosition, controllerContext, context2.Result)); } } catch (Exception exception) { ExceptionContext context3 = this.InvokeExceptionFilters(controllerContext, filters.ExceptionFilters, exception); if (!context3.ExceptionHandled) { throw; } return(new ModuleActionInvokedContext(modulePosition, controllerContext, context3.Result)); } }
public static ModuleContext Create(string moduleName, Site site, ModulePosition position) { var context = new ModuleContext(moduleName, site, position); if (!System.IO.Directory.Exists(context.ModulePath.PhysicalPath)) { throw new Exception(string.Format("The module does not exist.Module name:{0}".Localize(), moduleName)); } return(context); }
private void positionList_SelectedIndexChanged(object sender, EventArgs e) { ComboBox box = (ComboBox)sender; ModulePosition newPosition = (ModulePosition)Reflection.CreateObjectByName(positionNames[box.SelectedIndex]); newPosition.SetOrder(writerReader.GetOrder()); writerReader.SetPosition(newPosition); SetGUI(newPosition, positionParameter, positionHint); showSpaceValues(); }
public PageDesignModuleContent(ModulePosition pos) : base(pos) { this.Parameter.Add("ModuleName", PageDesignContent.Code(pos.ModuleName)); this.Parameter.Add("Exclusive", pos.Exclusive.ToString().ToLower()); if (pos.Entry != null) { this.Parameter.Add("EntryAction", pos.Entry.Action); this.Parameter.Add("EntryController", pos.Entry.Controller); } }
protected virtual string RenderModule(ModulePosition modulePosition) { ModuleActionInvokedContext actionInvokedContext = GetModuleActionResult(modulePosition.PagePositionId); if (actionInvokedContext != null) { var actionResultExecuted = ModuleExecutor.ExecuteActionResult(actionInvokedContext); return(actionResultExecuted.ResultHtml); } return(string.Empty); }
public ModulePosition Create(int companyId, int businessUnitId, int orderPositionId) { var modulePosition = new ModulePosition { CompanyId = companyId, BusinessUnitId = businessUnitId, OrderPositionId = orderPositionId, VacancyName = string.Empty, BeginDate = DateTime.Now }; return(modulePosition); }
/// <summary> /// <para>Adds given <paramref name="module"/> to configuration's <see cref="IClusterClientConfiguration.Modules"/> collection.</para> /// <para><paramref name="module"/> will be inserted into request module chain once around the module of specified type.</para> /// </summary> /// <param name="type">A type of module around which <paramref name="module"/> will be inserted.</param> /// <param name="module">A module to insert into request pipeline.</param> /// <param name="configuration">A configuration instance.</param> /// <param name="position">A relative position of <paramref name="module"/> from module of type <paramref name="type"/>. This parameter is optional and has default value <see cref="ModulePosition.Before"/>.</param> public static void AddRequestModule( this IClusterClientConfiguration configuration, IRequestModule module, Type type, ModulePosition position = ModulePosition.Before) { var modulesList = ObtainModules(configuration, type)[position]; if (modulesList.All(m => m.GetType() != module.GetType())) { modulesList.Add(module); } }
public PageDesignModuleContent(ModulePosition pos) : base(pos) { this.Parameter.Add("ModuleName", PageDesignContent.Code(pos.ModuleName)); this.Parameter.Add("Exclusive", pos.Exclusive.ToString().ToLower()); if (pos.Entry != null) { this.Parameter["LinkToEntryName"] = pos.Entry.LinkToEntryName; this.Parameter["EntryName"] = pos.Entry.Name; this.Parameter.Add("EntryAction", pos.Entry.Action); this.Parameter.Add("EntryController", pos.Entry.Controller); this.Parameter.Add("Values", pos.Entry.Values == null ? "[]" : pos.Entry.Values.ToList().ToJSON()); } }
public static HWModulePosition MapModulePosition(ModulePosition Arg) { switch (Arg) { case ModulePosition.P1: return(HWModulePosition.Position1); case ModulePosition.P2: return(HWModulePosition.Position2); default: return(HWModulePosition.Position1); } }
public virtual IHtmlString RenderModule(string moduleName, string moduleUrl) { ModulePosition position = new ModulePosition() { Exclusive = false , PagePositionId = moduleName , ModuleName = moduleName , Entry = new Entry() }; return(RenderModule(moduleName, moduleUrl, position)); }
internal List <IRequestModule> this[ModulePosition position] { get { switch (position) { case ModulePosition.Before: return(Before); case ModulePosition.After: return(After); default: throw new ArgumentOutOfRangeException(nameof(position), position, null); } } }
public void SetModulePosition(ModuleType moduleType, ModulePosition modulePosition) { switch (moduleType) { case ModuleType.FPS: case ModuleType.RTT: m_graphModulePosition = modulePosition; m_fpsManager.SetPosition(modulePosition); m_rttManager.SetPosition(modulePosition); break; case ModuleType.ADVANCED: m_advancedData.SetPosition(modulePosition); break; } }
public virtual ActionResult ProcessModule(ModulePosition pos) { if (IsGet()) { var manager = ServiceFactory.GetService <ModuleManager>(); var modules = manager.AllModulesForSite(Site.FullName); var model = new List <NameValueCollection>(); foreach (var name in modules) { var item = new NameValueCollection(); item.Add("ModuleName", name); model.Add(item); var setting = ModuleInfo.GetSiteModuleSettings(name, Site.FullName); if (setting.Entry != null) { item.Add("EntryAction", setting.Entry.Action); item.Add("EntryController", setting.Entry.Controller); } var info = ModuleInfo.Get(name); if (info.EntryOptions != null) { var options = new List <object>(); foreach (var op in info.EntryOptions) { options.Add(new { Name = op.Name, EntryAction = op.Entry.Action, EntryController = op.Entry.Controller }); } var serializer = new JavaScriptSerializer(); var optionsJson = serializer.Serialize(options); item.Add("EntryOptions", HttpUtility.HtmlAttributeEncode(optionsJson)); } } return(View(model)); } if (string.IsNullOrWhiteSpace(pos.Entry.Action) || string.IsNullOrWhiteSpace(pos.Entry.Controller)) { pos.Entry = null; } return(Json(new { html = new PageDesignModuleContent(pos).ToHtmlString() })); }
public void SetModulePosition(ModuleType moduleType, ModulePosition modulePosition) { switch (moduleType) { case ModuleType.FPS: case ModuleType.RAM: case ModuleType.RPM: case ModuleType.AUDIO: m_graphModulePosition = modulePosition; m_ramManager.SetPosition(modulePosition); m_rpmManager.SetPosition(modulePosition); m_fpsManager.SetPosition(modulePosition); m_audioManager.SetPosition(modulePosition); break; case ModuleType.ADVANCED: m_advancedData.SetPosition(modulePosition); break; } }
public ModulePosition SetModule(ModulePosition modulePosition, bool isActual, DbTransaction dbTran) { var moduleId = modulePosition.Id; var lastEditDate = modulePosition.BeginDate; SetModule( dbTran: dbTran, moduleId: ref moduleId, companyId: modulePosition.CompanyId, businessUnitId: modulePosition.BusinessUnitId, orderPositionId: modulePosition.OrderPositionId, vacancyName: modulePosition.VacancyName, editUserId: _editUserId, isActual: isActual, lastEditDate: ref lastEditDate); modulePosition.Id = moduleId; modulePosition.BeginDate = lastEditDate; return(modulePosition); }
public void LoadModule(ModulePosition position) { switch (position) { case ModulePosition.Left: ModuleGrid.LeftSelection = _selectedModule; break; case ModulePosition.Right: ModuleGrid.RightSelection = _selectedModule; break; case ModulePosition.Top: ModuleGrid.TopSelection = _selectedModule; break; case ModulePosition.Middle: ModuleGrid.MiddleSelection = _selectedModule; break; case ModulePosition.Bottom: ModuleGrid.BottomSelection = _selectedModule; break; } }
public virtual IHtmlString RenderModule(string moduleName, string moduleController, string moduleAction, object routeValues) { var routeDictionary = new RouteValueDictionary(); if (routeValues != null) { routeDictionary = new RouteValueDictionary(routeValues); } ModulePosition position = new ModulePosition() { Exclusive = false , PagePositionId = moduleName , ModuleName = moduleName , Entry = new Entry() { Controller = moduleController, Action = moduleAction, Values = routeDictionary } }; return(RenderModule(moduleName, null, position)); }
public FrontEndContext(string moduleName, ModuleSettings moduleSettings, ModulePosition modulePosition) { this._moduleName = moduleName; this._moduleSettings = moduleSettings; this._modulePosition = modulePosition; }
protected ModuleContext(Site site, string moduleName, ModuleSettings moduleSettings, ModulePosition position) { this.Site = site; ModuleName = moduleName; this.ModuleSettings = moduleSettings; this.ModulePosition = position; }
// public method public static List <PagePosition> ParsePagePositions(string clientJson) { clientJson = HttpUtility.UrlDecode(clientJson); var positions = new List <PagePosition>(); var list = ParseJson <List <Dictionary <string, object> > >(clientJson); foreach (var item in list) { PagePosition pos = null; var t = item.Str("Type"); if (t == PageDesignViewContent.TypeKey) { bool skipError = false; bool.TryParse(item.Str("SkipError"), out skipError); pos = new ViewPosition() { ViewName = item.Str("ViewName"), SkipError = skipError, Parameters = ParseViewParameters(item.Str("Parameters")), OutputCache = ParseJson <CacheSettings>(item.Str("OutputCache")) }; } else if (t == PageDesignModuleContent.TypeKey) { bool skipError = false; bool.TryParse(item.Str("SkipError"), out skipError); pos = new ModulePosition() { ModuleName = item.Str("ModuleName"), SkipError = skipError, Exclusive = (item.Str("Exclusive") == "true"), Entry = ParseModuleEntry(item) }; } else if (t == PageDesignFolderContent.TypeKey) { pos = new ContentPosition() { Type = ParseEnum <ContentPositionType>(item.Str("ContentPositionType")), DataRule = ParseJson <FolderDataRule>(item.Str("DataRule")) }; } else if (t == PageDesignHtmlContent.TypeKey) { pos = new HtmlPosition() { Html = item.Str("Html") }; } else if (t == PageDesignHtmlBlockContent.TypeKey) { pos = new HtmlBlockPosition() { BlockName = item.Str("BlockName") }; } else if (t == PageDesignProxyContent.TypeKey) { pos = new ProxyPosition() { Host = item.Str("Host"), RequestPath = item.Str("RequestPath"), NoProxy = item.Str("NoProxy") == "true", //ProxyStylesheet = item.Str("ProxyStylesheet") == "true", OutputCache = ParseJson <CacheSettings>(item.Str("OutputCache")) }; } // add if (pos != null) { pos.LayoutPositionId = item.Str("LayoutPositionId"); pos.PagePositionId = item.Str("PagePositionId"); pos.Order = item.Int("Order"); positions.Add(pos); } } // ret return(positions); }
public ModuleContext(string moduleName, Site site, ModulePosition position) : this(moduleName, site) { this.FrontEndContext = new FrontEndContext(moduleName, this.GetModuleSettings(), position); }
// public method public static List <PagePosition> ParsePagePositions(string clientJson) { clientJson = HttpUtility.UrlDecode(clientJson); var positions = new List <PagePosition>(); var list = ParseJson <List <Dictionary <string, object> > >(clientJson); foreach (var item in list) { PagePosition pos = null; var t = item.Str("Type"); if (t == PageDesignViewContent.TypeKey) { pos = new ViewPosition() { ViewName = item.Str("ViewName"), Parameters = ParseViewParameters(item.Str("Parameters")), OutputCache = ParseJson <CacheSettings>(item.Str("OutputCache")) }; } else if (t == PageDesignModuleContent.TypeKey) { pos = new ModulePosition() { ModuleName = item.Str("ModuleName"), Exclusive = (item.Str("Exclusive") == "true"), Entry = ParseModuleEntry(item.Str("EntryAction"), item.Str("EntryController")) }; } else if (t == PageDesignFolderContent.TypeKey) { pos = new ContentPosition() { Type = ParseEnum <ContentPositionType>(item.Str("ContentPositionType")), DataRule = ParseJson <FolderDataRule>(item.Str("DataRule")) }; } else if (t == PageDesignHtmlContent.TypeKey) { pos = new HtmlPosition() { Html = item.Str("Html") }; } else if (t == PageDesignHtmlBlockContent.TypeKey) { pos = new HtmlBlockPosition() { BlockName = item.Str("BlockName") }; } // add if (pos != null) { pos.LayoutPositionId = item.Str("LayoutPositionId"); pos.PagePositionId = item.Str("PagePositionId"); pos.Order = item.Int("Order"); positions.Add(pos); } } // ret return(positions); }
public static ModuleActionInvokedContext InvokeAction(ControllerContext controllerContext, Site site, string moduleUrl, ModulePosition modulePosition) { HttpContext context = HttpContext.Current; var moduleSettings = ModuleInfo.GetSiteModuleSettings(modulePosition.ModuleName, site == null ? "" : site.FullName); if (modulePosition.Entry != null) { moduleSettings.Entry = modulePosition.Entry; } var settings = moduleSettings; var positionId = modulePosition.PagePositionId; var moduleName = modulePosition.ModuleName; ModuleContext moduleContext = ModuleContext.Create(site, moduleName, settings, modulePosition); if (string.IsNullOrEmpty(moduleUrl)) { if (settings != null && settings.Entry != null) { moduleUrl = GetEntryUrl(context, moduleContext, settings.Entry); if (!string.IsNullOrEmpty(moduleUrl) && !moduleUrl.StartsWith("~")) { moduleUrl = "~" + moduleUrl; } } } if (string.IsNullOrEmpty(moduleUrl)) { moduleUrl = "~/"; } else if (moduleUrl[0] != '~') { moduleUrl = "~/" + moduleUrl.TrimStart('/'); } var httpContext = new ModuleHttpContext(context , new ModuleHttpRequest(context.Request, moduleUrl, moduleContext, controllerContext), new ModuleHttpResponse(context.Response, moduleContext), moduleContext); var routeData = moduleContext.RouteTable.GetRouteData(httpContext); var requestContext = new ModuleRequestContext(httpContext, routeData, moduleContext) { PageControllerContext = controllerContext }; string controllerName = requestContext.RouteData.GetRequiredString("controller"); string actionName = requestContext.RouteData.GetRequiredString("action"); var controller = (Controller)ControllerBuilder.Current.GetControllerFactory().CreateController(requestContext, controllerName); if (controller == null) { throw new Exception(string.Format("The module '{0}' controller for path '{1}' does not found or does not implement IController.", moduleName, moduleUrl)); } //if (!(controller is ModuleControllerBase)) //{ // throw new Exception(string.Format("The controller type '{0}' must be inherited from ModuleControllerBase.", controller.GetType().FullName)); //} //ModuleControllerBase moduleController = (ModuleControllerBase)controller; //ControllerContext moduleControllerContext = new ControllerContext(requestContext, moduleController); InitializeController(controller, requestContext); var result = actionInvoker.InvokeActionWithoutExecuteResult(controller.ControllerContext, actionName); if (result == null) { HandleUnknownAction(controller, actionName); } return(result); }
public ModuleActionInvokedContext(ModulePosition modulePosition, ControllerContext controllerContext, ActionResult actionResult) { this.ControllerContext = controllerContext; this.ModulePosition = modulePosition; this.ActionResult = actionResult; }
public virtual ActionResult ProcessModule(ModulePosition pos) { this.ValueProvider.GetValue("q"); if (IsGet()) { var serializer = new JavaScriptSerializer(); var manager = ServiceFactory.GetService <ModuleManager>(); var modules = manager.AllModulesForSite(Site.FullName); var model = new List <NameValueCollection>(); foreach (var name in modules) { var item = new NameValueCollection(); item.Add("ModuleName", name); model.Add(item); var moduleInfo = ModuleInfo.Get(name); var setting = moduleInfo.GetModuleSettings(Site); if (setting.Entry != null) { item.Add("EntryAction", setting.Entry.Action); item.Add("EntryController", setting.Entry.Controller); item.Add("Values", setting.Entry.Values == null ? "[]" : serializer.Serialize(setting.Entry.Values.ToList())); } if (moduleInfo.EntryOptions != null) { var options = new List <object>(); foreach (var op in moduleInfo.EntryOptions) { options.Add(new { Name = op.Name, EntryAction = op.Entry.Action, EntryController = op.Entry.Controller, Values = op.Entry.Values == null ? new List <KeyValuePair <string, object> >() : op.Entry.Values.ToList() }); } var optionsJson = serializer.Serialize(options); item.Add("EntryOptions", optionsJson); } } return(View(model)); } if (pos.Entry != null && pos.Entry.Values != null) { var newValues = new RouteValueDictionary(); foreach (var item in pos.Entry.Values) { if (item.Value is string[]) { newValues[item.Key] = ((string[])item.Value).FirstOrDefault(); } else { newValues[item.Key] = item.Value; } } pos.Entry.Values = newValues; } return(Json(new { html = new PageDesignModuleContent(pos).ToHtmlString() })); }
public void SetPosition(Position.ModulePosition position) { this.position = position; }