SingleTable.cs 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918
  1. using Lottomat.CodeGenerator.Comm;
  2. using Lottomat.CodeGenerator.Model;
  3. using Lottomat.Util;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Data;
  7. using System.Linq;
  8. using System.Text;
  9. using Lottomat.Util.Extension;
  10. using Lottomat.Utils;
  11. namespace Lottomat.CodeGenerator.Template
  12. {
  13. /// <summary>
  14. /// 版 本 1.0
  15. /// Copyright (c) 2016-2017
  16. /// 创建人:赵轶
  17. /// 日 期:2016.1.15 9:54
  18. /// 描 述:代码生成模板(单表)
  19. /// </summary>
  20. public class SingleTable
  21. {
  22. #region 实体类
  23. /// <summary>
  24. /// 生成实体类
  25. /// </summary>
  26. /// <param name="baseConfigModel">基本信息</param>
  27. /// <param name="dt">实体字段</param>
  28. /// <returns></returns>
  29. public string EntityBuilder(BaseConfigModel baseConfigModel, DataTable dt)
  30. {
  31. StringBuilder sb = new StringBuilder();
  32. sb.Append("using System;\r\n");
  33. sb.Append("using Lottomat.Application.Code;\r\n\r\n");
  34. sb.Append("using Lottomat.Util;\r\n\r\n");
  35. sb.Append("namespace Lottomat.Application.Entity." + baseConfigModel.OutputAreas + "\r\n");
  36. sb.Append("{\r\n");
  37. sb.Append(" /// <summary>\r\n");
  38. sb.Append(" /// 版 本\r\n");
  39. sb.Append(" /// Copyright (c) 2016-2017\r\n");
  40. sb.Append(" /// 创 建:" + baseConfigModel.CreateUser + "\r\n");
  41. sb.Append(" /// 日 期:" + baseConfigModel.CreateDate + "\r\n");
  42. sb.Append(" /// 描 述:" + baseConfigModel.Description + "\r\n");
  43. sb.Append(" /// </summary>\r\n");
  44. sb.Append(" public class " + baseConfigModel.EntityClassName + " : BaseEntity\r\n");
  45. sb.Append(" {\r\n");
  46. sb.Append(" #region 实体成员\r\n");
  47. if (dt != null && dt.Rows.Count > 0)
  48. {
  49. foreach (DataRow rowItem in dt.Rows)
  50. {
  51. string column = rowItem["column"].ToString();
  52. string remark = rowItem["remark"].ToString();
  53. string datatype = CommHelper.FindModelsType(rowItem["datatype"].ToString());
  54. sb.Append(" /// <summary>\r\n");
  55. sb.Append(" /// " + remark + "\r\n");
  56. sb.Append(" /// </summary>\r\n");
  57. sb.Append(" /// <returns></returns>\r\n");
  58. sb.Append(" public " + datatype + " " + column + " { get; set; }\r\n");
  59. }
  60. }
  61. sb.Append(" #endregion\r\n\r\n");
  62. sb.Append(" #region 扩展操作\r\n");
  63. sb.Append(" /// <summary>\r\n");
  64. sb.Append(" /// 新增调用\r\n");
  65. sb.Append(" /// </summary>\r\n");
  66. sb.Append(" public override void Create()\r\n");
  67. sb.Append(" {\r\n");
  68. sb.Append(" this." + baseConfigModel.DataBaseTablePK + " = CommonHelper.GetGuid().ToString();\r\n");
  69. sb.Append(" " + IsCreateDate(dt) + "");
  70. sb.Append(" " + IsCreateUserId(dt) + "");
  71. sb.Append(" " + IsCreateUserName(dt) + "");
  72. sb.Append(" }\r\n");
  73. sb.Append(" /// <summary>\r\n");
  74. sb.Append(" /// 编辑调用\r\n");
  75. sb.Append(" /// </summary>\r\n");
  76. sb.Append(" /// <param name=\"keyValue\"></param>\r\n");
  77. sb.Append(" public override void Modify(string keyValue)\r\n");
  78. sb.Append(" {\r\n");
  79. sb.Append(" this." + baseConfigModel.DataBaseTablePK + " = keyValue;\r\n");
  80. sb.Append(" " + IsModifyDate(dt) + "");
  81. sb.Append(" " + IsModifyUserId(dt) + "");
  82. sb.Append(" " + IsModifyUserName(dt) + "");
  83. sb.Append(" }\r\n");
  84. sb.Append(" #endregion\r\n");
  85. sb.Append(" }\r\n");
  86. sb.Append("}");
  87. return sb.ToString();
  88. }
  89. public string IsCreateDate(DataTable dt)
  90. {
  91. DataTable newdt = dt.DataFilter("column = 'CreateDate'");
  92. if (newdt.Rows.Count > 0)
  93. {
  94. return "this.CreateDate = DateTimeHelper.Now;\r\n";
  95. }
  96. return "";
  97. }
  98. public string IsCreateUserId(DataTable dt)
  99. {
  100. DataTable newdt = dt.DataFilter("column = 'CreateUserId'");
  101. if (newdt.Rows.Count > 0)
  102. {
  103. return "this.CreateUserId = OperatorProvider.Provider.Current().UserId;\r\n";
  104. }
  105. return "";
  106. }
  107. public string IsCreateUserName(DataTable dt)
  108. {
  109. DataTable newdt = dt.DataFilter("column = 'CreateUserName'");
  110. if (newdt.Rows.Count > 0)
  111. {
  112. return "this.CreateUserName = OperatorProvider.Provider.Current().UserName;\r\n";
  113. }
  114. return "";
  115. }
  116. public string IsModifyDate(DataTable dt)
  117. {
  118. DataTable newdt = dt.DataFilter("column = 'ModifyDate'");
  119. if (newdt.Rows.Count > 0)
  120. {
  121. return "this.ModifyDate = DateTimeHelper.Now;\r\n";
  122. }
  123. return "";
  124. }
  125. public string IsModifyUserId(DataTable dt)
  126. {
  127. DataTable newdt = dt.DataFilter("column = 'ModifyUserId'");
  128. if (newdt.Rows.Count > 0)
  129. {
  130. return "this.ModifyUserId = OperatorProvider.Provider.Current().UserId;\r\n";
  131. }
  132. return "";
  133. }
  134. public string IsModifyUserName(DataTable dt)
  135. {
  136. DataTable newdt = dt.DataFilter("column = 'ModifyUserName'");
  137. if (newdt.Rows.Count > 0)
  138. {
  139. return "this.ModifyUserName = OperatorProvider.Provider.Current().UserName;\r\n";
  140. }
  141. return "";
  142. }
  143. #endregion
  144. #region 实体映射类
  145. /// <summary>
  146. /// 生成实体映射类
  147. /// </summary>
  148. /// <param name="baseConfigModel">基本信息</param>
  149. /// <returns></returns>
  150. public string EntityMapBuilder(BaseConfigModel baseConfigModel)
  151. {
  152. StringBuilder sb = new StringBuilder();
  153. sb.Append("using Lottomat.Application.Entity." + baseConfigModel.OutputAreas + ";\r\n");
  154. sb.Append("using System.Data.Entity.ModelConfiguration;\r\n\r\n");
  155. sb.Append("namespace Lottomat.Application.Mapping." + baseConfigModel.OutputAreas + "\r\n");
  156. sb.Append("{\r\n");
  157. sb.Append(" /// <summary>\r\n");
  158. sb.Append(" /// 版 本\r\n");
  159. sb.Append(" /// Copyright (c) 2016-2017\r\n");
  160. sb.Append(" /// 创 建:" + baseConfigModel.CreateUser + "\r\n");
  161. sb.Append(" /// 日 期:" + baseConfigModel.CreateDate + "\r\n");
  162. sb.Append(" /// 描 述:" + baseConfigModel.Description + "\r\n");
  163. sb.Append(" /// </summary>\r\n");
  164. sb.Append(" public class " + baseConfigModel.MapClassName + " : EntityTypeConfiguration<" + baseConfigModel.EntityClassName + ">\r\n");
  165. sb.Append(" {\r\n");
  166. sb.Append(" public " + baseConfigModel.MapClassName + "()\r\n");
  167. sb.Append(" {\r\n");
  168. sb.Append(" #region 表、主键\r\n");
  169. sb.Append(" //表\r\n");
  170. sb.Append(" this.ToTable(\"" + baseConfigModel.DataBaseTableName + "\");\r\n");
  171. sb.Append(" //主键\r\n");
  172. sb.Append(" this.HasKey(t => t." + baseConfigModel.DataBaseTablePK + ");\r\n");
  173. sb.Append(" #endregion\r\n\r\n");
  174. sb.Append(" #region 配置关系\r\n");
  175. sb.Append(" #endregion\r\n");
  176. sb.Append(" }\r\n");
  177. sb.Append(" }\r\n");
  178. sb.Append("}\r\n");
  179. return sb.ToString();
  180. }
  181. #endregion
  182. #region 服务类
  183. /// <summary>
  184. /// 生成服务类
  185. /// </summary>
  186. /// <param name="baseConfigModel"></param>
  187. /// <returns></returns>
  188. public string ServiceBuilder(BaseConfigModel baseConfigModel)
  189. {
  190. StringBuilder sb = new StringBuilder();
  191. sb.Append("using Lottomat.Application.Entity." + baseConfigModel.OutputAreas + ";\r\n");
  192. sb.Append("using Lottomat.Application.IService." + baseConfigModel.OutputAreas + ";\r\n");
  193. sb.Append("using Lottomat.Data.Repository;\r\n");
  194. sb.Append("using Lottomat.Util.WebControl;\r\n");
  195. sb.Append("using System.Collections.Generic;\r\n");
  196. sb.Append("using System.Linq;\r\n\r\n");
  197. sb.Append("namespace Lottomat.Application.Service." + baseConfigModel.OutputAreas + "\r\n");
  198. sb.Append("{\r\n");
  199. sb.Append(" /// <summary>\r\n");
  200. sb.Append(" /// 版 本 1.0\r\n");
  201. sb.Append(" /// Copyright (c) 2016-2017\r\n");
  202. sb.Append(" /// 创 建:" + baseConfigModel.CreateUser + "\r\n");
  203. sb.Append(" /// 日 期:" + baseConfigModel.CreateDate + "\r\n");
  204. sb.Append(" /// 描 述:" + baseConfigModel.Description + "\r\n");
  205. sb.Append(" /// </summary>\r\n");
  206. sb.Append(" public class " + baseConfigModel.ServiceClassName + " : RepositoryFactory<" + baseConfigModel.EntityClassName + ">, " + baseConfigModel.IServiceClassName + "\r\n");
  207. sb.Append(" {\r\n");
  208. sb.Append(" #region 获取数据\r\n");
  209. if (baseConfigModel.gridModel.IsPage == true)
  210. {
  211. sb.Append(" /// <summary>\r\n");
  212. sb.Append(" /// 获取列表\r\n");
  213. sb.Append(" /// </summary>\r\n");
  214. sb.Append(" /// <param name=\"pagination\">分页</param>\r\n");
  215. sb.Append(" /// <param name=\"queryJson\">查询参数</param>\r\n");
  216. sb.Append(" /// <returns>返回分页列表</returns>\r\n");
  217. sb.Append(" public IEnumerable<" + baseConfigModel.EntityClassName + "> GetPageList(Pagination pagination, string queryJson)\r\n");
  218. sb.Append(" {\r\n");
  219. sb.Append(" return this.BaseRepository().FindList(pagination);\r\n");
  220. sb.Append(" }\r\n");
  221. }
  222. sb.Append(" /// <summary>\r\n");
  223. sb.Append(" /// 获取列表\r\n");
  224. sb.Append(" /// </summary>\r\n");
  225. sb.Append(" /// <param name=\"queryJson\">查询参数</param>\r\n");
  226. sb.Append(" /// <returns>返回列表</returns>\r\n");
  227. sb.Append(" public IEnumerable<" + baseConfigModel.EntityClassName + "> GetList(string queryJson)\r\n");
  228. sb.Append(" {\r\n");
  229. sb.Append(" return this.BaseRepository().IQueryable().ToList();\r\n");
  230. sb.Append(" }\r\n");
  231. sb.Append(" /// <summary>\r\n");
  232. sb.Append(" /// 获取实体\r\n");
  233. sb.Append(" /// </summary>\r\n");
  234. sb.Append(" /// <param name=\"keyValue\">主键值</param>\r\n");
  235. sb.Append(" /// <returns></returns>\r\n");
  236. sb.Append(" public " + baseConfigModel.EntityClassName + " GetEntity(string keyValue)\r\n");
  237. sb.Append(" {\r\n");
  238. sb.Append(" return this.BaseRepository().FindEntity(keyValue);\r\n");
  239. sb.Append(" }\r\n");
  240. sb.Append(" #endregion\r\n\r\n");
  241. sb.Append(" #region 提交数据\r\n");
  242. sb.Append(" /// <summary>\r\n");
  243. sb.Append(" /// 删除数据\r\n");
  244. sb.Append(" /// </summary>\r\n");
  245. sb.Append(" /// <param name=\"keyValue\">主键</param>\r\n");
  246. sb.Append(" public void RemoveForm(string keyValue)\r\n");
  247. sb.Append(" {\r\n");
  248. sb.Append(" this.BaseRepository().Delete(keyValue);\r\n");
  249. sb.Append(" }\r\n");
  250. sb.Append(" /// <summary>\r\n");
  251. sb.Append(" /// 保存表单(新增、修改)\r\n");
  252. sb.Append(" /// </summary>\r\n");
  253. sb.Append(" /// <param name=\"keyValue\">主键值</param>\r\n");
  254. sb.Append(" /// <param name=\"entity\">实体对象</param>\r\n");
  255. sb.Append(" /// <returns></returns>\r\n");
  256. sb.Append(" public void SaveForm(string keyValue, " + baseConfigModel.EntityClassName + " entity)\r\n");
  257. sb.Append(" {\r\n");
  258. sb.Append(" if (!string.IsNullOrEmpty(keyValue))\r\n");
  259. sb.Append(" {\r\n");
  260. sb.Append(" entity.Modify(keyValue);\r\n");
  261. sb.Append(" this.BaseRepository().Update(entity);\r\n");
  262. sb.Append(" }\r\n");
  263. sb.Append(" else\r\n");
  264. sb.Append(" {\r\n");
  265. sb.Append(" entity.Create();\r\n");
  266. sb.Append(" this.BaseRepository().Insert(entity);\r\n");
  267. sb.Append(" }\r\n");
  268. sb.Append(" }\r\n");
  269. sb.Append(" #endregion\r\n");
  270. sb.Append(" }\r\n");
  271. sb.Append("}\r\n");
  272. return sb.ToString();
  273. }
  274. #endregion
  275. #region 服务接口类
  276. /// <summary>
  277. /// 生成服务接口类
  278. /// </summary>
  279. /// <param name="baseConfigModel"></param>
  280. /// <returns></returns>
  281. public string IServiceBuilder(BaseConfigModel baseConfigModel)
  282. {
  283. StringBuilder sb = new StringBuilder();
  284. sb.Append("using Lottomat.Application.Entity." + baseConfigModel.OutputAreas + ";\r\n");
  285. sb.Append("using Lottomat.Util.WebControl;\r\n");
  286. sb.Append("using System.Collections.Generic;\r\n\r\n");
  287. sb.Append("namespace Lottomat.Application.IService." + baseConfigModel.OutputAreas + "\r\n");
  288. sb.Append("{\r\n");
  289. sb.Append(" /// <summary>\r\n");
  290. sb.Append(" /// 版 本 1.0\r\n");
  291. sb.Append(" /// Copyright (c) 2016-2017\r\n");
  292. sb.Append(" /// 创 建:" + baseConfigModel.CreateUser + "\r\n");
  293. sb.Append(" /// 日 期:" + baseConfigModel.CreateDate + "\r\n");
  294. sb.Append(" /// 描 述:" + baseConfigModel.Description + "\r\n");
  295. sb.Append(" /// </summary>\r\n");
  296. sb.Append(" public interface " + baseConfigModel.IServiceClassName + "\r\n");
  297. sb.Append(" {\r\n");
  298. sb.Append(" #region 获取数据\r\n");
  299. if (baseConfigModel.gridModel.IsPage == true)
  300. {
  301. sb.Append(" /// <summary>\r\n");
  302. sb.Append(" /// 获取列表\r\n");
  303. sb.Append(" /// </summary>\r\n");
  304. sb.Append(" /// <param name=\"pagination\">分页</param>\r\n");
  305. sb.Append(" /// <param name=\"queryJson\">查询参数</param>\r\n");
  306. sb.Append(" /// <returns>返回分页列表</returns>\r\n");
  307. sb.Append(" IEnumerable<" + baseConfigModel.EntityClassName + "> GetPageList(Pagination pagination, string queryJson);\r\n");
  308. }
  309. sb.Append(" /// <summary>\r\n");
  310. sb.Append(" /// 获取列表\r\n");
  311. sb.Append(" /// </summary>\r\n");
  312. sb.Append(" /// <param name=\"queryJson\">查询参数</param>\r\n");
  313. sb.Append(" /// <returns>返回列表</returns>\r\n");
  314. sb.Append(" IEnumerable<" + baseConfigModel.EntityClassName + "> GetList(string queryJson);\r\n");
  315. sb.Append(" /// <summary>\r\n");
  316. sb.Append(" /// 获取实体\r\n");
  317. sb.Append(" /// </summary>\r\n");
  318. sb.Append(" /// <param name=\"keyValue\">主键值</param>\r\n");
  319. sb.Append(" /// <returns></returns>\r\n");
  320. sb.Append(" " + baseConfigModel.EntityClassName + " GetEntity(string keyValue);\r\n");
  321. sb.Append(" #endregion\r\n\r\n");
  322. sb.Append(" #region 提交数据\r\n");
  323. sb.Append(" /// <summary>\r\n");
  324. sb.Append(" /// 删除数据\r\n");
  325. sb.Append(" /// </summary>\r\n");
  326. sb.Append(" /// <param name=\"keyValue\">主键</param>\r\n");
  327. sb.Append(" void RemoveForm(string keyValue);\r\n");
  328. sb.Append(" /// <summary>\r\n");
  329. sb.Append(" /// 保存表单(新增、修改)\r\n");
  330. sb.Append(" /// </summary>\r\n");
  331. sb.Append(" /// <param name=\"keyValue\">主键值</param>\r\n");
  332. sb.Append(" /// <param name=\"entity\">实体对象</param>\r\n");
  333. sb.Append(" /// <returns></returns>\r\n");
  334. sb.Append(" void SaveForm(string keyValue, " + baseConfigModel.EntityClassName + " entity);\r\n");
  335. sb.Append(" #endregion\r\n");
  336. sb.Append(" }\r\n");
  337. sb.Append("}\r\n");
  338. return sb.ToString();
  339. }
  340. #endregion
  341. #region 业务类
  342. /// <summary>
  343. /// 生成业务类
  344. /// </summary>
  345. /// <param name="baseConfigModel"></param>
  346. /// <returns></returns>
  347. public string BusinesBuilder(BaseConfigModel baseConfigModel)
  348. {
  349. StringBuilder sb = new StringBuilder();
  350. sb.Append("using Lottomat.Application.Entity." + baseConfigModel.OutputAreas + ";\r\n");
  351. sb.Append("using Lottomat.Application.IService." + baseConfigModel.OutputAreas + ";\r\n");
  352. sb.Append("using Lottomat.Application.Service." + baseConfigModel.OutputAreas + ";\r\n");
  353. sb.Append("using Lottomat.Util.WebControl;\r\n");
  354. sb.Append("using System.Collections.Generic;\r\n");
  355. sb.Append("using System;\r\n\r\n");
  356. sb.Append("namespace Lottomat.Application.Busines." + baseConfigModel.OutputAreas + "\r\n");
  357. sb.Append("{\r\n");
  358. sb.Append(" /// <summary>\r\n");
  359. sb.Append(" /// 版 本 1.0\r\n");
  360. sb.Append(" /// Copyright (c) 2016-2017\r\n");
  361. sb.Append(" /// 创 建:" + baseConfigModel.CreateUser + "\r\n");
  362. sb.Append(" /// 日 期:" + baseConfigModel.CreateDate + "\r\n");
  363. sb.Append(" /// 描 述:" + baseConfigModel.Description + "\r\n");
  364. sb.Append(" /// </summary>\r\n");
  365. sb.Append(" public class " + baseConfigModel.BusinesClassName + "\r\n");
  366. sb.Append(" {\r\n");
  367. sb.Append(" private " + baseConfigModel.IServiceClassName + " service = new " + baseConfigModel.ServiceClassName + "();\r\n\r\n");
  368. sb.Append(" #region 获取数据\r\n");
  369. if (baseConfigModel.gridModel.IsPage == true)
  370. {
  371. sb.Append(" /// <summary>\r\n");
  372. sb.Append(" /// 获取列表\r\n");
  373. sb.Append(" /// </summary>\r\n");
  374. sb.Append(" /// <param name=\"pagination\">分页</param>\r\n");
  375. sb.Append(" /// <param name=\"queryJson\">查询参数</param>\r\n");
  376. sb.Append(" /// <returns>返回分页列表</returns>\r\n");
  377. sb.Append(" public IEnumerable<" + baseConfigModel.EntityClassName + "> GetPageList(Pagination pagination, string queryJson)\r\n");
  378. sb.Append(" {\r\n");
  379. sb.Append(" return service.GetPageList(pagination, queryJson);\r\n");
  380. sb.Append(" }\r\n");
  381. }
  382. sb.Append(" /// <summary>\r\n");
  383. sb.Append(" /// 获取列表\r\n");
  384. sb.Append(" /// </summary>\r\n");
  385. sb.Append(" /// <param name=\"queryJson\">查询参数</param>\r\n");
  386. sb.Append(" /// <returns>返回列表</returns>\r\n");
  387. sb.Append(" public IEnumerable<" + baseConfigModel.EntityClassName + "> GetList(string queryJson)\r\n");
  388. sb.Append(" {\r\n");
  389. sb.Append(" return service.GetList(queryJson);\r\n");
  390. sb.Append(" }\r\n");
  391. sb.Append(" /// <summary>\r\n");
  392. sb.Append(" /// 获取实体\r\n");
  393. sb.Append(" /// </summary>\r\n");
  394. sb.Append(" /// <param name=\"keyValue\">主键值</param>\r\n");
  395. sb.Append(" /// <returns></returns>\r\n");
  396. sb.Append(" public " + baseConfigModel.EntityClassName + " GetEntity(string keyValue)\r\n");
  397. sb.Append(" {\r\n");
  398. sb.Append(" return service.GetEntity(keyValue);\r\n");
  399. sb.Append(" }\r\n");
  400. sb.Append(" #endregion\r\n\r\n");
  401. sb.Append(" #region 提交数据\r\n");
  402. sb.Append(" /// <summary>\r\n");
  403. sb.Append(" /// 删除数据\r\n");
  404. sb.Append(" /// </summary>\r\n");
  405. sb.Append(" /// <param name=\"keyValue\">主键</param>\r\n");
  406. sb.Append(" public void RemoveForm(string keyValue)\r\n");
  407. sb.Append(" {\r\n");
  408. sb.Append(" try\r\n");
  409. sb.Append(" {\r\n");
  410. sb.Append(" service.RemoveForm(keyValue);\r\n");
  411. sb.Append(" }\r\n");
  412. sb.Append(" catch (Exception)\r\n");
  413. sb.Append(" {\r\n");
  414. sb.Append(" throw;\r\n");
  415. sb.Append(" }\r\n");
  416. sb.Append(" }\r\n");
  417. sb.Append(" /// <summary>\r\n");
  418. sb.Append(" /// 保存表单(新增、修改)\r\n");
  419. sb.Append(" /// </summary>\r\n");
  420. sb.Append(" /// <param name=\"keyValue\">主键值</param>\r\n");
  421. sb.Append(" /// <param name=\"entity\">实体对象</param>\r\n");
  422. sb.Append(" /// <returns></returns>\r\n");
  423. sb.Append(" public void SaveForm(string keyValue, " + baseConfigModel.EntityClassName + " entity)\r\n");
  424. sb.Append(" {\r\n");
  425. sb.Append(" try\r\n");
  426. sb.Append(" {\r\n");
  427. sb.Append(" service.SaveForm(keyValue, entity);\r\n");
  428. sb.Append(" }\r\n");
  429. sb.Append(" catch (Exception)\r\n");
  430. sb.Append(" {\r\n");
  431. sb.Append(" throw;\r\n");
  432. sb.Append(" }\r\n");
  433. sb.Append(" }\r\n");
  434. sb.Append(" #endregion\r\n");
  435. sb.Append(" }\r\n");
  436. sb.Append("}\r\n");
  437. return sb.ToString();
  438. }
  439. #endregion
  440. #region 控制器
  441. /// <summary>
  442. /// 生成控制器
  443. /// </summary>
  444. /// <param name="baseConfigModel"></param>
  445. /// <returns></returns>
  446. public string ControllerBuilder(BaseConfigModel baseConfigModel)
  447. {
  448. StringBuilder sb = new StringBuilder();
  449. sb.Append("using Lottomat.Application.Entity." + baseConfigModel.OutputAreas + ";\r\n");
  450. sb.Append("using Lottomat.Application.Busines." + baseConfigModel.OutputAreas + ";\r\n");
  451. sb.Append("using Lottomat.Util;\r\n");
  452. sb.Append("using Lottomat.Util.WebControl;\r\n");
  453. sb.Append("using System.Web.Mvc;\r\n\r\n");
  454. sb.Append("namespace Lottomat.Application.Admin.Areas." + baseConfigModel.OutputAreas + ".Controllers\r\n");
  455. sb.Append("{\r\n");
  456. sb.Append(" /// <summary>\r\n");
  457. sb.Append(" /// 版 本 1.0\r\n");
  458. sb.Append(" /// Copyright (c) 2016-2017\r\n");
  459. sb.Append(" /// 创 建:" + baseConfigModel.CreateUser + "\r\n");
  460. sb.Append(" /// 日 期:" + baseConfigModel.CreateDate + "\r\n");
  461. sb.Append(" /// 描 述:" + baseConfigModel.Description + "\r\n");
  462. sb.Append(" /// </summary>\r\n");
  463. sb.Append(" public class " + baseConfigModel.ControllerName + " : MvcControllerBase\r\n");
  464. sb.Append(" {\r\n");
  465. sb.Append(" private " + baseConfigModel.BusinesClassName + " " + baseConfigModel.BusinesClassName.ToLower() + " = new " + baseConfigModel.BusinesClassName + "();\r\n\r\n");
  466. sb.Append(" #region 视图功能\r\n");
  467. sb.Append(" /// <summary>\r\n");
  468. sb.Append(" /// 列表页面\r\n");
  469. sb.Append(" /// </summary>\r\n");
  470. sb.Append(" /// <returns></returns>\r\n");
  471. sb.Append(" [HttpGet]\r\n");
  472. sb.Append(" public ActionResult " + baseConfigModel.IndexPageName + "()\r\n");
  473. sb.Append(" {\r\n");
  474. sb.Append(" return View();\r\n");
  475. sb.Append(" }\r\n");
  476. sb.Append(" /// <summary>\r\n");
  477. sb.Append(" /// 表单页面\r\n");
  478. sb.Append(" /// </summary>\r\n");
  479. sb.Append(" /// <returns></returns>\r\n");
  480. sb.Append(" [HttpGet]\r\n");
  481. sb.Append(" public ActionResult " + baseConfigModel.FormPageName + "()\r\n");
  482. sb.Append(" {\r\n");
  483. sb.Append(" return View();\r\n");
  484. sb.Append(" }\r\n");
  485. sb.Append(" #endregion\r\n\r\n");
  486. sb.Append(" #region 获取数据\r\n");
  487. if (baseConfigModel.gridModel.IsPage == true)
  488. {
  489. sb.Append(" /// <summary>\r\n");
  490. sb.Append(" /// 获取列表\r\n");
  491. sb.Append(" /// </summary>\r\n");
  492. sb.Append(" /// <param name=\"pagination\">分页参数</param>\r\n");
  493. sb.Append(" /// <param name=\"queryJson\">查询参数</param>\r\n");
  494. sb.Append(" /// <returns>返回分页列表Json</returns>\r\n");
  495. sb.Append(" [HttpGet]\r\n");
  496. sb.Append(" public ActionResult GetPageListJson(Pagination pagination, string queryJson)\r\n");
  497. sb.Append(" {\r\n");
  498. sb.Append(" var watch = CommonHelper.TimerStart();\r\n");
  499. sb.Append(" var data = " + baseConfigModel.BusinesClassName.ToLower() + ".GetPageList(pagination, queryJson);\r\n");
  500. sb.Append(" var jsonData = new\r\n");
  501. sb.Append(" {\r\n");
  502. sb.Append(" rows = data,\r\n");
  503. sb.Append(" total = pagination.total,\r\n");
  504. sb.Append(" page = pagination.page,\r\n");
  505. sb.Append(" records = pagination.records,\r\n");
  506. sb.Append(" costtime = CommonHelper.TimerEnd(watch)\r\n");
  507. sb.Append(" };\r\n");
  508. sb.Append(" return ToJsonResult(jsonData);\r\n");
  509. sb.Append(" }\r\n");
  510. }
  511. sb.Append(" /// <summary>\r\n");
  512. sb.Append(" /// 获取列表\r\n");
  513. sb.Append(" /// </summary>\r\n");
  514. sb.Append(" /// <param name=\"queryJson\">查询参数</param>\r\n");
  515. sb.Append(" /// <returns>返回列表Json</returns>\r\n");
  516. sb.Append(" [HttpGet]\r\n");
  517. sb.Append(" public ActionResult GetListJson(string queryJson)\r\n");
  518. sb.Append(" {\r\n");
  519. sb.Append(" var data = " + baseConfigModel.BusinesClassName.ToLower() + ".GetList(queryJson);\r\n");
  520. sb.Append(" return ToJsonResult(data);\r\n");
  521. sb.Append(" }\r\n");
  522. sb.Append(" /// <summary>\r\n");
  523. sb.Append(" /// 获取实体 \r\n");
  524. sb.Append(" /// </summary>\r\n");
  525. sb.Append(" /// <param name=\"keyValue\">主键值</param>\r\n");
  526. sb.Append(" /// <returns>返回对象Json</returns>\r\n");
  527. sb.Append(" [HttpGet]\r\n");
  528. sb.Append(" public ActionResult GetFormJson(string keyValue)\r\n");
  529. sb.Append(" {\r\n");
  530. sb.Append(" var data = " + baseConfigModel.BusinesClassName.ToLower() + ".GetEntity(keyValue);\r\n");
  531. sb.Append(" return ToJsonResult(data);\r\n");
  532. sb.Append(" }\r\n");
  533. sb.Append(" #endregion\r\n\r\n");
  534. sb.Append(" #region 提交数据\r\n");
  535. sb.Append(" /// <summary>\r\n");
  536. sb.Append(" /// 删除数据\r\n");
  537. sb.Append(" /// </summary>\r\n");
  538. sb.Append(" /// <param name=\"keyValue\">主键值</param>\r\n");
  539. sb.Append(" /// <returns></returns>\r\n");
  540. sb.Append(" [HttpPost]\r\n");
  541. sb.Append(" [ValidateAntiForgeryToken]\r\n");
  542. sb.Append(" [AjaxOnly]\r\n");
  543. sb.Append(" public ActionResult RemoveForm(string keyValue)\r\n");
  544. sb.Append(" {\r\n");
  545. sb.Append(" " + baseConfigModel.BusinesClassName.ToLower() + ".RemoveForm(keyValue);\r\n");
  546. sb.Append(" return Success(\"删除成功。\");\r\n");
  547. sb.Append(" }\r\n");
  548. sb.Append(" /// <summary>\r\n");
  549. sb.Append(" /// 保存表单(新增、修改)\r\n");
  550. sb.Append(" /// </summary>\r\n");
  551. sb.Append(" /// <param name=\"keyValue\">主键值</param>\r\n");
  552. sb.Append(" /// <param name=\"entity\">实体对象</param>\r\n");
  553. sb.Append(" /// <returns></returns>\r\n");
  554. sb.Append(" [HttpPost]\r\n");
  555. sb.Append(" [ValidateAntiForgeryToken]\r\n");
  556. sb.Append(" [AjaxOnly]\r\n");
  557. sb.Append(" public ActionResult SaveForm(string keyValue, " + baseConfigModel.EntityClassName + " entity)\r\n");
  558. sb.Append(" {\r\n");
  559. sb.Append(" " + baseConfigModel.BusinesClassName.ToLower() + ".SaveForm(keyValue, entity);\r\n");
  560. sb.Append(" return Success(\"操作成功。\");\r\n");
  561. sb.Append(" }\r\n");
  562. sb.Append(" #endregion\r\n");
  563. sb.Append(" }\r\n");
  564. sb.Append("}\r\n");
  565. return sb.ToString();
  566. }
  567. #endregion
  568. #region 列表页
  569. /// <summary>
  570. /// 表头显示/隐藏
  571. /// </summary>
  572. /// <param name="field"></param>
  573. /// <returns></returns>
  574. public string IsShow_Field(bool field)
  575. {
  576. if (field == true)
  577. {
  578. return ",hidden: true";
  579. }
  580. return "";
  581. }
  582. /// <summary>
  583. /// 生成列表页
  584. /// </summary>
  585. /// <param name="baseConfigModel"></param>
  586. /// <returns></returns>
  587. public string IndexBuilder(BaseConfigModel baseConfigModel)
  588. {
  589. var areasUrl = baseConfigModel.OutputAreas + "/" + StringHelper.DelLastLength(baseConfigModel.ControllerName, 10);
  590. StringBuilder sb = new StringBuilder();
  591. sb.Append("@{;\r\n");
  592. sb.Append(" ViewBag.Title = \"列表页面\";\r\n");
  593. sb.Append(" Layout = \"~/Views/Shared/_Index.cshtml\";\r\n");
  594. sb.Append("}\r\n");
  595. sb.Append("<script>;\r\n");
  596. sb.Append(" $(function () {\r\n");
  597. sb.Append(" InitialPage();\r\n");
  598. sb.Append(" GetGrid();\r\n");
  599. sb.Append(" });\r\n");
  600. sb.Append(" //初始化页面\r\n");
  601. sb.Append(" function InitialPage() {\r\n");
  602. sb.Append(" //resize重设布局;\r\n");
  603. sb.Append(" $(window).resize(function (e) {\r\n");
  604. sb.Append(" window.setTimeout(function () {\r\n");
  605. sb.Append(" $('#gridTable').setGridWidth(($('.gridPanel').width()));\r\n");
  606. if (baseConfigModel.gridModel.IsPage == true)
  607. {
  608. sb.Append(" $('#gridTable').setGridHeight($(window).height() - 169.5);\r\n");
  609. }
  610. else
  611. {
  612. sb.Append(" $('#gridTable').setGridHeight($(window).height() - 108.5);\r\n");
  613. }
  614. sb.Append(" }, 200);\r\n");
  615. sb.Append(" e.stopPropagation();\r\n");
  616. sb.Append(" });\r\n");
  617. sb.Append(" }\r\n");
  618. sb.Append(" //加载表格\r\n");
  619. sb.Append(" function GetGrid() {\r\n");
  620. sb.Append(" var selectedRowIndex = 0;\r\n");
  621. sb.Append(" var $gridTable = $('#gridTable');\r\n");
  622. sb.Append(" $gridTable.jqGrid({\r\n");
  623. sb.Append(" autowidth: true,\r\n");
  624. if (baseConfigModel.gridModel.IsPage == true)
  625. {
  626. sb.Append(" height: $(window).height() - 169.5,\r\n");
  627. sb.Append(" url: \"../../" + areasUrl + "/GetPageListJson\",\r\n");
  628. }
  629. else
  630. {
  631. sb.Append(" height: $(window).height() - 108.5,\r\n");
  632. sb.Append(" url: \"../../" + areasUrl + "/GetListJson\",\r\n");
  633. }
  634. sb.Append(" datatype: \"json\",\r\n");
  635. sb.Append(" colModel: [\r\n");
  636. List<GridColumnModel> colModel = baseConfigModel.gridColumnModel;
  637. if (colModel != null)
  638. {
  639. foreach (GridColumnModel entity in colModel)
  640. {
  641. sb.Append(" { label: '" + entity.label + "', name: '" + entity.name + "', index: '" + entity.name + "', width: " + entity.width + ", align: '" + entity.align + "',sortable: " + entity.sortable.ToString().ToLower() + " " + IsShow_Field(entity.hidden) + " },\r\n");
  642. }
  643. }
  644. sb.Append(" ],\r\n");
  645. if (baseConfigModel.gridModel.IsPage == true)
  646. {
  647. sb.Append(" viewrecords: true,\r\n");
  648. sb.Append(" rowNum: 25,\r\n");
  649. sb.Append(" rowList: [10, 20, 30, 50, 100],\r\n");
  650. sb.Append(" pager: \"#gridPager\",\r\n");
  651. sb.Append(" sortname: '',\r\n");
  652. sb.Append(" sortorder: 'desc',\r\n");
  653. sb.Append(" rownumbers: true,\r\n");
  654. sb.Append(" shrinkToFit: true,\r\n");
  655. sb.Append(" gridview: true,\r\n");
  656. }
  657. sb.Append(" onSelectRow: function () {\r\n");
  658. sb.Append(" selectedRowIndex = $('#' + this.id).getGridParam('selrow');\r\n");
  659. sb.Append(" },\r\n");
  660. sb.Append(" gridComplete: function () {\r\n");
  661. sb.Append(" $('#' + this.id).setSelection(selectedRowIndex, false);\r\n");
  662. sb.Append(" }\r\n");
  663. sb.Append(" });\r\n");
  664. //添加查询方法
  665. sb.Append(" " + search);
  666. sb.Append(" }\r\n");
  667. sb.Append(" //新增\r\n");
  668. sb.Append(" function btn_add() {\r\n");
  669. sb.Append(" dialogOpen({\r\n");
  670. sb.Append(" id: 'Form',\r\n");
  671. sb.Append(" title: '添加" + baseConfigModel.Description + "',\r\n");
  672. sb.Append(" url: '/" + areasUrl + "/" + baseConfigModel.FormPageName + "',\r\n");
  673. sb.Append(" width: '" + baseConfigModel.formModel.width + "px',\r\n");
  674. sb.Append(" height: '" + baseConfigModel.formModel.height + "px',\r\n");
  675. sb.Append(" callBack: function (iframeId) {\r\n");
  676. sb.Append(" top.frames[iframeId].AcceptClick();\r\n");
  677. sb.Append(" }\r\n");
  678. sb.Append(" });\r\n");
  679. sb.Append(" }\r\n");
  680. sb.Append(" //编辑\r\n");
  681. sb.Append(" function btn_edit() {\r\n");
  682. sb.Append(" var keyValue = $('#gridTable').jqGridRowValue('" + baseConfigModel.DataBaseTablePK + "');\r\n");
  683. sb.Append(" if (checkedRow(keyValue)) {\r\n");
  684. sb.Append(" dialogOpen({\r\n");
  685. sb.Append(" id: 'Form',\r\n");
  686. sb.Append(" title: '编辑" + baseConfigModel.Description + "',\r\n");
  687. sb.Append(" url: '/" + areasUrl + "/" + baseConfigModel.FormPageName + "?keyValue=' + keyValue,\r\n");
  688. sb.Append(" width: '" + baseConfigModel.formModel.width + "px',\r\n");
  689. sb.Append(" height: '" + baseConfigModel.formModel.height + "px',\r\n");
  690. sb.Append(" callBack: function (iframeId) {\r\n");
  691. sb.Append(" top.frames[iframeId].AcceptClick();\r\n");
  692. sb.Append(" }\r\n");
  693. sb.Append(" })\r\n");
  694. sb.Append(" }\r\n");
  695. sb.Append(" }\r\n");
  696. sb.Append(" //删除\r\n");
  697. sb.Append(" function btn_delete() {\r\n");
  698. sb.Append(" var keyValue = $('#gridTable').jqGridRowValue('" + baseConfigModel.DataBaseTablePK + "');\r\n");
  699. sb.Append(" if (keyValue) {\r\n");
  700. sb.Append(" $.RemoveForm({\r\n");
  701. sb.Append(" url: '../../" + areasUrl + "/RemoveForm',\r\n");
  702. sb.Append(" param: { keyValue: keyValue },\r\n");
  703. sb.Append(" success: function (data) {\r\n");
  704. sb.Append(" $('#gridTable').trigger('reloadGrid');\r\n");
  705. sb.Append(" }\r\n");
  706. sb.Append(" })\r\n");
  707. sb.Append(" } else {\r\n");
  708. sb.Append(" dialogMsg('请选择需要删除的" + baseConfigModel.Description + "!', 0);\r\n");
  709. sb.Append(" }\r\n");
  710. sb.Append(" }\r\n");
  711. sb.Append("</script>\r\n");
  712. sb.Append("<div class=\"titlePanel\">\r\n");
  713. sb.Append(" <div class=\"title-search\">\r\n");
  714. sb.Append(" <table>\r\n");
  715. sb.Append(" <tr>\r\n");
  716. sb.Append(" <td>\r\n");
  717. sb.Append(" <input id=\"txt_Keyword\" type=\"text\" class=\"form-control\" placeholder=\"请输入要查询关键字\" style=\"width: 200px;\" />\r\n");
  718. sb.Append(" </td>\r\n");
  719. sb.Append(" <td style=\"padding-left: 5px;\">\r\n");
  720. sb.Append(" <a id=\"btn_Search\" class=\"btn btn-primary\"><i class=\"fa fa-search\"></i>&nbsp;查询</a>\r\n");
  721. sb.Append(" </td>\r\n");
  722. sb.Append(" </tr>\r\n");
  723. sb.Append(" </table>\r\n");
  724. sb.Append(" </div>\r\n");
  725. sb.Append(" <div class=\"toolbar\">\r\n");
  726. sb.Append(" <div class=\"btn-group\">\r\n");
  727. sb.Append(" <a id=\"lr-replace\" class=\"btn btn-default\" onclick=\"reload()\"><i class=\"fa fa-refresh\"></i>★刷新</a>\r\n");
  728. sb.Append(" <a id=\"lr-add\" class=\"btn btn-default\" onclick=\"btn_add()\"><i class=\"fa fa-plus\"></i>★新增</a>\r\n");
  729. sb.Append(" <a id=\"lr-edit\" class=\"btn btn-default\" onclick=\"btn_edit()\"><i class=\"fa fa-pencil-square-o\"></i>★编辑</a>\r\n");
  730. sb.Append(" <a id=\"lr-delete\" class=\"btn btn-default\" onclick=\"btn_delete()\"><i class=\"fa fa-trash-o\"></i>★删除</a>\r\n");
  731. sb.Append(" </div>\r\n");
  732. sb.Append(" <script>$('.toolbar').authorizeButton()</script>\r\n");
  733. sb.Append(" </div>\r\n");
  734. sb.Append("</div>\r\n");
  735. sb.Append("<div class=\"gridPanel\">\r\n");
  736. sb.Append(" <table id=\"gridTable\"></table>\r\n");
  737. if (baseConfigModel.gridModel.IsPage == true)
  738. {
  739. sb.Append(" <div id=\"gridPager\"></div>\r\n");
  740. }
  741. sb.Append("</div>\r\n");
  742. return sb.ToString();
  743. }
  744. private string search = @"
  745. //查询事件
  746. $('#btn_Search').click(function () {
  747. var queryJson = {
  748. Term: $('#txt_Keyword').val()
  749. }
  750. $gridTable.jqGrid('setGridParam', {
  751. postData: { queryJson: JSON.stringify(queryJson)},
  752. }).trigger('reloadGrid');
  753. });
  754. //查询回车
  755. $('#txt_Keyword').bind('keypress', function (event){
  756. if (event.keyCode == '13') {
  757. $('#btn_Search').trigger('click');
  758. }
  759. });";
  760. #endregion
  761. #region 表单页
  762. /// <summary>
  763. /// 生成表单页
  764. /// </summary>
  765. /// <param name="baseConfigModel"></param>
  766. /// <returns></returns>
  767. public string FormBuilder(BaseConfigModel baseConfigModel)
  768. {
  769. var areasUrl = baseConfigModel.OutputAreas + "/" + StringHelper.DelLastLength(baseConfigModel.ControllerName, 10);
  770. StringBuilder sb = new StringBuilder();
  771. sb.Append("@{;\r\n");
  772. sb.Append(" ViewBag.Title = \"表单页面\";\r\n");
  773. sb.Append(" Layout = \"~/Views/Shared/_Form.cshtml\";\r\n");
  774. sb.Append("}\r\n");
  775. sb.Append("<script>\r\n");
  776. sb.Append(" var keyValue = request('keyValue');\r\n");
  777. sb.Append(" $(function () {\r\n");
  778. sb.Append(" initControl();\r\n");
  779. sb.Append(" });\r\n");
  780. sb.Append(" //初始化控件\r\n");
  781. sb.Append(" function initControl() {\r\n");
  782. sb.Append(" //获取表单\r\n");
  783. sb.Append(" if (!!keyValue) {\r\n");
  784. sb.Append(" $.SetForm({\r\n");
  785. sb.Append(" url: \"../../" + areasUrl + "/GetFormJson\",\r\n");
  786. sb.Append(" param: { keyValue: keyValue },\r\n");
  787. sb.Append(" success: function (data) {\r\n");
  788. sb.Append(" $(\"#form1\").SetWebControls(data);\r\n");
  789. sb.Append(" }\r\n");
  790. sb.Append(" })\r\n");
  791. sb.Append(" }\r\n");
  792. sb.Append(" }\r\n");
  793. sb.Append(" //保存表单;\r\n");
  794. sb.Append(" function AcceptClick() {\r\n");
  795. sb.Append(" if (!$('#form1').Validform()) {\r\n");
  796. sb.Append(" return false;\r\n");
  797. sb.Append(" }\r\n");
  798. sb.Append(" var postData = $(\"#form1\").GetWebControls(keyValue);\r\n");
  799. sb.Append(" $.SaveForm({\r\n");
  800. sb.Append(" url: \"../../" + areasUrl + "/SaveForm?keyValue=\" + keyValue,\r\n");
  801. sb.Append(" param: postData,\r\n");
  802. sb.Append(" loading: \"正在保存数据...\",\r\n");
  803. sb.Append(" success: function () {\r\n");
  804. sb.Append(" $.currentIframe().$(\"#gridTable\").trigger(\"reloadGrid\");\r\n");
  805. sb.Append(" }\r\n");
  806. sb.Append(" })\r\n");
  807. sb.Append(" }\r\n");
  808. sb.Append("</script>\r\n");
  809. sb.Append("<div style=\"margin-top: 20px; margin-right: 30px;\">\r\n");
  810. sb.Append(" <table class=\"form\">\r\n <tr>\r\n");
  811. List<FormFieldModel> fieldModel = baseConfigModel.formFieldModel;
  812. if (fieldModel != null)
  813. {
  814. int clumnIndex = 1;//每行中第几列
  815. foreach (FormFieldModel entity in fieldModel)
  816. {
  817. if (entity.ControlColspan == 1)
  818. {
  819. sb.Append(" <td class=\"formTitle\">" + entity.ControlName + "</td>\r\n");
  820. sb.Append(" <td class=\"formValue\" colspan='3'>\r\n " + CreateControl(entity) + "\r\n </td>\r\n");
  821. clumnIndex = 2;
  822. }
  823. else
  824. {
  825. sb.Append(" <td class=\"formTitle\">" + entity.ControlName + "</td>\r\n");
  826. sb.Append(" <td class=\"formValue\">\r\n " + CreateControl(entity) + "\r\n </td>\r\n");
  827. }
  828. if (baseConfigModel.formModel.FormType == 1)
  829. {
  830. sb.Append(" </tr>\r\n <tr>\r\n");
  831. }
  832. else
  833. {
  834. if (clumnIndex == 2)
  835. {
  836. sb.Append(" </tr>\r\n <tr>\r\n");
  837. clumnIndex = 1;
  838. }
  839. else
  840. {
  841. clumnIndex = 2;
  842. }
  843. }
  844. }
  845. }
  846. sb.Remove(sb.Length - 7, 7);
  847. sb.Append("\r\n");
  848. sb.Append(" </table>\r\n");
  849. sb.Append("</div>\r\n");
  850. return sb.ToString();
  851. }
  852. /// <summary>
  853. /// 生成控件
  854. /// </summary>
  855. /// <param name="entity"></param>
  856. /// <returns></returns>
  857. public string CreateControl(FormFieldModel entity)
  858. {
  859. StringBuilder sbControl = new StringBuilder();
  860. string ControlName = entity.ControlName; //属性名称
  861. string ControlId = entity.ControlId; //控件Id
  862. string ControlType = entity.ControlType; //控件类型
  863. string validator_html = "";
  864. if (!string.IsNullOrEmpty(entity.ControlValidator.Trim()))
  865. {
  866. validator_html = "isvalid=\"yes\" checkexpession=\"" + entity.ControlValidator.Trim() + "\"";
  867. }
  868. switch (ControlType)
  869. {
  870. case "input"://文本框
  871. sbControl.Append("<input id=\"" + ControlId + "\" type=\"text\" class=\"form-control\" " + validator_html + " />");
  872. break;
  873. case "select"://下拉框
  874. sbControl.Append("<div id=\"" + ControlId + "\" type=\"select\" class=\"ui-select\" " + validator_html + "></div>");
  875. break;
  876. case "datetime"://日期框
  877. sbControl.Append("<input id=\"" + ControlId + "\" type=\"text\" class=\"form-control input-datepicker\" " + validator_html + "/>");
  878. break;
  879. case "textarea"://多行文本框
  880. sbControl.Append("<textarea id=\"" + ControlId + "\" class=\"form-control\" " + validator_html + "></textarea>");
  881. break;
  882. default:
  883. return "内部错误,配置有错误";
  884. }
  885. return sbControl.ToString();
  886. }
  887. #endregion
  888. }
  889. }