annotate Source/Templates/Renamer.ttinclude @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 <#
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 //Rename tables and fields according to the .NET style, i.e. "booking_number" to "BookingNumber"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 var fieldsPrevBeforeGenerateModel = BeforeGenerateModel;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 Func<string, string> getNetStyleName = (string name) =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 if(!string.IsNullOrEmpty(name))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 var chars = new System.Text.StringBuilder(name);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 for(int i=1; i<chars.Length; i++)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 if(chars[i-1]=='_') chars[i]=char.ToUpper(chars[i]);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 chars.Replace("_", null);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 chars[0]=char.ToUpper(chars[0]);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 name = chars.ToString();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 return name;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 BeforeGenerateModel = tt =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 fieldsPrevBeforeGenerateModel(tt);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 Dictionary<string, string> remapper = new Dictionary<string, string>() { { "Exception", "Exceptions" } };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 foreach (var t in Tables.Values)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 t.ClassName = getNetStyleName(t.ClassName);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 string className;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 if(remapper.TryGetValue(t.ClassName, out className))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 t.ClassName = className;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 foreach (var c in t.Columns.Values)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 c.MemberName = getNetStyleName(c.MemberName);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 #>