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

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