暂无描述

T_Sys_UserAccount.cs 46KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080
  1. using CallCenterApi.DB;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace CallCenterApi.DAL
  10. {
  11. // <summary>
  12. /// 数据访问类:T_Sys_UserAccount
  13. /// </summary>
  14. public partial class T_Sys_UserAccount
  15. {
  16. public T_Sys_UserAccount()
  17. { }
  18. #region BasicMethod
  19. /// <summary>
  20. /// 得到最大ID
  21. /// </summary>
  22. public int GetMaxId()
  23. {
  24. return DbHelperSQL.GetMaxID("F_UserId", "T_Sys_UserAccount");
  25. }
  26. /// <summary>
  27. /// 是否存在该记录
  28. /// </summary>
  29. public bool Exists(int F_UserId)
  30. {
  31. StringBuilder strSql = new StringBuilder();
  32. strSql.Append("select count(1) from T_Sys_UserAccount ");
  33. strSql.Append(" where F_UserId=@F_UserId");
  34. SqlParameter[] parameters = {
  35. new SqlParameter("@F_UserId", SqlDbType.Int,4)
  36. };
  37. parameters[0].Value = F_UserId;
  38. return DbHelperSQL.Exists(strSql.ToString(), parameters);
  39. }
  40. /// <summary>
  41. /// 增加一条数据
  42. /// </summary>
  43. public int Add(CallCenterApi.Model.T_Sys_UserAccount model)
  44. {
  45. StringBuilder strSql = new StringBuilder();
  46. strSql.Append("insert into T_Sys_UserAccount(");
  47. strSql.Append("F_UserCode,F_Password,F_ExtensionNumber,F_UserName,F_DeptId,F_RoleId,F_GroupId,F_SeatFlag,F_SeatRight,F_SeatLevel,F_SexFlag,F_RemindFlag,F_Remark,F_Telephone,F_Mobile,F_HomePhone,F_Birthday,F_CreateOn,F_CancelOn,F_DeleteFlag,F_APPOnFlag,F_LastActiveTime,F_See,F_HJType,F_PId,F_TmId,F_WorkNumber,F_DeptCode,F_Position,F_WXNo,F_WxOpenId,F_SeartGroupCode,F_RoleCode,F_ClassCode,F_GroupCode,F_Name,F_Company,F_Department,F_Post,F_ModifytTime,F_IsSms,F_SeartGroupID)");
  48. strSql.Append(" values (");
  49. strSql.Append("@F_UserCode,@F_Password,@F_ExtensionNumber,@F_UserName,@F_DeptId,@F_RoleId,@F_GroupId,@F_SeatFlag,@F_SeatRight,@F_SeatLevel,@F_SexFlag,@F_RemindFlag,@F_Remark,@F_Telephone,@F_Mobile,@F_HomePhone,@F_Birthday,@F_CreateOn,@F_CancelOn,@F_DeleteFlag,@F_APPOnFlag,@F_LastActiveTime,@F_See,@F_HJType,@F_PId,@F_TmId,@F_WorkNumber,@F_DeptCode,@F_Position,@F_WXNo,@F_WxOpenId,@F_SeartGroupCode,@F_RoleCode,@F_ClassCode,@F_GroupCode,@F_Name,@F_Company,@F_Department,@F_Post,@F_ModifytTime,@F_IsSms,@F_SeartGroupID)");
  50. strSql.Append(";select @@IDENTITY");
  51. SqlParameter[] parameters = {
  52. new SqlParameter("@F_UserCode", SqlDbType.VarChar,50),
  53. new SqlParameter("@F_Password", SqlDbType.VarChar,50),
  54. new SqlParameter("@F_ExtensionNumber", SqlDbType.VarChar,50),
  55. new SqlParameter("@F_UserName", SqlDbType.VarChar,50),
  56. new SqlParameter("@F_DeptId", SqlDbType.Int,4),
  57. new SqlParameter("@F_RoleId", SqlDbType.Int,4),
  58. new SqlParameter("@F_GroupId", SqlDbType.Int,4),
  59. new SqlParameter("@F_SeatFlag", SqlDbType.Bit,1),
  60. new SqlParameter("@F_SeatRight", SqlDbType.VarChar,50),
  61. new SqlParameter("@F_SeatLevel", SqlDbType.VarChar,50),
  62. new SqlParameter("@F_SexFlag", SqlDbType.VarChar,50),
  63. new SqlParameter("@F_RemindFlag", SqlDbType.Bit,1),
  64. new SqlParameter("@F_Remark", SqlDbType.VarChar,200),
  65. new SqlParameter("@F_Telephone", SqlDbType.VarChar,50),
  66. new SqlParameter("@F_Mobile", SqlDbType.VarChar,50),
  67. new SqlParameter("@F_HomePhone", SqlDbType.VarChar,50),
  68. new SqlParameter("@F_Birthday", SqlDbType.DateTime),
  69. new SqlParameter("@F_CreateOn", SqlDbType.DateTime),
  70. new SqlParameter("@F_CancelOn", SqlDbType.DateTime),
  71. new SqlParameter("@F_DeleteFlag", SqlDbType.SmallInt,2),
  72. new SqlParameter("@F_APPOnFlag", SqlDbType.Bit,1),
  73. new SqlParameter("@F_LastActiveTime", SqlDbType.DateTime),
  74. new SqlParameter("@F_See", SqlDbType.VarChar,100),
  75. new SqlParameter("@F_HJType", SqlDbType.Int,4),
  76. new SqlParameter("@F_PId", SqlDbType.Int,4),
  77. new SqlParameter("@F_TmId", SqlDbType.Int,4),
  78. new SqlParameter("@F_WorkNumber", SqlDbType.VarChar,-1),
  79. new SqlParameter("@F_DeptCode", SqlDbType.VarChar,50),
  80. new SqlParameter("@F_Position", SqlDbType.NVarChar,300),
  81. new SqlParameter("@F_WXNo", SqlDbType.NVarChar,50),
  82. new SqlParameter("@F_WxOpenId", SqlDbType.VarChar,300),
  83. new SqlParameter("@F_SeartGroupCode", SqlDbType.VarChar,50),
  84. new SqlParameter("@F_RoleCode", SqlDbType.VarChar,50),
  85. new SqlParameter("@F_ClassCode", SqlDbType.VarChar,50),
  86. new SqlParameter("@F_Name", SqlDbType.VarChar,50),
  87. new SqlParameter("@F_Company", SqlDbType.VarChar,50),
  88. new SqlParameter("@F_Department", SqlDbType.VarChar,50),
  89. new SqlParameter("@F_Post", SqlDbType.VarChar,50),
  90. new SqlParameter("@F_ModifytTime", SqlDbType.DateTime),
  91. new SqlParameter("@F_IsSms", SqlDbType.Int,4),
  92. new SqlParameter("@F_SeartGroupID", SqlDbType.Int,4),
  93. new SqlParameter("@F_GroupCode", SqlDbType.VarChar,50)};
  94. parameters[0].Value = model.F_UserCode;
  95. parameters[1].Value = model.F_Password;
  96. parameters[2].Value = model.F_ExtensionNumber;
  97. parameters[3].Value = model.F_UserName;
  98. parameters[4].Value = model.F_DeptId;
  99. parameters[5].Value = model.F_RoleId;
  100. parameters[6].Value = model.F_GroupId;
  101. parameters[7].Value = model.F_SeatFlag;
  102. parameters[8].Value = model.F_SeatRight;
  103. parameters[9].Value = model.F_SeatLevel;
  104. parameters[10].Value = model.F_SexFlag;
  105. parameters[11].Value = model.F_RemindFlag;
  106. parameters[12].Value = model.F_Remark;
  107. parameters[13].Value = model.F_Telephone;
  108. parameters[14].Value = model.F_Mobile;
  109. parameters[15].Value = model.F_HomePhone;
  110. parameters[16].Value = model.F_Birthday;
  111. parameters[17].Value = model.F_CreateOn;
  112. parameters[18].Value = model.F_CancelOn;
  113. parameters[19].Value = model.F_DeleteFlag;
  114. parameters[20].Value = model.F_APPOnFlag;
  115. parameters[21].Value = model.F_LastActiveTime;
  116. parameters[22].Value = model.F_See;
  117. parameters[23].Value = model.F_HJType;
  118. parameters[24].Value = model.F_PId;
  119. parameters[25].Value = model.F_TmId;
  120. parameters[26].Value = model.F_WorkNumber;
  121. parameters[27].Value = model.F_DeptCode;
  122. parameters[28].Value = model.F_Position;
  123. parameters[29].Value = model.F_WXNo;
  124. parameters[30].Value = model.F_WxOpenId;
  125. parameters[31].Value = model.F_SeartGroupCode;
  126. parameters[32].Value = model.F_RoleCode;
  127. parameters[33].Value = model.F_ClassCode;
  128. parameters[34].Value = model.F_Name;
  129. parameters[35].Value = model.F_Company;
  130. parameters[36].Value = model.F_Department;
  131. parameters[37].Value = model.F_Post;
  132. parameters[38].Value = model.F_ModifytTime
  133. ;
  134. parameters[39].Value = model.F_IsSms;
  135. parameters[40].Value = model.F_SeartGroupID;
  136. parameters[41].Value = model.F_GroupCode;
  137. object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  138. if (obj == null)
  139. {
  140. return 0;
  141. }
  142. else
  143. {
  144. return Convert.ToInt32(obj);
  145. }
  146. }
  147. /// <summary>
  148. /// 更新一条数据
  149. /// </summary>
  150. public bool Update(CallCenterApi.Model.T_Sys_UserAccount model)
  151. {
  152. StringBuilder strSql = new StringBuilder();
  153. strSql.Append("update T_Sys_UserAccount set ");
  154. strSql.Append("F_UserCode=@F_UserCode,");
  155. strSql.Append("F_Password=@F_Password,");
  156. strSql.Append("F_ExtensionNumber=@F_ExtensionNumber,");
  157. strSql.Append("F_UserName=@F_UserName,");
  158. strSql.Append("F_DeptId=@F_DeptId,");
  159. strSql.Append("F_RoleId=@F_RoleId,");
  160. strSql.Append("F_GroupId=@F_GroupId,");
  161. strSql.Append("F_SeatFlag=@F_SeatFlag,");
  162. strSql.Append("F_SeatRight=@F_SeatRight,");
  163. strSql.Append("F_SeatLevel=@F_SeatLevel,");
  164. strSql.Append("F_SexFlag=@F_SexFlag,");
  165. strSql.Append("F_RemindFlag=@F_RemindFlag,");
  166. strSql.Append("F_Remark=@F_Remark,");
  167. strSql.Append("F_Telephone=@F_Telephone,");
  168. strSql.Append("F_Mobile=@F_Mobile,");
  169. strSql.Append("F_HomePhone=@F_HomePhone,");
  170. strSql.Append("F_Birthday=@F_Birthday,");
  171. strSql.Append("F_CreateOn=@F_CreateOn,");
  172. strSql.Append("F_CancelOn=@F_CancelOn,");
  173. strSql.Append("F_DeleteFlag=@F_DeleteFlag,");
  174. strSql.Append("F_APPOnFlag=@F_APPOnFlag,");
  175. strSql.Append("F_LastActiveTime=@F_LastActiveTime,");
  176. strSql.Append("F_See=@F_See,");
  177. strSql.Append("F_HJType=@F_HJType,");
  178. strSql.Append("F_PId=@F_PId,");
  179. strSql.Append("F_TmId=@F_TmId,");
  180. strSql.Append("F_WorkNumber=@F_WorkNumber,");
  181. strSql.Append("F_DeptCode=@F_DeptCode,");
  182. strSql.Append("F_Position=@F_Position,");
  183. strSql.Append("F_WXNo=@F_WXNo,");
  184. strSql.Append("F_WxOpenId=@F_WxOpenId,");
  185. strSql.Append("F_SeartGroupCode=@F_SeartGroupCode,");
  186. strSql.Append("F_RoleCode=@F_RoleCode,");
  187. strSql.Append("F_ClassCode=@F_ClassCode,");
  188. strSql.Append("F_Name=@F_Name,");
  189. strSql.Append("F_Company=@F_Company,");
  190. strSql.Append("F_Department=@F_Department,");
  191. strSql.Append("F_Post=@F_Post,");
  192. strSql.Append("F_ModifytTime=@F_ModifytTime,");
  193. strSql.Append("F_IsSms=@F_IsSms,");
  194. strSql.Append("F_SeartGroupID=@F_SeartGroupID,");
  195. strSql.Append("F_GroupCode=@F_GroupCode");
  196. strSql.Append(" where F_UserId=@F_UserId");
  197. SqlParameter[] parameters = {
  198. new SqlParameter("@F_UserCode", SqlDbType.VarChar,50),
  199. new SqlParameter("@F_Password", SqlDbType.VarChar,50),
  200. new SqlParameter("@F_ExtensionNumber", SqlDbType.VarChar,50),
  201. new SqlParameter("@F_UserName", SqlDbType.VarChar,50),
  202. new SqlParameter("@F_DeptId", SqlDbType.Int,4),
  203. new SqlParameter("@F_RoleId", SqlDbType.Int,4),
  204. new SqlParameter("@F_GroupId", SqlDbType.Int,4),
  205. new SqlParameter("@F_SeatFlag", SqlDbType.Bit,1),
  206. new SqlParameter("@F_SeatRight", SqlDbType.VarChar,50),
  207. new SqlParameter("@F_SeatLevel", SqlDbType.VarChar,50),
  208. new SqlParameter("@F_SexFlag", SqlDbType.VarChar,50),
  209. new SqlParameter("@F_RemindFlag", SqlDbType.Bit,1),
  210. new SqlParameter("@F_Remark", SqlDbType.VarChar,200),
  211. new SqlParameter("@F_Telephone", SqlDbType.VarChar,50),
  212. new SqlParameter("@F_Mobile", SqlDbType.VarChar,50),
  213. new SqlParameter("@F_HomePhone", SqlDbType.VarChar,50),
  214. new SqlParameter("@F_Birthday", SqlDbType.DateTime),
  215. new SqlParameter("@F_CreateOn", SqlDbType.DateTime),
  216. new SqlParameter("@F_CancelOn", SqlDbType.DateTime),
  217. new SqlParameter("@F_DeleteFlag", SqlDbType.SmallInt,2),
  218. new SqlParameter("@F_APPOnFlag", SqlDbType.Bit,1),
  219. new SqlParameter("@F_LastActiveTime", SqlDbType.DateTime),
  220. new SqlParameter("@F_See", SqlDbType.VarChar,100),
  221. new SqlParameter("@F_HJType", SqlDbType.Int,4),
  222. new SqlParameter("@F_PId", SqlDbType.Int,4),
  223. new SqlParameter("@F_TmId", SqlDbType.Int,4),
  224. new SqlParameter("@F_WorkNumber", SqlDbType.VarChar,-1),
  225. new SqlParameter("@F_DeptCode", SqlDbType.VarChar,50),
  226. new SqlParameter("@F_Position", SqlDbType.NVarChar,300),
  227. new SqlParameter("@F_WXNo", SqlDbType.NVarChar,50),
  228. new SqlParameter("@F_WxOpenId", SqlDbType.VarChar,300),
  229. new SqlParameter("@F_SeartGroupCode", SqlDbType.VarChar,50),
  230. new SqlParameter("@F_RoleCode", SqlDbType.VarChar,50),
  231. new SqlParameter("@F_ClassCode", SqlDbType.VarChar,50),
  232. new SqlParameter("@F_Name", SqlDbType.VarChar,50),
  233. new SqlParameter("@F_Company", SqlDbType.VarChar,50),
  234. new SqlParameter("@F_Department", SqlDbType.VarChar,50),
  235. new SqlParameter("@F_Post", SqlDbType.VarChar,50),
  236. new SqlParameter("@F_ModifytTime", SqlDbType.DateTime),
  237. new SqlParameter("@F_IsSms", SqlDbType.Int,4),
  238. new SqlParameter("@F_SeartGroupID", SqlDbType.Int,4),
  239. new SqlParameter("@F_GroupCode", SqlDbType.VarChar,50),
  240. new SqlParameter("@F_UserId", SqlDbType.Int,4)};
  241. parameters[0].Value = model.F_UserCode;
  242. parameters[1].Value = model.F_Password;
  243. parameters[2].Value = model.F_ExtensionNumber;
  244. parameters[3].Value = model.F_UserName;
  245. parameters[4].Value = model.F_DeptId;
  246. parameters[5].Value = model.F_RoleId;
  247. parameters[6].Value = model.F_GroupId;
  248. parameters[7].Value = model.F_SeatFlag;
  249. parameters[8].Value = model.F_SeatRight;
  250. parameters[9].Value = model.F_SeatLevel;
  251. parameters[10].Value = model.F_SexFlag;
  252. parameters[11].Value = model.F_RemindFlag;
  253. parameters[12].Value = model.F_Remark;
  254. parameters[13].Value = model.F_Telephone;
  255. parameters[14].Value = model.F_Mobile;
  256. parameters[15].Value = model.F_HomePhone;
  257. parameters[16].Value = model.F_Birthday;
  258. parameters[17].Value = model.F_CreateOn;
  259. parameters[18].Value = model.F_CancelOn;
  260. parameters[19].Value = model.F_DeleteFlag;
  261. parameters[20].Value = model.F_APPOnFlag;
  262. parameters[21].Value = model.F_LastActiveTime;
  263. parameters[22].Value = model.F_See;
  264. parameters[23].Value = model.F_HJType;
  265. parameters[24].Value = model.F_PId;
  266. parameters[25].Value = model.F_TmId;
  267. parameters[26].Value = model.F_WorkNumber;
  268. parameters[27].Value = model.F_DeptCode;
  269. parameters[28].Value = model.F_Position;
  270. parameters[29].Value = model.F_WXNo;
  271. parameters[30].Value = model.F_WxOpenId;
  272. parameters[31].Value = model.F_SeartGroupCode;
  273. parameters[32].Value = model.F_RoleCode;
  274. parameters[33].Value = model.F_ClassCode;
  275. parameters[34].Value = model.F_Name;
  276. parameters[35].Value = model.F_Company;
  277. parameters[36].Value = model.F_Department;
  278. parameters[37].Value = model.F_Post;
  279. parameters[38].Value = model.F_ModifytTime;
  280. parameters[39].Value = model.F_IsSms;
  281. parameters[40].Value = model.F_SeartGroupID;
  282. parameters[41].Value = model.F_GroupCode;
  283. parameters[42].Value = model.F_UserId;
  284. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  285. if (rows > 0)
  286. {
  287. return true;
  288. }
  289. else
  290. {
  291. return false;
  292. }
  293. }
  294. /// <summary>
  295. /// 删除一条数据
  296. /// </summary>
  297. public bool Delete(int F_UserId)
  298. {
  299. StringBuilder strSql = new StringBuilder();
  300. strSql.Append("delete from T_Sys_UserAccount ");
  301. strSql.Append(" where F_UserId=@F_UserId");
  302. SqlParameter[] parameters = {
  303. new SqlParameter("@F_UserId", SqlDbType.Int,4)
  304. };
  305. parameters[0].Value = F_UserId;
  306. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  307. if (rows > 0)
  308. {
  309. return true;
  310. }
  311. else
  312. {
  313. return false;
  314. }
  315. }
  316. /// <summary>
  317. /// 批量删除数据
  318. /// </summary>
  319. public bool DeleteList(string F_UserIdlist)
  320. {
  321. StringBuilder strSql = new StringBuilder();
  322. strSql.Append("delete from T_Sys_UserAccount ");
  323. strSql.Append(" where F_UserId in (" + F_UserIdlist + ") ");
  324. int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
  325. if (rows > 0)
  326. {
  327. return true;
  328. }
  329. else
  330. {
  331. return false;
  332. }
  333. }
  334. /// <summary>
  335. /// 批量删除数据
  336. /// </summary>
  337. public bool DeleteList(string F_UserIdlist, int state)
  338. {
  339. StringBuilder strSql = new StringBuilder();
  340. if (state==0)
  341. {
  342. strSql.Append("update T_Sys_UserAccount set F_DeleteFlag=@state,F_TmId=0");
  343. }
  344. else
  345. strSql.Append("update T_Sys_UserAccount set F_DeleteFlag=@state");
  346. strSql.Append(" where F_UserId in (" + F_UserIdlist + ") ");
  347. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), new SqlParameter("@state", state));
  348. if (rows > 0)
  349. {
  350. return true;
  351. }
  352. else
  353. {
  354. return false;
  355. }
  356. }
  357. /// <summary>
  358. /// 得到一个对象实体
  359. /// </summary>
  360. public Model.T_Sys_UserAccount GetModel(int F_UserId)
  361. {
  362. StringBuilder strSql = new StringBuilder();
  363. strSql.Append("select top 1 * from T_Sys_UserAccount WITH(NOLOCK) ");
  364. strSql.Append(" where F_UserId=@F_UserId");
  365. SqlParameter[] parameters = {
  366. new SqlParameter("@F_UserId", SqlDbType.Int,4)
  367. };
  368. parameters[0].Value = F_UserId;
  369. Model.T_Sys_UserAccount model = new Model.T_Sys_UserAccount();
  370. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  371. if (ds.Tables[0].Rows.Count > 0)
  372. {
  373. return DataRowToModel(ds.Tables[0].Rows[0]);
  374. }
  375. else
  376. {
  377. return null;
  378. }
  379. }
  380. /// <summary>
  381. /// 得到一个对象实体
  382. /// </summary>
  383. public Model.T_Sys_UserAccount GetModel(string F_UserCode)
  384. {
  385. StringBuilder strSql = new StringBuilder();
  386. strSql.Append("select top 1 * from T_Sys_UserAccount WITH(NOLOCK) ");
  387. strSql.Append(" where F_UserCode=@F_UserCode");
  388. SqlParameter[] parameters = {
  389. new SqlParameter("@F_UserCode", SqlDbType.VarChar,50)
  390. };
  391. parameters[0].Value = F_UserCode;
  392. Model.T_Sys_UserAccount model = new Model.T_Sys_UserAccount();
  393. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  394. if (ds.Tables[0].Rows.Count > 0)
  395. {
  396. return DataRowToModel(ds.Tables[0].Rows[0]);
  397. }
  398. else
  399. {
  400. return null;
  401. }
  402. }
  403. /// <summary>
  404. /// 得到一个对象实体
  405. /// </summary>
  406. public Model.T_Sys_UserAccount GetModelByWxOpenId(string wxOpenId)
  407. {
  408. StringBuilder strSql = new StringBuilder();
  409. strSql.Append("select top 1 * from T_Sys_UserAccount WITH(NOLOCK) ");
  410. strSql.Append(" where F_WxOpenId=@F_WxOpenId");
  411. SqlParameter[] parameters = {
  412. new SqlParameter("@F_WxOpenId", SqlDbType.VarChar,300)
  413. };
  414. parameters[0].Value = wxOpenId;
  415. Model.T_Sys_UserAccount model = new Model.T_Sys_UserAccount();
  416. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  417. if (ds.Tables[0].Rows.Count > 0)
  418. {
  419. return DataRowToModel(ds.Tables[0].Rows[0]);
  420. }
  421. else
  422. {
  423. return null;
  424. }
  425. }
  426. /// <summary>
  427. /// 登录得到一个对象实体
  428. /// </summary>
  429. public Model.T_Sys_UserAccount LoginGetModel(string F_UserCode, string F_Password)
  430. {
  431. StringBuilder strSql = new StringBuilder();
  432. strSql.Append("select top 1 * from T_Sys_UserAccount WITH(NOLOCK)");
  433. strSql.Append(" where F_UserCode=@F_UserCode and F_Password=@F_Password and F_DeleteFlag=0");
  434. SqlParameter[] parameters = {
  435. new SqlParameter("@F_UserCode", SqlDbType.VarChar,50),
  436. new SqlParameter("@F_Password", SqlDbType.VarChar,50)
  437. };
  438. parameters[0].Value = F_UserCode;
  439. parameters[1].Value = F_Password;
  440. Model.T_Sys_UserAccount model = new Model.T_Sys_UserAccount();
  441. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  442. if (ds.Tables[0].Rows.Count > 0)
  443. {
  444. return DataRowToModel(ds.Tables[0].Rows[0]);
  445. }
  446. else
  447. {
  448. return null;
  449. }
  450. }
  451. /// <summary>
  452. /// 得到一个对象实体
  453. /// </summary>
  454. public Model.T_Sys_UserAccount DataRowToModel(DataRow row)
  455. {
  456. Model.T_Sys_UserAccount model = new Model.T_Sys_UserAccount();
  457. try
  458. {
  459. if (row != null)
  460. {
  461. if (row["F_UserId"] != null && row["F_UserId"].ToString() != "")
  462. {
  463. model.F_UserId = int.Parse(row["F_UserId"].ToString());
  464. }
  465. if (row["F_UserCode"] != null)
  466. {
  467. model.F_UserCode = row["F_UserCode"].ToString();
  468. }
  469. if (row["F_Password"] != null)
  470. {
  471. model.F_Password = row["F_Password"].ToString();
  472. }
  473. if (row["F_ExtensionNumber"] != null)
  474. {
  475. model.F_ExtensionNumber = row["F_ExtensionNumber"].ToString();
  476. }
  477. if (row["F_UserName"] != null)
  478. {
  479. model.F_UserName = row["F_UserName"].ToString();
  480. }
  481. if (row["F_DeptId"] != null && row["F_DeptId"].ToString() != "")
  482. {
  483. model.F_DeptId = int.Parse(row["F_DeptId"].ToString());
  484. var dept = new DAL.T_Sys_Department().GetModel(model.F_DeptId);
  485. if (dept != null)
  486. {
  487. model.depname = dept.F_DeptName;
  488. }
  489. }
  490. if (row["F_RoleCode"] != null)
  491. {
  492. model.F_RoleCode = row["F_RoleCode"].ToString();
  493. //if (row["F_RoleCode"].ToString() != "")
  494. //{
  495. // var role = new DAL.T_Sys_RoleInfo().GetModel(model.F_RoleCode);
  496. // if (role != null)
  497. // {
  498. // model.rolname = role.F_RoleName;
  499. // }
  500. //}
  501. }
  502. if (row["F_RoleId"] != null && row["F_RoleId"].ToString() != "")
  503. {
  504. model.F_RoleId = int.Parse(row["F_RoleId"].ToString());
  505. if (model.F_RoleId > 0)
  506. {
  507. var role = new DAL.T_Sys_RoleInfo().GetModel(model.F_RoleId);
  508. if (role != null)
  509. {
  510. model.rolname = role.F_RoleName;
  511. model.F_RoleCode = role.F_RoleCode;
  512. }
  513. }
  514. }
  515. if (row["F_GroupId"] != null && row["F_GroupId"].ToString() != "")
  516. {
  517. model.F_GroupId = int.Parse(row["F_GroupId"].ToString());
  518. //var group = new DAL.T_Sys_UserGroup().GetModel(model.F_GroupId);
  519. //if (group != null)
  520. //{
  521. // model.zxzname = group.F_GroupName;
  522. //}
  523. }
  524. if (row["F_SeartGroupID"] != null && row["F_SeartGroupID"].ToString() != "")
  525. {
  526. model.F_SeartGroupID = int.Parse(row["F_SeartGroupID"].ToString());
  527. }
  528. if (row["F_SeatFlag"] != null && row["F_SeatFlag"].ToString() != "")
  529. {
  530. if ((row["F_SeatFlag"].ToString() == "1") || (row["F_SeatFlag"].ToString().ToLower() == "true"))
  531. {
  532. model.F_SeatFlag = true;
  533. }
  534. else
  535. {
  536. model.F_SeatFlag = false;
  537. }
  538. }
  539. if (row["F_SeatRight"] != null)
  540. {
  541. model.F_SeatRight = row["F_SeatRight"].ToString();
  542. }
  543. if (row["F_SeatLevel"] != null)
  544. {
  545. model.F_SeatLevel = row["F_SeatLevel"].ToString();
  546. }
  547. if (row["F_SexFlag"] != null)
  548. {
  549. model.F_SexFlag = row["F_SexFlag"].ToString();
  550. }
  551. if (row["F_RemindFlag"] != null && row["F_RemindFlag"].ToString() != "")
  552. {
  553. if ((row["F_RemindFlag"].ToString() == "1") || (row["F_RemindFlag"].ToString().ToLower() == "true"))
  554. {
  555. model.F_RemindFlag = true;
  556. }
  557. else
  558. {
  559. model.F_RemindFlag = false;
  560. }
  561. }
  562. if (row["F_Remark"] != null)
  563. {
  564. model.F_Remark = row["F_Remark"].ToString();
  565. }
  566. if (row["F_Telephone"] != null)
  567. {
  568. model.F_Telephone = row["F_Telephone"].ToString();
  569. }
  570. if (row["F_Mobile"] != null)
  571. {
  572. model.F_Mobile = row["F_Mobile"].ToString();
  573. }
  574. if (row["F_HomePhone"] != null)
  575. {
  576. model.F_HomePhone = row["F_HomePhone"].ToString();
  577. }
  578. if (row["F_Birthday"] != null && row["F_Birthday"].ToString() != "")
  579. {
  580. model.F_Birthday = DateTime.Parse(row["F_Birthday"].ToString());
  581. }
  582. if (row["F_CreateOn"] != null && row["F_CreateOn"].ToString() != "")
  583. {
  584. model.F_CreateOn = DateTime.Parse(row["F_CreateOn"].ToString());
  585. }
  586. if (row["F_CancelOn"] != null && row["F_CancelOn"].ToString() != "")
  587. {
  588. model.F_CancelOn = DateTime.Parse(row["F_CancelOn"].ToString());
  589. }
  590. if (row["F_DeleteFlag"] != null && row["F_DeleteFlag"].ToString() != "")
  591. {
  592. model.F_DeleteFlag = int.Parse(row["F_DeleteFlag"].ToString());
  593. }
  594. if (row["F_APPOnFlag"] != null && row["F_APPOnFlag"].ToString() != "")
  595. {
  596. if ((row["F_APPOnFlag"].ToString() == "1") || (row["F_APPOnFlag"].ToString().ToLower() == "true"))
  597. {
  598. model.F_APPOnFlag = true;
  599. }
  600. else
  601. {
  602. model.F_APPOnFlag = false;
  603. }
  604. }
  605. if (row["F_LastActiveTime"] != null && row["F_LastActiveTime"].ToString() != "")
  606. {
  607. model.F_LastActiveTime = DateTime.Parse(row["F_LastActiveTime"].ToString());
  608. }
  609. if (row["F_ModifytTime"] != null && row["F_ModifytTime"].ToString() != "")
  610. {
  611. model.F_ModifytTime = DateTime.Parse(row["F_ModifytTime"].ToString());
  612. }
  613. if (row["F_See"] != null)
  614. {
  615. model.F_See = row["F_See"].ToString();
  616. }
  617. if (row["F_HJType"] != null && row["F_HJType"].ToString() != "")
  618. {
  619. model.F_HJType = int.Parse(row["F_HJType"].ToString());
  620. }
  621. if (row["F_PId"] != null && row["F_PId"].ToString() != "")
  622. {
  623. model.F_PId = int.Parse(row["F_PId"].ToString());
  624. }
  625. if (row["F_TmId"] != null && row["F_TmId"].ToString() != "")
  626. {
  627. model.F_TmId = int.Parse(row["F_TmId"].ToString());
  628. }
  629. if (row["F_IsSms"] != null && row["F_IsSms"].ToString() != "")
  630. {
  631. model.F_IsSms = int.Parse(row["F_IsSms"].ToString());
  632. }
  633. if (row["F_WorkNumber"] != null)
  634. {
  635. model.F_WorkNumber = row["F_WorkNumber"].ToString();
  636. }
  637. if (row["F_DeptCode"] != null)
  638. {
  639. model.F_DeptCode = row["F_DeptCode"].ToString();
  640. }
  641. if (row["F_WXNo"] != null)
  642. {
  643. model.F_WXNo = row["F_WXNo"].ToString();
  644. }
  645. if (row["F_SeartGroupCode"] != null)
  646. {
  647. model.F_SeartGroupCode = row["F_SeartGroupCode"].ToString();
  648. if (!string.IsNullOrEmpty(model.F_SeartGroupCode))
  649. {
  650. var group = new DAL.T_Sys_SeatGroup().GetList(" F_ZXZCode='" + model.F_SeartGroupCode + "' ").Tables[0];
  651. if (group != null && group.Rows.Count > 0)
  652. {
  653. model.zxzname = group.Rows[0]["F_ZXZName"] != null ? group.Rows[0]["F_ZXZName"].ToString() : "";
  654. }
  655. }
  656. }
  657. model.F_WxOpenId = row["F_WxOpenId"] == DBNull.Value ? "" : row["F_WxOpenId"].ToString();
  658. if (row["F_ClassCode"] != null)
  659. {
  660. model.F_ClassCode = row["F_ClassCode"].ToString();
  661. }
  662. if (row["F_GroupCode"] != null)
  663. {
  664. model.F_GroupCode = row["F_GroupCode"].ToString();
  665. }
  666. if (row["F_Post"] != null)
  667. {
  668. model.F_Post = row["F_Post"].ToString();
  669. }
  670. if (row["F_Name"] != null)
  671. {
  672. model.F_Name = row["F_Name"].ToString();
  673. }
  674. if (row["F_Company"] != null)
  675. {
  676. model.F_Company = row["F_Company"].ToString();
  677. }
  678. if (row["F_Department"] != null)
  679. {
  680. model.F_Department = row["F_Department"].ToString();
  681. }
  682. }
  683. }
  684. catch (Exception e)
  685. {
  686. }
  687. return model;
  688. }
  689. public Model.T_Sys_UserAccount DataRowToModel1(DataRow row)
  690. {
  691. Model.T_Sys_UserAccount model = new Model.T_Sys_UserAccount();
  692. if (row != null)
  693. {
  694. if (row["F_UserId"] != null && row["F_UserId"].ToString() != "")
  695. {
  696. model.F_UserId = int.Parse(row["F_UserId"].ToString());
  697. }
  698. if (row["F_UserCode"] != null)
  699. {
  700. model.F_UserCode = row["F_UserCode"].ToString();
  701. }
  702. if (row["F_UserName"] != null)
  703. {
  704. model.F_UserName = row["F_UserName"].ToString();
  705. }
  706. if (row["F_GroupId"] != null && row["F_GroupId"].ToString() != "")
  707. {
  708. model.F_GroupId = int.Parse(row["F_GroupId"].ToString());
  709. }
  710. if (row["F_SeartGroupID"] != null && row["F_SeartGroupID"].ToString() != "")
  711. {
  712. model.F_SeartGroupID = int.Parse(row["F_SeartGroupID"].ToString());
  713. }
  714. }
  715. return model;
  716. }
  717. /// <summary>
  718. /// 得到一个对象实体
  719. /// </summary>
  720. public Model.T_Sys_UserAccount DataRowToModel2(DataRow row)
  721. {
  722. Model.T_Sys_UserAccount model = new Model.T_Sys_UserAccount();
  723. try
  724. {
  725. if (row != null)
  726. {
  727. if (row["F_UserId"] != null && row["F_UserId"].ToString() != "")
  728. {
  729. model.F_UserId = int.Parse(row["F_UserId"].ToString());
  730. }
  731. if (row["F_UserCode"] != null)
  732. {
  733. model.F_UserCode = row["F_UserCode"].ToString();
  734. }
  735. if (row["F_Password"] != null)
  736. {
  737. model.F_Password = row["F_Password"].ToString();
  738. }
  739. if (row["F_ExtensionNumber"] != null)
  740. {
  741. model.F_ExtensionNumber = row["F_ExtensionNumber"].ToString();
  742. }
  743. if (row["F_UserName"] != null)
  744. {
  745. model.F_UserName = row["F_UserName"].ToString();
  746. }
  747. if (row["F_DeptId"] != null && row["F_DeptId"].ToString() != "")
  748. {
  749. model.F_DeptId = int.Parse(row["F_DeptId"].ToString());
  750. }
  751. if (row["F_RoleCode"] != null)
  752. {
  753. model.F_RoleCode = row["F_RoleCode"].ToString();
  754. }
  755. if (row["F_RoleId"] != null && row["F_RoleId"].ToString() != "")
  756. {
  757. model.F_RoleId = int.Parse(row["F_RoleId"].ToString());
  758. }
  759. if (row["F_GroupId"] != null && row["F_GroupId"].ToString() != "")
  760. {
  761. model.F_GroupId = int.Parse(row["F_GroupId"].ToString());
  762. }
  763. if (row["F_SeartGroupID"] != null && row["F_SeartGroupID"].ToString() != "")
  764. {
  765. model.F_SeartGroupID = int.Parse(row["F_SeartGroupID"].ToString());
  766. }
  767. if (row["F_SeatFlag"] != null && row["F_SeatFlag"].ToString() != "")
  768. {
  769. if ((row["F_SeatFlag"].ToString() == "1") || (row["F_SeatFlag"].ToString().ToLower() == "true"))
  770. {
  771. model.F_SeatFlag = true;
  772. }
  773. else
  774. {
  775. model.F_SeatFlag = false;
  776. }
  777. }
  778. if (row["F_SeatRight"] != null)
  779. {
  780. model.F_SeatRight = row["F_SeatRight"].ToString();
  781. }
  782. if (row["F_SeatLevel"] != null)
  783. {
  784. model.F_SeatLevel = row["F_SeatLevel"].ToString();
  785. }
  786. if (row["F_SexFlag"] != null)
  787. {
  788. model.F_SexFlag = row["F_SexFlag"].ToString();
  789. }
  790. if (row["F_RemindFlag"] != null && row["F_RemindFlag"].ToString() != "")
  791. {
  792. if ((row["F_RemindFlag"].ToString() == "1") || (row["F_RemindFlag"].ToString().ToLower() == "true"))
  793. {
  794. model.F_RemindFlag = true;
  795. }
  796. else
  797. {
  798. model.F_RemindFlag = false;
  799. }
  800. }
  801. if (row["F_Remark"] != null)
  802. {
  803. model.F_Remark = row["F_Remark"].ToString();
  804. }
  805. if (row["F_Telephone"] != null)
  806. {
  807. model.F_Telephone = row["F_Telephone"].ToString();
  808. }
  809. if (row["F_Mobile"] != null)
  810. {
  811. model.F_Mobile = row["F_Mobile"].ToString();
  812. }
  813. if (row["F_HomePhone"] != null)
  814. {
  815. model.F_HomePhone = row["F_HomePhone"].ToString();
  816. }
  817. if (row["F_Birthday"] != null && row["F_Birthday"].ToString() != "")
  818. {
  819. model.F_Birthday = DateTime.Parse(row["F_Birthday"].ToString());
  820. }
  821. if (row["F_CreateOn"] != null && row["F_CreateOn"].ToString() != "")
  822. {
  823. model.F_CreateOn = DateTime.Parse(row["F_CreateOn"].ToString());
  824. }
  825. if (row["F_CancelOn"] != null && row["F_CancelOn"].ToString() != "")
  826. {
  827. model.F_CancelOn = DateTime.Parse(row["F_CancelOn"].ToString());
  828. }
  829. if (row["F_DeleteFlag"] != null && row["F_DeleteFlag"].ToString() != "")
  830. {
  831. model.F_DeleteFlag = int.Parse(row["F_DeleteFlag"].ToString());
  832. }
  833. if (row["F_APPOnFlag"] != null && row["F_APPOnFlag"].ToString() != "")
  834. {
  835. if ((row["F_APPOnFlag"].ToString() == "1") || (row["F_APPOnFlag"].ToString().ToLower() == "true"))
  836. {
  837. model.F_APPOnFlag = true;
  838. }
  839. else
  840. {
  841. model.F_APPOnFlag = false;
  842. }
  843. }
  844. if (row["F_LastActiveTime"] != null && row["F_LastActiveTime"].ToString() != "")
  845. {
  846. model.F_LastActiveTime = DateTime.Parse(row["F_LastActiveTime"].ToString());
  847. }
  848. if (row["F_ModifytTime"] != null && row["F_ModifytTime"].ToString() != "")
  849. {
  850. model.F_ModifytTime = DateTime.Parse(row["F_ModifytTime"].ToString());
  851. }
  852. if (row["F_See"] != null)
  853. {
  854. model.F_See = row["F_See"].ToString();
  855. }
  856. if (row["F_HJType"] != null && row["F_HJType"].ToString() != "")
  857. {
  858. model.F_HJType = int.Parse(row["F_HJType"].ToString());
  859. }
  860. if (row["F_PId"] != null && row["F_PId"].ToString() != "")
  861. {
  862. model.F_PId = int.Parse(row["F_PId"].ToString());
  863. }
  864. if (row["F_TmId"] != null && row["F_TmId"].ToString() != "")
  865. {
  866. model.F_TmId = int.Parse(row["F_TmId"].ToString());
  867. }
  868. if (row["F_IsSms"] != null && row["F_IsSms"].ToString() != "")
  869. {
  870. model.F_IsSms = int.Parse(row["F_IsSms"].ToString());
  871. }
  872. if (row["F_WorkNumber"] != null)
  873. {
  874. model.F_WorkNumber = row["F_WorkNumber"].ToString();
  875. }
  876. if (row["F_DeptCode"] != null)
  877. {
  878. model.F_DeptCode = row["F_DeptCode"].ToString();
  879. }
  880. if (row["F_WXNo"] != null)
  881. {
  882. model.F_WXNo = row["F_WXNo"].ToString();
  883. }
  884. if (row["F_SeartGroupCode"] != null)
  885. {
  886. model.F_SeartGroupCode = row["F_SeartGroupCode"].ToString();
  887. }
  888. model.F_WxOpenId = row["F_WxOpenId"] == DBNull.Value ? "" : row["F_WxOpenId"].ToString();
  889. if (row["F_ClassCode"] != null)
  890. {
  891. model.F_ClassCode = row["F_ClassCode"].ToString();
  892. }
  893. if (row["F_GroupCode"] != null)
  894. {
  895. model.F_GroupCode = row["F_GroupCode"].ToString();
  896. }
  897. if (row["F_Post"] != null)
  898. {
  899. model.F_Post = row["F_Post"].ToString();
  900. }
  901. if (row["F_Name"] != null)
  902. {
  903. model.F_Name = row["F_Name"].ToString();
  904. }
  905. if (row["F_Company"] != null)
  906. {
  907. model.F_Company = row["F_Company"].ToString();
  908. }
  909. if (row["F_Department"] != null)
  910. {
  911. model.F_Department = row["F_Department"].ToString();
  912. }
  913. }
  914. }
  915. catch (Exception e)
  916. {
  917. }
  918. return model;
  919. }
  920. /// <summary>
  921. /// 获得数据列表
  922. /// </summary>
  923. public DataSet GetList(string strWhere, string filedOrder = "")
  924. {
  925. StringBuilder strSql = new StringBuilder();
  926. strSql.Append("select * FROM T_Sys_UserAccount WITH(NOLOCK) ");
  927. if (strWhere.Trim() != "")
  928. {
  929. strSql.Append(" where " + strWhere);
  930. }
  931. if (filedOrder.Trim() != "")
  932. {
  933. strSql.Append(" order by " + filedOrder);
  934. }
  935. return DbHelperSQL.Query(strSql.ToString());
  936. }
  937. public DataSet GetListView(string strWhere)
  938. {
  939. StringBuilder strSql = new StringBuilder();
  940. strSql.Append("select * FROM V_UserAccount WITH(NOLOCK)");
  941. if (strWhere.Trim() != "")
  942. {
  943. strSql.Append(" where " + strWhere);
  944. }
  945. return DbHelperSQL.Query(strSql.ToString());
  946. }
  947. /// <summary>
  948. /// 获得前几行数据
  949. /// </summary>
  950. public DataSet GetList(int Top, string strWhere, string filedOrder)
  951. {
  952. StringBuilder strSql = new StringBuilder();
  953. strSql.Append("select ");
  954. if (Top > 0)
  955. {
  956. strSql.Append(" top " + Top.ToString());
  957. }
  958. strSql.Append(" * FROM T_Sys_UserAccount WITH(NOLOCK) ");
  959. if (strWhere.Trim() != "")
  960. {
  961. strSql.Append(" where " + strWhere);
  962. }
  963. strSql.Append(" order by " + filedOrder);
  964. return DbHelperSQL.Query(strSql.ToString());
  965. }
  966. /// <summary>
  967. /// 获取记录总数
  968. /// </summary>
  969. public int GetRecordCount(string strWhere)
  970. {
  971. StringBuilder strSql = new StringBuilder();
  972. strSql.Append("select count(1) FROM T_Sys_UserAccount WITH(NOLOCK)");
  973. if (strWhere.Trim() != "")
  974. {
  975. strSql.Append(" where " + strWhere);
  976. }
  977. object obj = DbHelperSQL.GetSingle(strSql.ToString());
  978. if (obj == null)
  979. {
  980. return 0;
  981. }
  982. else
  983. {
  984. return Convert.ToInt32(obj);
  985. }
  986. }
  987. /// <summary>
  988. /// 分页获取数据列表
  989. /// </summary>
  990. public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
  991. {
  992. StringBuilder strSql = new StringBuilder();
  993. strSql.Append("SELECT * FROM ( ");
  994. strSql.Append(" SELECT ROW_NUMBER() OVER (");
  995. if (!string.IsNullOrEmpty(orderby.Trim()))
  996. {
  997. strSql.Append("order by T." + orderby);
  998. }
  999. else
  1000. {
  1001. strSql.Append("order by T.F_UserId desc");
  1002. }
  1003. strSql.Append(")AS Row, T.* from T_Sys_UserAccount T ");
  1004. if (!string.IsNullOrEmpty(strWhere.Trim()))
  1005. {
  1006. strSql.Append(" WHERE " + strWhere);
  1007. }
  1008. strSql.Append(" ) TT");
  1009. strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
  1010. return DbHelperSQL.Query(strSql.ToString());
  1011. }
  1012. #endregion BasicMethod
  1013. #region ExtensionMethod
  1014. #endregion ExtensionMethod
  1015. }
  1016. }