예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
        }