public virtual object CreateObject(Type type)
        {
            ITypeController typeController = GetTypeController(type);

            if (typeController != null)
            {
                return(typeController.CreateObject(type));
            }
            return(ExecuteCreateObject(type));
        }
        public virtual void DeleteObject(object obj)
        {
            ITypeController typeController = GetTypeController(obj.GetType());

            if (typeController != null)
            {
                typeController.DeleteObject(obj);
            }
            else
            {
                ExecuteDeleteObject(obj);
            }
        }
 public virtual void RegisterTypeController(Type type, ITypeController typeController)
 {
     type = GetTypeFromType(type);
     typeController.DomainController = this;
     typeControllers[type]           = typeController;
 }
        public virtual void RegisterTypeController(string typeName, ITypeController typeController)
        {
            Type type = GetTypeFromTypeName(typeName);

            RegisterTypeController(type, typeController);
        }
 public virtual void RegisterTypeController(Type type, ITypeController typeController)
 {
     type = GetTypeFromType(type);
     typeController.DomainController = this;
     typeControllers[type] = typeController;
 }
 public virtual void RegisterTypeController(string typeName, ITypeController typeController)
 {
     Type type = GetTypeFromTypeName(typeName);
     RegisterTypeController(type, typeController);
 }