Exemplo n.º 1
0
        private static ControllerBase createController(ControllerSettings typeSettings, Navigator navigator)
        {
            IControllerActionsInterceptor interceptor = null;
            if (!String.IsNullOrEmpty(typeSettings.Interceptor))
            {
                ObjectTypeSettings typeInterceptor = (ObjectTypeSettings)UIPConfiguration.Config.InterceptorCollection[typeSettings.Interceptor];
                interceptor = (IControllerActionsInterceptor)
                    GenericFactory.Create(typeInterceptor);
            }
            else
            {
                interceptor = new ControllerActionsInterceptor();
            }

            interceptor.State = navigator.CurrentState;
            interceptor.MapPropsStateKeys = typeSettings.MapPropsKeys;

            Type typeController = GenericFactory.CreateTypeInstance(typeSettings);
            Debug.Assert(typeController != null);

            return (ControllerBase) proxyGenerator.CreateClassProxy(
                                                    typeController, new IInterceptor[] {interceptor},
                                                    new object[] {navigator});
        }
Exemplo n.º 2
0
 private void LoadControllers(XmlNode configNode, IFormatProvider formatProvider)
 {
     ObjectTypeSettings typedObject;
     foreach (XmlNode viewNode in configNode.SelectNodes(NodeControllerXpath))
     {
         typedObject = new ControllerSettings(viewNode, formatProvider);
         if (!_controllerByNameCollection.ContainsKey(typedObject.Name))
         {
             _controllerByNameCollection.Add(typedObject.Name, typedObject);
         }
         else throw new Exception(string.Format("ExceptionViewSettingAlreadyConfigured {0}.", typedObject.Name));
     }
 }