de2bd2f9
“wangming”
项目初始化
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
using NCC.Common.Helper;
@*是否需要上传文件引用*@
@if(Model.IsUplpad)
{
@:using NCC.Common.Model;
}
using NCC.@(@Model.NameSpace).Entitys.Dto.@(@Model.ClassName);
using Mapster;
using System.Collections.Generic;
namespace NCC.@(@Model.NameSpace).Entitys.Mapper.@Model.MainTable
{
public class Mapper : IRegister
{
public void Register(TypeAdapterConfig config)
{
@*判断是否需要映射*@
@if(Model.IsMapper)
{
@*判断WebType 1-纯表单,2-常规表单,3-流程列表单*@
@if(Model.WebType == 1)
{
@{GetCrInputToEntity(); }
}
else if(Model.WebType == 2)
{
@{GetCrInputToEntity(); }
@{GetEntityToInfoOutput();}
}
else if(Model.WebType == 3 || Model.Type == 3)
{
@{GetCrInputToEntity(); }
@{GetEntityToInfoOutput();}
@{GetEntityToCrInput();}
}
}
}
}
}
@{
@*新增输入转实体*@
void GetCrInputToEntity()
{
@:config.ForType<@(@Model.MainTable)CrInput, @(@Model.MainTable)Entity>()
@*循环表字段*@
@foreach (var column in Model.TableField)
{
@*判断NCCKey不为空*@
if (@column.NCCKey != null)
{
switch(column.NCCKey)
{
@*下拉框控件*@
case "select":
@*是否为多选*@
@if(column.IsMultiple)
{
@:.Map(dest => dest.@(@column.ColumnName), src => src.@(@column.LowerColumnName).ToJson())
}
break;
@*复选框、级联、省市区、图片上传、文件上传*@
case "checkbox":
case "cascader":
case "address":
case "uploadImg":
case "uploadFz":
@:.Map(dest => dest.@(@column.ColumnName), src => src.@(@column.LowerColumnName).ToJson())
break;
}
}
}
@:;
}
}
@{
@*实体转详情输出*@
void GetEntityToInfoOutput()
{
@:config.ForType<@(@Model.MainTable)Entity, @(@Model.MainTable)InfoOutput>()
@foreach (var column in Model.TableField)
{
if (@column.NCCKey != null)
{
switch(column.NCCKey)
{
case "select":
@if(column.IsMultiple)
{
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<string>>())
}
break;
case "checkbox":
case "cascader":
case "address":
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<string>>())
break;
case "uploadImg":
case "uploadFz":
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<FileControlsModel>>())
break;
}
}
}
@:;
}
}
@{
@*实体转创建输入*@
void GetEntityToCrInput()
{
@:config.ForType<@(@Model.MainTable)Entity, @(@Model.MainTable)CrInput>()
@foreach (var column in Model.TableField)
{
if (@column.NCCKey != null)
{
switch(column.NCCKey)
{
case "select":
@if(column.IsMultiple)
{
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<string>>())
}
break;
case "checkbox":
case "cascader":
case "address":
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<string>>())
break;
case "uploadImg":
case "uploadFz":
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<FileControlsModel>>())
break;
}
}
}
@:;
}
}
|