private EnhanceViewEnginesAttribute GetEnhanceAttribute(Type controllerType) { EnhanceViewEnginesAttribute enhanceAttr = controllerType.GetCustomAttributes(typeof(EnhanceViewEnginesAttribute), true).FirstOrDefault() as EnhanceViewEnginesAttribute; if (enhanceAttr != null) { return(enhanceAttr); } else { enhanceAttr = new EnhanceViewEnginesAttribute(); enhanceAttr.Disabled = !this.IsInDefaultMvcNamespace(controllerType); enhanceAttr.VirtualPath = FrontendControllerFactory.AppendDefaultPath(FrontendManager.VirtualPathBuilder.GetVirtualPath(controllerType.Assembly)); return(enhanceAttr); } }
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 = FrontendControllerFactory.AppendDefaultPath(FrontendManager.VirtualPathBuilder.GetVirtualPath(controllerType)); pathTransformations.Add(FrontendControllerFactory.GetPathTransformation(widgetVp, currentPackage, widgetName)); } var controllerVp = customPath ?? FrontendControllerFactory.AppendDefaultPath(FrontendManager.VirtualPathBuilder.GetVirtualPath(controller.GetType().Assembly)); pathTransformations.Add(FrontendControllerFactory.GetPathTransformation(controllerVp, currentPackage)); return(pathTransformations); }