private static IList <Func <string, string> > GetControllerPathTransformations(Controller controller, string customPath) { var packagesManager = new PackageManager(); var currentPackage = packagesManager.GetCurrentPackage(); var pathTransformations = new List <Func <string, string> >(); if (controller.RouteData != null && controller.RouteData.Values.ContainsKey("widgetName")) { var widgetName = (string)controller.RouteData.Values["widgetName"]; var controllerType = FrontendManager.ControllerFactory.ResolveControllerType(widgetName); var widgetVp = AppendDefaultPath(FrontendManager.VirtualPathBuilder.GetVirtualPath(controllerType)); pathTransformations.Add(FrontendControllerFactory.GetPathTransformation(widgetVp, currentPackage, widgetName)); } var controllerVp = customPath ?? AppendDefaultPath(FrontendManager.VirtualPathBuilder.GetVirtualPath(controller.GetType().Assembly)); pathTransformations.Add(FrontendControllerFactory.GetPathTransformation(controllerVp, currentPackage)); var frontendVp = AppendDefaultPath(FrontendManager.VirtualPathBuilder.GetVirtualPath(typeof(FrontendControllerFactory).Assembly)); if (!string.Equals(controllerVp, frontendVp, StringComparison.OrdinalIgnoreCase)) { pathTransformations.Add(FrontendControllerFactory.GetPathTransformation(frontendVp, currentPackage)); } return(pathTransformations); }
private static void AddDynamicControllerPathTransformations(Controller controller, string virtualPath, string currentPackage, List <Func <string, string> > pathTransformations) { if (controller != null && controller.Request != null && controller.Request.QueryString != null && controller.RouteData != null && controller.RouteData.Values.ContainsKey("widgetName") && (string)controller.RouteData.Values["widgetName"] == "DynamicContent") { var controlId = controller.Request.QueryString["controlId"] as string; Guid controlIdGuid; if (!string.IsNullOrEmpty(controlId) && Guid.TryParse(controlId, out controlIdGuid)) { var controlObjectData = PageManager.GetManager().GetControl <ObjectData>(controlIdGuid); if (controlObjectData != null && controlObjectData.Properties != null) { var controllerWidgetProperty = controlObjectData.Properties.FirstOrDefault(x => x.Name == "WidgetName"); if (controllerWidgetProperty != null) { var dynamicControllerWidgetName = controllerWidgetProperty.Value; if (!string.IsNullOrEmpty(dynamicControllerWidgetName)) { pathTransformations.Add(FrontendControllerFactory.GetPathTransformation(virtualPath, currentPackage, dynamicControllerWidgetName)); } } } } } }
private static void AddDynamicControllerPathTransformations(Controller controller, string virtualPath, string currentPackage, List <Func <string, string> > pathTransformations) { var dynamicControllerWidgetName = controller.ResolveDynamicControllerWidgetName(); if (string.IsNullOrEmpty(dynamicControllerWidgetName)) { return; } pathTransformations.Add(FrontendControllerFactory.GetPathTransformation(virtualPath, currentPackage, dynamicControllerWidgetName)); }