Exemplo n.º 1
0
 public static string GenerateCode(ICodeTemplateInfo codeTemplateInfo)
 {
     string code = codeTemplateInfo.TemplateInfo.TemplateCode+"";
     code = code.Replace("$ASSEMBLYNAME$", codeTemplateInfo.PersistentAssemblyInfo.Name);
     code = code.Replace("$CLASSNAME$", codeTemplateInfo.TemplateInfo.Name);
     return code;
 }
Exemplo n.º 2
0
        public static void CreateDefaultTemplate(this ICodeTemplateInfo codeTemplateInfo, TemplateType templateType, CodeDomProvider codeDomProvider)
        {
            var codeTemplateType = XafTypesInfo.Instance.FindBussinessObjectType <ICodeTemplate>();
            var session          = codeTemplateInfo.Session;
            var defaultTemplate  = FindDefaultTemplate(templateType, session, codeTemplateType, codeDomProvider);

            if (defaultTemplate == null)
            {
                defaultTemplate                 = (ICodeTemplate)codeTemplateType.CreateInstance(session);
                defaultTemplate.IsDefault       = true;
                defaultTemplate.TemplateType    = templateType;
                defaultTemplate.CodeDomProvider = codeDomProvider;
                defaultTemplate.SetDefaults();
            }
            codeTemplateInfo.CodeTemplate = defaultTemplate;
        }
Exemplo n.º 3
0
        public static void CloneProperties(this ICodeTemplateInfo codeTemplateInfo)
        {
            var templateInfo = codeTemplateInfo.TemplateInfo ?? Create(codeTemplateInfo);

            codeTemplateInfo.TemplateInfo = templateInfo;
            var infos = typeof(ITemplateInfo).GetProperties().Select(propertyInfo =>
                                                                     new {
                Value        = propertyInfo.GetValue(codeTemplateInfo.CodeTemplate, null),
                PropertyInfo = propertyInfo
            });

            foreach (var info in infos)
            {
                templateInfo.SetPropertyValue(info.PropertyInfo.Name, info.Value);
            }
        }
Exemplo n.º 4
0
        public static void CloneProperties(this ICodeTemplateInfo codeTemplateInfo)
        {
            var templateInfo = codeTemplateInfo.TemplateInfo ?? XPObjectSpace.FindObjectSpaceByObject(codeTemplateInfo).CreateWCObject <ITemplateInfo>();

            codeTemplateInfo.TemplateInfo = templateInfo;
            var type  = templateInfo.GetType();
            var infos = typeof(ITemplateInfo).GetProperties().Select(propertyInfo =>
                                                                     new {
                Value = propertyInfo.GetValue(codeTemplateInfo.CodeTemplate, null),
                TypeInfoPropertyInfo = type.GetProperty(propertyInfo.Name)
            });

            foreach (var info in infos)
            {
                info.TypeInfoPropertyInfo.SetValue(templateInfo, info.Value, null);
            }
        }
 public static ObjectType ToObjectType(ICodeTemplateInfo info)
 {
     switch (info.FileName.ToLower())
     {
         case "editableroot.cst": return ObjectType.EditableRoot;
         case "editablerootlist.cst": return ObjectType.EditableRootList;
         case "editablechild.cst": return ObjectType.EditableChild;
         case "editablechildlist.cst": return ObjectType.EditableChildList;
         case "editableswitchable.cst": return ObjectType.EditableSwitchable;
         case "namevaluelist.cst": return ObjectType.NameValueList;
         case "readonlyroot.cst": return ObjectType.ReadOnlyRoot;
         case "readonlyrootlist.cst": return ObjectType.ReadOnlyRootList;
         case "readonlychild.cst": return ObjectType.ReadOnlyChild;
         case "readonlychildlist.cst": return ObjectType.ReadOnlyChildList;
     }
     throw new ArgumentOutOfRangeException("Template is not an Object Type template");
 }
 public static bool IsObjectType(ICodeTemplateInfo info)
 {
     switch (info.FileName.ToLower())
     {
         case "editableroot.cst":
         case "editablerootlist.cst":
         case "editablechild.cst":
         case "editablechildlist.cst":
         case "editableswitchable.cst":
         case "namevaluelist.cst":
         case "readonlyroot.cst":
         case "readonlyrootlist.cst":
         case "readonlychild.cst":
         case "readonlychildlist.cst": return true;
         default: return false;
     }
 }
Exemplo n.º 7
0
 static ITemplateInfo CreateWcObject(ICodeTemplateInfo codeTemplateInfo) {
     var type = WCTypesInfo.Instance.FindBussinessObjectType(typeof(ITemplateInfo));
     return (ITemplateInfo) Activator.CreateInstance(type,new object[]{codeTemplateInfo.Session});
 }
Exemplo n.º 8
0
        static ITemplateInfo Create(ICodeTemplateInfo codeTemplateInfo)
        {
            var type = XafTypesInfo.Instance.FindBussinessObjectType <ITemplateInfo>();

            return((ITemplateInfo)type.CreateInstance(codeTemplateInfo.Session));
        }
        static ITemplateInfo CreateWcObject(ICodeTemplateInfo codeTemplateInfo)
        {
            var type = WCTypesInfo.Instance.FindBussinessObjectType(typeof(ITemplateInfo));

            return((ITemplateInfo)type.CreateInstance(new object[] { codeTemplateInfo.Session }));
        }