public static void SetDefaultTemplate(this IPersistentTemplatedTypeInfo persistentMemberInfo, TemplateType templateType) { var objectType = XafTypesInfo.Instance.FindBussinessObjectType <ICodeTemplateInfo>(); persistentMemberInfo.CodeTemplateInfo = (ICodeTemplateInfo)objectType.CreateInstance(persistentMemberInfo.Session); persistentMemberInfo.CodeTemplateInfo.CreateDefaultTemplate(templateType, GetProvider(persistentMemberInfo)); persistentMemberInfo.CodeTemplateInfo.CloneProperties(); }
public static void SetDefaultTemplate(this IPersistentTemplatedTypeInfo persistentMemberInfo, TemplateType templateType) { var objectType = WCTypesInfo.Instance.FindBussinessObjectType <ICodeTemplateInfo>(); persistentMemberInfo.CodeTemplateInfo = (ICodeTemplateInfo)objectType.CreateInstance(new object[] { persistentMemberInfo.Session }); var defaultTemplate = CodeTemplateBuilder.CreateDefaultTemplate(templateType, persistentMemberInfo.Session, WCTypesInfo.Instance.FindBussinessObjectType <ICodeTemplate>(), GetProvider(persistentMemberInfo)); persistentMemberInfo.CodeTemplateInfo.CodeTemplate = defaultTemplate; persistentMemberInfo.CodeTemplateInfo.CloneProperties(); }
public static void SetDefaultTemplate(this IPersistentTemplatedTypeInfo persistentMemberInfo, TemplateType templateType) { var objectSpace = XPObjectSpace.FindObjectSpaceByObject(persistentMemberInfo); persistentMemberInfo.CodeTemplateInfo = objectSpace.CreateWCObject <ICodeTemplateInfo>(); ICodeTemplate defaultTemplate = CodeTemplateBuilder.CreateDefaultTemplate(templateType, persistentMemberInfo.Session, WCTypesInfo.Instance.FindBussinessObjectType <ICodeTemplate>(), GetProvider(persistentMemberInfo)); persistentMemberInfo.CodeTemplateInfo.CodeTemplate = defaultTemplate; persistentMemberInfo.CodeTemplateInfo.CloneProperties(); }
public static void Init(this IPersistentTemplatedTypeInfo persistentTemplatedTypeInfo, Type codeTemplateType) { persistentTemplatedTypeInfo.CodeTemplateInfo = XPObjectSpace.FindObjectSpaceByObject(persistentTemplatedTypeInfo).CreateWCObject <ICodeTemplateInfo>(); if (persistentTemplatedTypeInfo is IPersistentMemberInfo) { var persistentMemberInfo = ((IPersistentMemberInfo)persistentTemplatedTypeInfo); persistentMemberInfo.Init(codeTemplateType, persistentMemberInfo.Owner.PersistentAssemblyInfo.CodeDomProvider); } else if (persistentTemplatedTypeInfo is IPersistentClassInfo) { var persistentClassInfo = ((IPersistentClassInfo)persistentTemplatedTypeInfo); persistentClassInfo.Init(codeTemplateType, persistentClassInfo.PersistentAssemblyInfo.CodeDomProvider); } }
public static void Init(this IPersistentTemplatedTypeInfo persistentTemplatedTypeInfo, Type codeTemplateType) { var objectType = XafTypesInfo.Instance.FindBussinessObjectType <ICodeTemplateInfo>(); persistentTemplatedTypeInfo.CodeTemplateInfo = (ICodeTemplateInfo)Activator.CreateInstance(objectType, persistentTemplatedTypeInfo.Session); if (persistentTemplatedTypeInfo is IPersistentMemberInfo templatedTypeInfo) { var persistentMemberInfo = templatedTypeInfo; persistentMemberInfo.Init(codeTemplateType, persistentMemberInfo.Owner.PersistentAssemblyInfo.CodeDomProvider); } else if (persistentTemplatedTypeInfo is IPersistentClassInfo classInfo) { classInfo.Init(codeTemplateType, classInfo.PersistentAssemblyInfo.CodeDomProvider); } }
static CodeDomProvider GetProvider(IPersistentTemplatedTypeInfo persistentMemberInfo) { return((persistentMemberInfo as IPersistentClassInfo)?.PersistentAssemblyInfo.CodeDomProvider ?? ((IPersistentMemberInfo)persistentMemberInfo).Owner.PersistentAssemblyInfo.CodeDomProvider); }
static CodeDomProvider GetProvider(IPersistentTemplatedTypeInfo persistentMemberInfo) { return persistentMemberInfo is IPersistentClassInfo ? ((IPersistentClassInfo)persistentMemberInfo).PersistentAssemblyInfo.CodeDomProvider : ((IPersistentMemberInfo)persistentMemberInfo).Owner.PersistentAssemblyInfo.CodeDomProvider; }