コード例 #1
0
        public void Apply(ControllerModel controller)
        {
            //var ns = controller.ControllerType.Assembly.GetName().Name;
            var    ns     = Path.GetFileNameWithoutExtension(controller.ControllerType.Assembly.ManifestModule.Name);
            string prefix = Modularity.GetControllerRoutePrefix(ns, controller.Attributes);

            if (!String.IsNullOrWhiteSpace(prefix))
            {
                var _routePrefix = new AttributeRouteModel(new RouteAttribute(prefix));

                foreach (var selector in controller.Selectors)
                {
                    //tanımlanmış bir route attribute var ..onunla cobmine ediyoruz..
                    if (selector.AttributeRouteModel != null)
                    {
                        selector.AttributeRouteModel = AttributeRouteModel.CombineAttributeRouteModel(_routePrefix, selector.AttributeRouteModel);
                    }
                    else
                    {
                        //yoksada direkt olarak ekliyoruz.
                        selector.AttributeRouteModel = _routePrefix;
                    }
                }
            }
        }