0
|
1 <#
|
|
2
|
|
3 OneToManyAssociationType = OneToManyAssociationType.Replace("<", "(Of ").Replace(">", ")");
|
|
4
|
|
5 WriteComment = (tt,s) => WriteLine("'{0}", s);
|
|
6 WriteUsing = (tt,s) => WriteLine("Imports {0}", s);
|
|
7 WriteBeginNamespace = (tt,s) => { WriteLine("Namespace {0}", s); WriteLine(""); };
|
|
8 WriteEndNamespace = tt => { WriteLine(""); WriteLine("End Namespace"); };
|
|
9 WriteBeginClass = (tt,cl,bc) =>
|
|
10 {
|
|
11 WriteLine("Public Partial Class {0}", cl);
|
|
12 if (!string.IsNullOrEmpty(bc))
|
|
13 WriteLine("\tInherits {0}", bc);
|
|
14 };
|
|
15 WriteEndClass = tt => WriteLine("End Class");
|
|
16 MakeGenericType = (c,t) => string.Format("{0}(Of {1})", c, t);
|
|
17 WriteTableProperty = (tt,name,pname,maxlen,maxplen) =>
|
|
18 {
|
|
19 WriteLine("");
|
|
20 WriteLine("Public ReadOnly Property {0}(){1} As Table(Of {2})", pname, LenDiff(maxplen, pname), name);
|
|
21 WriteLine("\tGet");
|
|
22 WriteLine("\t\tReturn Me.GetTable(Of {0})()", name);
|
|
23 WriteLine("\tEnd Get");
|
|
24 WriteLine("End Property");
|
|
25 };
|
|
26 WriteAttribute = (tt,a) => WriteLine("<{0}> _", a.Replace("=", ":="));
|
|
27 WriteAttributeLine = tt => {};
|
|
28
|
|
29 RenderColumn = (tt,c,maxLens,attrs) =>
|
|
30 {
|
|
31 WriteLine("");
|
|
32
|
|
33 var type = MakeType(c.Type);
|
|
34
|
|
35 if (!tt.RenderField)
|
|
36 WriteLine("Private _{0} As {1}", c.MemberName, type);
|
|
37
|
|
38 attrs = attrs.Where(_ => _ != null).ToArray();
|
|
39
|
|
40 if (attrs.Length > 0)
|
|
41 WriteLine("<{0}> _", string.Join(", ", attrs).Replace("=", ":="));
|
|
42
|
|
43 if (tt.RenderField)
|
|
44 WriteLine("Public {0} As {1}", c.MemberName, type);
|
|
45 else
|
|
46 {
|
|
47 WriteLine("Public Property {0} As {1}", c.MemberName, type);
|
|
48 WriteLine("\tGet");
|
|
49 WriteLine("\t\tReturn Me._{0}", c.MemberName);
|
|
50 WriteLine("\tEnd Get");
|
|
51 WriteLine("\tSet");
|
|
52 WriteLine("\t\tMe._{0} = value", c.MemberName);
|
|
53 WriteLine("\tEnd Set");
|
|
54 WriteLine("End Property");
|
|
55 }
|
|
56 };
|
|
57
|
|
58 RenderForeignKey = (tt,key) =>
|
|
59 {
|
|
60 WriteComment(tt, " " + key.KeyName);
|
|
61
|
|
62 var type = "" ;
|
|
63 if (key.AssociationType == AssociationType.OneToMany)
|
|
64 type = string.Format(OneToManyAssociationType, key.OtherTable.ClassName);
|
|
65 else
|
|
66 type = key.OtherTable.ClassName ;
|
|
67
|
|
68 if (!RenderField)
|
|
69 WriteLine("Private _{0} As {1}", key.MemberName, type);
|
|
70
|
|
71 WriteLine("<Association(ThisKey:=\"{0}\", OtherKey:=\"{1}\")> _",
|
|
72 string.Join(", ", (from c in key.ThisColumns select c.MemberName).ToArray()),
|
|
73 string.Join(", ", (from c in key.OtherColumns select c.MemberName).ToArray()));
|
|
74
|
|
75 if (RenderField)
|
|
76 WriteLine("Public {0} As {1}", key.MemberName, type);
|
|
77 else
|
|
78 {
|
|
79 WriteLine("Public Property {0} As {1}", key.MemberName, type);
|
|
80 WriteLine("\tGet");
|
|
81 WriteLine("\t\tReturn Me._{0}", key.MemberName);
|
|
82 WriteLine("\tEnd Get");
|
|
83 WriteLine("\tSet");
|
|
84 WriteLine("\t\tMe._{0} = value", key.MemberName);
|
|
85 WriteLine("\tEnd Set");
|
|
86 WriteLine("End Property");
|
|
87 }
|
|
88 };
|
|
89
|
|
90 MakeType = t =>
|
|
91 {
|
|
92 switch (t)
|
|
93 {
|
|
94 case "byte[]" : return "Byte()";
|
|
95 case "string" : return "String";
|
|
96 case "byte" : return "Byte";
|
|
97 case "byte?" : return "Byte?";
|
|
98 case "bool" : return "Boolean";
|
|
99 case "bool?" : return "Boolean?";
|
|
100 case "object" : return "Object";
|
|
101 case "short" : return "Short";
|
|
102 case "short?" : return "Short?";
|
|
103 case "decimal" : return "Decimal";
|
|
104 case "decimal?" : return "Decimal?";
|
|
105 case "int" : return "Integer";
|
|
106 case "int?" : return "Integer?";
|
|
107 case "float" : return "Single";
|
|
108 case "float?" : return "Single?";
|
|
109 case "double" : return "Double";
|
|
110 case "double?" : return "Double?";
|
|
111 case "long" : return "Long";
|
|
112 case "long?" : return "Long?";
|
|
113 }
|
|
114
|
|
115 return t;
|
|
116 };
|
|
117 #> |