You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

921 lines
56 KiB

  1. using System;
  2. using System.Data;
  3. using System.Text;
  4. using System.Data.SqlClient;
  5. using OT.IDAL;
  6. using DBUtility;//Please add references
  7. namespace OT.SQLServerDAL
  8. {
  9. /// <summary>
  10. /// 資料訪問類:OTB_SYS_Members
  11. /// </summary>
  12. public partial class OTB_SYS_Members : IOTB_SYS_Members
  13. {
  14. public OTB_SYS_Members()
  15. { }
  16. #region Method
  17. /// <summary>
  18. /// 是否存在該記錄
  19. /// </summary>
  20. public bool Exists(string MemberID)
  21. {
  22. StringBuilder strSql = new StringBuilder();
  23. strSql.Append("select count(1) from OTB_SYS_Members");
  24. strSql.Append(" where MemberID=@MemberID ");
  25. SqlParameter[] parameters = {
  26. new SqlParameter("@MemberID", SqlDbType.VarChar,10) };
  27. parameters[0].Value = MemberID;
  28. return DbHelperSQL.Exists(strSql.ToString(), parameters);
  29. }
  30. /// <summary>
  31. /// 是否存在該記錄
  32. /// </summary>
  33. public bool ExistsColor(string MemberID, string Calcolor)
  34. {
  35. StringBuilder strSql = new StringBuilder();
  36. strSql.Append(" DECLARE @TempID int ");
  37. strSql.Append(" SELECT @TempID = count(1) FROM [OTB_SYS_Members] WHERE CalColor=@CalColor AND MemberID<>@MemberID ");
  38. SqlParameter[] parameters = {
  39. new SqlParameter("@MemberID", SqlDbType.VarChar,10)
  40. ,new SqlParameter("@Calcolor", SqlDbType.VarChar,20) };
  41. parameters[0].Value = MemberID;
  42. parameters[1].Value = Calcolor;
  43. return DbHelperSQL.Exists(strSql.ToString(), parameters);
  44. }
  45. /// <summary>
  46. /// 增加一條資料
  47. /// </summary>
  48. public bool Add(OT.Model.OTB_SYS_Members model)
  49. {
  50. StringBuilder strSql = new StringBuilder();
  51. strSql.Append("insert into OTB_SYS_Members(");
  52. strSql.Append("MemberID,Password,MemberName,Email,GoogleAccount,ContectTEL,ContectExt,ContectFax,ContectCell,Address,BirthDate,ArriveDate,EmergencyContect,EmergencyTEL,EmergencyExt,EmergencyFax,EmergencyCell,EmergencyEMail,JobTitle,JobClass,ChiefID,DepartmentID,LeaveDate,Effective,Memo,CreateUser,CreateDate,ModifyUser,ModifyDate,CalColor,Skype,Line,Wechat,MemberPic,QQ,PrjTypeID,IsOutside,AskLeaveGuid,SysShowMode)");
  53. strSql.Append(" values (");
  54. strSql.Append("@MemberID,@Password,@MemberName,@Email,@GoogleAccount,@ContectTEL,@ContectExt,@ContectFax,@ContectCell,@Address,@BirthDate,@ArriveDate,@EmergencyContect,@EmergencyTEL,@EmergencyExt,@EmergencyFax,@EmergencyCell,@EmergencyEMail,@JobTitle,@JobClass,@ChiefID,@DepartmentID,@LeaveDate,@Effective,@Memo,@CreateUser,getdate(),@CreateUser,getdate(),@CalColor,@Skype,@Line,@Wechat,@MemberPic,@QQ,@PrjTypeID,@IsOutside,@AskLeaveGuid,@SysShowMode)");
  55. SqlParameter[] parameters = {
  56. new SqlParameter("@MemberID", SqlDbType.VarChar,50),
  57. new SqlParameter("@Password", SqlDbType.VarChar,100),
  58. new SqlParameter("@MemberName", SqlDbType.NVarChar,100),
  59. new SqlParameter("@Email", SqlDbType.NVarChar,200),
  60. new SqlParameter("@GoogleAccount", SqlDbType.VarChar,200),
  61. new SqlParameter("@ContectTEL", SqlDbType.VarChar,50),
  62. new SqlParameter("@ContectExt", SqlDbType.VarChar,50),
  63. new SqlParameter("@ContectFax", SqlDbType.VarChar,50),
  64. new SqlParameter("@ContectCell", SqlDbType.VarChar,50),
  65. new SqlParameter("@Address", SqlDbType.NVarChar,500),
  66. new SqlParameter("@BirthDate", SqlDbType.DateTime),
  67. new SqlParameter("@ArriveDate", SqlDbType.DateTime),
  68. new SqlParameter("@EmergencyContect", SqlDbType.NVarChar,100),
  69. new SqlParameter("@EmergencyTEL", SqlDbType.VarChar,50),
  70. new SqlParameter("@EmergencyExt", SqlDbType.VarChar,20),
  71. new SqlParameter("@EmergencyFax", SqlDbType.VarChar,50),
  72. new SqlParameter("@EmergencyCell", SqlDbType.VarChar,50),
  73. new SqlParameter("@EmergencyEMail", SqlDbType.NVarChar,200),
  74. new SqlParameter("@JobTitle", SqlDbType.NVarChar,10),
  75. new SqlParameter("@JobClass", SqlDbType.VarChar,200),
  76. new SqlParameter("@ChiefID", SqlDbType.VarChar,50),
  77. new SqlParameter("@DepartmentID", SqlDbType.VarChar,10),
  78. new SqlParameter("@LeaveDate", SqlDbType.DateTime),
  79. new SqlParameter("@Effective", SqlDbType.Char,1),
  80. new SqlParameter("@Memo", SqlDbType.NVarChar),
  81. new SqlParameter("@CreateUser", SqlDbType.VarChar,50),
  82. new SqlParameter("@CreateDate", SqlDbType.DateTime),
  83. new SqlParameter("@ModifyUser", SqlDbType.VarChar,50),
  84. new SqlParameter("@ModifyDate", SqlDbType.DateTime),
  85. new SqlParameter("@CalColor", SqlDbType.NVarChar,20),
  86. new SqlParameter("@Skype", SqlDbType.VarChar,50),
  87. new SqlParameter("@Line", SqlDbType.VarChar,50),
  88. new SqlParameter("@Wechat", SqlDbType.VarChar,50),
  89. new SqlParameter("@MemberPic", SqlDbType.Char,36),
  90. new SqlParameter("@QQ", SqlDbType.VarChar,50),
  91. new SqlParameter("@PrjTypeID", SqlDbType.VarChar,500),
  92. new SqlParameter("@IsOutside", SqlDbType.Char,1),
  93. new SqlParameter("@AskLeaveGuid", SqlDbType.VarChar,50),
  94. new SqlParameter("@SysShowMode", SqlDbType.Char,1)};
  95. parameters[0].Value = model.MemberID;
  96. parameters[1].Value = model.Password;
  97. parameters[2].Value = model.MemberName;
  98. parameters[3].Value = model.Email;
  99. parameters[4].Value = model.GoogleAccount;
  100. parameters[5].Value = model.ContectTEL;
  101. parameters[6].Value = model.ContectExt;
  102. parameters[7].Value = model.ContectFax;
  103. parameters[8].Value = model.ContectCell;
  104. parameters[9].Value = model.Address;
  105. parameters[10].Value = model.BirthDate;
  106. parameters[11].Value = model.ArriveDate;
  107. parameters[12].Value = model.EmergencyContect;
  108. parameters[13].Value = model.EmergencyTEL;
  109. parameters[14].Value = model.EmergencyExt;
  110. parameters[15].Value = model.EmergencyFax;
  111. parameters[16].Value = model.EmergencyCell;
  112. parameters[17].Value = model.EmergencyEMail;
  113. parameters[18].Value = model.JobTitle;
  114. parameters[19].Value = model.JobClass;
  115. parameters[20].Value = model.ChiefID;
  116. parameters[21].Value = model.DepartmentID;
  117. parameters[22].Value = model.LeaveDate;
  118. parameters[23].Value = model.Effective;
  119. parameters[24].Value = model.Memo;
  120. parameters[25].Value = model.CreateUser;
  121. parameters[26].Value = model.CreateDate;
  122. parameters[27].Value = model.ModifyUser;
  123. parameters[28].Value = model.ModifyDate;
  124. parameters[29].Value = model.CalColor;
  125. parameters[30].Value = model.Skype;
  126. parameters[31].Value = model.Line;
  127. parameters[32].Value = model.Wechat;
  128. parameters[33].Value = model.MemberPic;
  129. parameters[34].Value = model.QQ;
  130. parameters[35].Value = model.PrjTypeID;
  131. parameters[36].Value = model.IsOutside;
  132. parameters[37].Value = model.AskLeaveGuid;
  133. parameters[38].Value = model.SysShowMode;
  134. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  135. if (rows > 0)
  136. {
  137. return true;
  138. }
  139. else
  140. {
  141. return false;
  142. }
  143. }
  144. /// <summary>
  145. /// 更新一條資料
  146. /// </summary>
  147. public bool Update(OT.Model.OTB_SYS_Members model)
  148. {
  149. StringBuilder strSql = new StringBuilder();
  150. strSql.Append(" IF @Password <> '' ");
  151. strSql.Append(" BEGIN ");
  152. strSql.Append(" UPDATE [OTB_SYS_Members] ");
  153. strSql.Append(" SET [Password] = @Password ");
  154. strSql.Append(" WHERE MemberID = @MemberID ");
  155. strSql.Append(" END ");
  156. strSql.Append("update OTB_SYS_Members set ");
  157. strSql.Append("MemberName=@MemberName,");
  158. strSql.Append("Email=@Email,");
  159. strSql.Append("GoogleAccount=@GoogleAccount,");
  160. strSql.Append("ContectTEL=@ContectTEL,");
  161. strSql.Append("ContectExt=@ContectExt,");
  162. strSql.Append("ContectFax=@ContectFax,");
  163. strSql.Append("ContectCell=@ContectCell,");
  164. strSql.Append("Address=@Address,");
  165. strSql.Append("BirthDate=@BirthDate,");
  166. strSql.Append("ArriveDate=@ArriveDate,");
  167. strSql.Append("EmergencyContect=@EmergencyContect,");
  168. strSql.Append("EmergencyTEL=@EmergencyTEL,");
  169. strSql.Append("EmergencyExt=@EmergencyExt,");
  170. strSql.Append("EmergencyFax=@EmergencyFax,");
  171. strSql.Append("EmergencyCell=@EmergencyCell,");
  172. strSql.Append("EmergencyEMail=@EmergencyEMail,");
  173. strSql.Append("JobTitle=@JobTitle,");
  174. strSql.Append("JobClass=@JobClass,");
  175. strSql.Append("ChiefID=@ChiefID,");
  176. strSql.Append("DepartmentID=@DepartmentID,");
  177. strSql.Append("LeaveDate=@LeaveDate,");
  178. strSql.Append("Effective=@Effective,");
  179. strSql.Append("Memo=@Memo,");
  180. strSql.Append("ModifyUser=@ModifyUser,");
  181. strSql.Append("ModifyDate=getdate(),");
  182. strSql.Append("CalColor=@CalColor,");
  183. strSql.Append("Skype=@Skype,");
  184. strSql.Append("Line=@Line,");
  185. strSql.Append("Wechat=@Wechat,");
  186. strSql.Append("MemberPic=@MemberPic,");
  187. strSql.Append("QQ=@QQ,");
  188. strSql.Append("PrjTypeID=@PrjTypeID,");
  189. strSql.Append("IsOutside=@IsOutside,");
  190. strSql.Append("AskLeaveGuid=@AskLeaveGuid,");
  191. strSql.Append("SysShowMode=@SysShowMode");
  192. strSql.Append(" where MemberID=@MemberID ");
  193. SqlParameter[] parameters = {
  194. new SqlParameter("@Password", SqlDbType.VarChar,100),
  195. new SqlParameter("@MemberName", SqlDbType.NVarChar,100),
  196. new SqlParameter("@Email", SqlDbType.NVarChar,200),
  197. new SqlParameter("@GoogleAccount", SqlDbType.VarChar,200),
  198. new SqlParameter("@ContectTEL", SqlDbType.VarChar,50),
  199. new SqlParameter("@ContectExt", SqlDbType.VarChar,50),
  200. new SqlParameter("@ContectFax", SqlDbType.VarChar,50),
  201. new SqlParameter("@ContectCell", SqlDbType.VarChar,50),
  202. new SqlParameter("@Address", SqlDbType.NVarChar,500),
  203. new SqlParameter("@BirthDate", SqlDbType.DateTime),
  204. new SqlParameter("@ArriveDate", SqlDbType.DateTime),
  205. new SqlParameter("@EmergencyContect", SqlDbType.NVarChar,100),
  206. new SqlParameter("@EmergencyTEL", SqlDbType.VarChar,50),
  207. new SqlParameter("@EmergencyExt", SqlDbType.VarChar,20),
  208. new SqlParameter("@EmergencyFax", SqlDbType.VarChar,50),
  209. new SqlParameter("@EmergencyCell", SqlDbType.VarChar,50),
  210. new SqlParameter("@EmergencyEMail", SqlDbType.NVarChar,200),
  211. new SqlParameter("@JobTitle", SqlDbType.NVarChar,10),
  212. new SqlParameter("@JobClass", SqlDbType.VarChar,200),
  213. new SqlParameter("@ChiefID", SqlDbType.VarChar,50),
  214. new SqlParameter("@DepartmentID", SqlDbType.VarChar,10),
  215. new SqlParameter("@LeaveDate", SqlDbType.DateTime),
  216. new SqlParameter("@Effective", SqlDbType.Char,1),
  217. new SqlParameter("@Memo", SqlDbType.NVarChar),
  218. new SqlParameter("@CreateUser", SqlDbType.VarChar,50),
  219. new SqlParameter("@CreateDate", SqlDbType.DateTime),
  220. new SqlParameter("@ModifyUser", SqlDbType.VarChar,50),
  221. new SqlParameter("@ModifyDate", SqlDbType.DateTime),
  222. new SqlParameter("@CalColor", SqlDbType.NVarChar,20),
  223. new SqlParameter("@Skype", SqlDbType.VarChar,50),
  224. new SqlParameter("@Line", SqlDbType.VarChar,50),
  225. new SqlParameter("@Wechat", SqlDbType.VarChar,50),
  226. new SqlParameter("@MemberPic", SqlDbType.Char,36),
  227. new SqlParameter("@QQ", SqlDbType.VarChar,50),
  228. new SqlParameter("@PrjTypeID", SqlDbType.VarChar,500),
  229. new SqlParameter("@IsOutside", SqlDbType.Char,1),
  230. new SqlParameter("@AskLeaveGuid", SqlDbType.VarChar,50),
  231. new SqlParameter("@SysShowMode", SqlDbType.Char,1),
  232. new SqlParameter("@MemberID", SqlDbType.VarChar,50)};
  233. parameters[0].Value = model.Password;
  234. parameters[1].Value = model.MemberName;
  235. parameters[2].Value = model.Email;
  236. parameters[3].Value = model.GoogleAccount;
  237. parameters[4].Value = model.ContectTEL;
  238. parameters[5].Value = model.ContectExt;
  239. parameters[6].Value = model.ContectFax;
  240. parameters[7].Value = model.ContectCell;
  241. parameters[8].Value = model.Address;
  242. parameters[9].Value = model.BirthDate;
  243. parameters[10].Value = model.ArriveDate;
  244. parameters[11].Value = model.EmergencyContect;
  245. parameters[12].Value = model.EmergencyTEL;
  246. parameters[13].Value = model.EmergencyExt;
  247. parameters[14].Value = model.EmergencyFax;
  248. parameters[15].Value = model.EmergencyCell;
  249. parameters[16].Value = model.EmergencyEMail;
  250. parameters[17].Value = model.JobTitle;
  251. parameters[18].Value = model.JobClass;
  252. parameters[19].Value = model.ChiefID;
  253. parameters[20].Value = model.DepartmentID;
  254. parameters[21].Value = model.LeaveDate;
  255. parameters[22].Value = model.Effective;
  256. parameters[23].Value = model.Memo;
  257. parameters[24].Value = model.CreateUser;
  258. parameters[25].Value = model.CreateDate;
  259. parameters[26].Value = model.ModifyUser;
  260. parameters[27].Value = model.ModifyDate;
  261. parameters[28].Value = model.CalColor;
  262. parameters[29].Value = model.Skype;
  263. parameters[30].Value = model.Line;
  264. parameters[31].Value = model.Wechat;
  265. parameters[32].Value = model.MemberPic;
  266. parameters[33].Value = model.QQ;
  267. parameters[34].Value = model.PrjTypeID;
  268. parameters[35].Value = model.IsOutside;
  269. parameters[36].Value = model.AskLeaveGuid;
  270. parameters[37].Value = model.SysShowMode;
  271. parameters[38].Value = model.MemberID;
  272. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  273. if (rows > 0)
  274. {
  275. return true;
  276. }
  277. else
  278. {
  279. return false;
  280. }
  281. }
  282. /// <summary>
  283. /// 更新資料
  284. /// </summary>
  285. public bool UpdatePop(string MemberID, string MemberName, string Password, string CalColor, string ModifyUser, string SysShowMode)
  286. {
  287. int effectiverow = 0;
  288. StringBuilder strSql = new StringBuilder();
  289. strSql.Append(" UPDATE [OTB_SYS_Members] SET ");
  290. strSql.Append(" MemberName =@MemberName, ");
  291. strSql.Append(" Password=@Password, ");
  292. strSql.Append(" ModifyUser =@ModifyUser, ");
  293. strSql.Append(" ModifyDate =GETDATE(), ");
  294. strSql.Append(" CalColor =@CalColor ");
  295. strSql.Append(" ,SysShowMode =@SysShowMode ");
  296. strSql.Append(" WHERE MemberID=@MemberID ");
  297. SqlParameter[] parameters = {
  298. new SqlParameter("@MemberID", SqlDbType.VarChar,50),
  299. new SqlParameter("@MemberName", SqlDbType.NVarChar,100),
  300. new SqlParameter("@Password", SqlDbType.VarChar,100),
  301. new SqlParameter("@ModifyUser", SqlDbType.VarChar,50),
  302. new SqlParameter("@CalColor", SqlDbType.NVarChar,20),
  303. new SqlParameter("@SysShowMode", SqlDbType.Char,1)};
  304. parameters[0].Value = MemberID;
  305. parameters[1].Value = MemberName;
  306. parameters[2].Value = Password;
  307. parameters[3].Value = ModifyUser;
  308. parameters[4].Value = CalColor;
  309. parameters[5].Value = SysShowMode;
  310. effectiverow = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  311. if (effectiverow > 0)
  312. {
  313. return true;
  314. }
  315. else
  316. {
  317. return false;
  318. }
  319. }
  320. /// <summary>
  321. /// 刪除一條資料
  322. /// </summary>
  323. public int Delete(string MemberID)
  324. {
  325. StringBuilder strSql = new StringBuilder();
  326. strSql.Append(" DELETE [OTB_SYS_Members] ");
  327. strSql.Append(" WHERE MemberID=@MemberID ");
  328. SqlParameter[] parameters = {
  329. new SqlParameter("@MemberID", SqlDbType.VarChar,10) };
  330. parameters[0].Value = MemberID;
  331. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  332. return rows;
  333. }
  334. /// <summary>
  335. /// 批量刪除資料
  336. /// </summary>
  337. public bool DeleteList(string MemberIDlist)
  338. {
  339. StringBuilder strSql = new StringBuilder();
  340. strSql.Append("delete from OTB_SYS_Members ");
  341. strSql.Append(" where MemberID in (" + MemberIDlist + ") ");
  342. int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
  343. if (rows > 0)
  344. {
  345. return true;
  346. }
  347. else
  348. {
  349. return false;
  350. }
  351. }
  352. /// <summary>
  353. /// 得到一個對象實體
  354. /// </summary>
  355. public OT.Model.OTB_SYS_Members GetModel(string MemberID)
  356. {
  357. StringBuilder strSql = new StringBuilder();
  358. strSql.Append("select top 1 MemberID,Password,MemberName,Email,GoogleAccount,ContectTEL,ContectExt,ContectFax,ContectCell,Address,BirthDate,ArriveDate,EmergencyContect,EmergencyTEL,EmergencyExt,EmergencyFax,EmergencyCell,EmergencyEMail,JobTitle,JobClass,ChiefID,DepartmentID,LeaveDate,Effective,Memo,CreateUser,CreateDate,ModifyUser,ModifyDate,CalColor,Skype,Line,Wechat,MemberPic,QQ,PrjTypeID,IsOutside,AskLeaveGuid,SysShowMode from OTB_SYS_Members ");
  359. strSql.Append(" where MemberID=@MemberID ");
  360. SqlParameter[] parameters = {
  361. new SqlParameter("@MemberID", SqlDbType.VarChar,50) };
  362. parameters[0].Value = MemberID;
  363. OT.Model.OTB_SYS_Members model = new OT.Model.OTB_SYS_Members();
  364. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  365. if (ds.Tables[0].Rows.Count > 0)
  366. {
  367. if (ds.Tables[0].Rows[0]["MemberID"] != null && ds.Tables[0].Rows[0]["MemberID"].ToString() != "")
  368. {
  369. model.MemberID = ds.Tables[0].Rows[0]["MemberID"].ToString();
  370. }
  371. if (ds.Tables[0].Rows[0]["Password"] != null && ds.Tables[0].Rows[0]["Password"].ToString() != "")
  372. {
  373. model.Password = ds.Tables[0].Rows[0]["Password"].ToString();
  374. }
  375. if (ds.Tables[0].Rows[0]["MemberName"] != null && ds.Tables[0].Rows[0]["MemberName"].ToString() != "")
  376. {
  377. model.MemberName = ds.Tables[0].Rows[0]["MemberName"].ToString();
  378. }
  379. if (ds.Tables[0].Rows[0]["Email"] != null && ds.Tables[0].Rows[0]["Email"].ToString() != "")
  380. {
  381. model.Email = ds.Tables[0].Rows[0]["Email"].ToString();
  382. }
  383. if (ds.Tables[0].Rows[0]["GoogleAccount"] != null && ds.Tables[0].Rows[0]["GoogleAccount"].ToString() != "")
  384. {
  385. model.GoogleAccount = ds.Tables[0].Rows[0]["GoogleAccount"].ToString();
  386. }
  387. if (ds.Tables[0].Rows[0]["ContectTEL"] != null && ds.Tables[0].Rows[0]["ContectTEL"].ToString() != "")
  388. {
  389. model.ContectTEL = ds.Tables[0].Rows[0]["ContectTEL"].ToString();
  390. }
  391. if (ds.Tables[0].Rows[0]["ContectExt"] != null && ds.Tables[0].Rows[0]["ContectExt"].ToString() != "")
  392. {
  393. model.ContectExt = ds.Tables[0].Rows[0]["ContectExt"].ToString();
  394. }
  395. if (ds.Tables[0].Rows[0]["ContectFax"] != null && ds.Tables[0].Rows[0]["ContectFax"].ToString() != "")
  396. {
  397. model.ContectFax = ds.Tables[0].Rows[0]["ContectFax"].ToString();
  398. }
  399. if (ds.Tables[0].Rows[0]["ContectCell"] != null && ds.Tables[0].Rows[0]["ContectCell"].ToString() != "")
  400. {
  401. model.ContectCell = ds.Tables[0].Rows[0]["ContectCell"].ToString();
  402. }
  403. if (ds.Tables[0].Rows[0]["Address"] != null && ds.Tables[0].Rows[0]["Address"].ToString() != "")
  404. {
  405. model.Address = ds.Tables[0].Rows[0]["Address"].ToString();
  406. }
  407. if (ds.Tables[0].Rows[0]["BirthDate"] != null && ds.Tables[0].Rows[0]["BirthDate"].ToString() != "")
  408. {
  409. model.BirthDate = DateTime.Parse(ds.Tables[0].Rows[0]["BirthDate"].ToString());
  410. }
  411. if (ds.Tables[0].Rows[0]["ArriveDate"] != null && ds.Tables[0].Rows[0]["ArriveDate"].ToString() != "")
  412. {
  413. model.ArriveDate = DateTime.Parse(ds.Tables[0].Rows[0]["ArriveDate"].ToString());
  414. }
  415. if (ds.Tables[0].Rows[0]["EmergencyContect"] != null && ds.Tables[0].Rows[0]["EmergencyContect"].ToString() != "")
  416. {
  417. model.EmergencyContect = ds.Tables[0].Rows[0]["EmergencyContect"].ToString();
  418. }
  419. if (ds.Tables[0].Rows[0]["EmergencyTEL"] != null && ds.Tables[0].Rows[0]["EmergencyTEL"].ToString() != "")
  420. {
  421. model.EmergencyTEL = ds.Tables[0].Rows[0]["EmergencyTEL"].ToString();
  422. }
  423. if (ds.Tables[0].Rows[0]["EmergencyExt"] != null && ds.Tables[0].Rows[0]["EmergencyExt"].ToString() != "")
  424. {
  425. model.EmergencyExt = ds.Tables[0].Rows[0]["EmergencyExt"].ToString();
  426. }
  427. if (ds.Tables[0].Rows[0]["EmergencyFax"] != null && ds.Tables[0].Rows[0]["EmergencyFax"].ToString() != "")
  428. {
  429. model.EmergencyFax = ds.Tables[0].Rows[0]["EmergencyFax"].ToString();
  430. }
  431. if (ds.Tables[0].Rows[0]["EmergencyCell"] != null && ds.Tables[0].Rows[0]["EmergencyCell"].ToString() != "")
  432. {
  433. model.EmergencyCell = ds.Tables[0].Rows[0]["EmergencyCell"].ToString();
  434. }
  435. if (ds.Tables[0].Rows[0]["EmergencyEMail"] != null && ds.Tables[0].Rows[0]["EmergencyEMail"].ToString() != "")
  436. {
  437. model.EmergencyEMail = ds.Tables[0].Rows[0]["EmergencyEMail"].ToString();
  438. }
  439. if (ds.Tables[0].Rows[0]["JobTitle"] != null && ds.Tables[0].Rows[0]["JobTitle"].ToString() != "")
  440. {
  441. model.JobTitle = ds.Tables[0].Rows[0]["JobTitle"].ToString();
  442. }
  443. if (ds.Tables[0].Rows[0]["JobClass"] != null && ds.Tables[0].Rows[0]["JobClass"].ToString() != "")
  444. {
  445. model.JobClass = ds.Tables[0].Rows[0]["JobClass"].ToString();
  446. }
  447. if (ds.Tables[0].Rows[0]["ChiefID"] != null && ds.Tables[0].Rows[0]["ChiefID"].ToString() != "")
  448. {
  449. model.ChiefID = ds.Tables[0].Rows[0]["ChiefID"].ToString();
  450. }
  451. if (ds.Tables[0].Rows[0]["DepartmentID"] != null && ds.Tables[0].Rows[0]["DepartmentID"].ToString() != "")
  452. {
  453. model.DepartmentID = ds.Tables[0].Rows[0]["DepartmentID"].ToString();
  454. }
  455. if (ds.Tables[0].Rows[0]["LeaveDate"] != null && ds.Tables[0].Rows[0]["LeaveDate"].ToString() != "")
  456. {
  457. model.LeaveDate = DateTime.Parse(ds.Tables[0].Rows[0]["LeaveDate"].ToString());
  458. }
  459. if (ds.Tables[0].Rows[0]["Effective"] != null && ds.Tables[0].Rows[0]["Effective"].ToString() != "")
  460. {
  461. model.Effective = ds.Tables[0].Rows[0]["Effective"].ToString();
  462. }
  463. if (ds.Tables[0].Rows[0]["Memo"] != null && ds.Tables[0].Rows[0]["Memo"].ToString() != "")
  464. {
  465. model.Memo = ds.Tables[0].Rows[0]["Memo"].ToString();
  466. }
  467. if (ds.Tables[0].Rows[0]["CreateUser"] != null && ds.Tables[0].Rows[0]["CreateUser"].ToString() != "")
  468. {
  469. model.CreateUser = ds.Tables[0].Rows[0]["CreateUser"].ToString();
  470. }
  471. if (ds.Tables[0].Rows[0]["CreateDate"] != null && ds.Tables[0].Rows[0]["CreateDate"].ToString() != "")
  472. {
  473. model.CreateDate = DateTime.Parse(ds.Tables[0].Rows[0]["CreateDate"].ToString());
  474. }
  475. if (ds.Tables[0].Rows[0]["ModifyUser"] != null && ds.Tables[0].Rows[0]["ModifyUser"].ToString() != "")
  476. {
  477. model.ModifyUser = ds.Tables[0].Rows[0]["ModifyUser"].ToString();
  478. }
  479. if (ds.Tables[0].Rows[0]["ModifyDate"] != null && ds.Tables[0].Rows[0]["ModifyDate"].ToString() != "")
  480. {
  481. model.ModifyDate = DateTime.Parse(ds.Tables[0].Rows[0]["ModifyDate"].ToString());
  482. }
  483. if (ds.Tables[0].Rows[0]["CalColor"] != null && ds.Tables[0].Rows[0]["CalColor"].ToString() != "")
  484. {
  485. model.CalColor = ds.Tables[0].Rows[0]["CalColor"].ToString();
  486. }
  487. if (ds.Tables[0].Rows[0]["Skype"] != null && ds.Tables[0].Rows[0]["Skype"].ToString() != "")
  488. {
  489. model.Skype = ds.Tables[0].Rows[0]["Skype"].ToString();
  490. }
  491. if (ds.Tables[0].Rows[0]["Line"] != null && ds.Tables[0].Rows[0]["Line"].ToString() != "")
  492. {
  493. model.Line = ds.Tables[0].Rows[0]["Line"].ToString();
  494. }
  495. if (ds.Tables[0].Rows[0]["Wechat"] != null && ds.Tables[0].Rows[0]["Wechat"].ToString() != "")
  496. {
  497. model.Wechat = ds.Tables[0].Rows[0]["Wechat"].ToString();
  498. }
  499. if (ds.Tables[0].Rows[0]["MemberPic"] != null && ds.Tables[0].Rows[0]["MemberPic"].ToString() != "")
  500. {
  501. model.MemberPic = ds.Tables[0].Rows[0]["MemberPic"].ToString();
  502. }
  503. if (ds.Tables[0].Rows[0]["QQ"] != null && ds.Tables[0].Rows[0]["QQ"].ToString() != "")
  504. {
  505. model.QQ = ds.Tables[0].Rows[0]["QQ"].ToString();
  506. }
  507. if (ds.Tables[0].Rows[0]["PrjTypeID"] != null && ds.Tables[0].Rows[0]["PrjTypeID"].ToString() != "")
  508. {
  509. model.PrjTypeID = ds.Tables[0].Rows[0]["PrjTypeID"].ToString();
  510. }
  511. if (ds.Tables[0].Rows[0]["IsOutside"] != null && ds.Tables[0].Rows[0]["IsOutside"].ToString() != "")
  512. {
  513. model.IsOutside = ds.Tables[0].Rows[0]["IsOutside"].ToString();
  514. }
  515. if (ds.Tables[0].Rows[0]["AskLeaveGuid"] != null && ds.Tables[0].Rows[0]["AskLeaveGuid"].ToString() != "")
  516. {
  517. model.AskLeaveGuid = ds.Tables[0].Rows[0]["AskLeaveGuid"].ToString();
  518. }
  519. if (ds.Tables[0].Rows[0]["SysShowMode"] != null && ds.Tables[0].Rows[0]["SysShowMode"].ToString() != "")
  520. {
  521. model.SysShowMode = ds.Tables[0].Rows[0]["SysShowMode"].ToString();
  522. }
  523. return model;
  524. }
  525. else
  526. {
  527. return null;
  528. }
  529. }
  530. /// <summary>
  531. /// 獲得資料列表
  532. /// </summary>
  533. public DataSet GetList(int StartRecordIndex, int EndRecordIndex, string strMemberID, string strMemberName, string Effective, string SortExpression)
  534. {
  535. StringBuilder strSql = new StringBuilder();
  536. strSql.Append(" SELECT ");
  537. strSql.Append(" RowId,MemberID,MemberName,Ext,ContectExt,DepartmentName,JobtitleID,Effective ");
  538. strSql.Append(" FROM ");
  539. strSql.Append(" ( ");
  540. strSql.Append(" SELECT ");
  541. strSql.Append(" CASE @SortExpression WHEN N'MemberID' THEN ");
  542. strSql.Append(" (ROW_NUMBER() OVER(Order BY MemberID)) ");
  543. strSql.Append(" WHEN N'MemberID DESC' THEN ");
  544. strSql.Append(" (ROW_NUMBER() OVER(Order BY MemberID DESC)) ");
  545. strSql.Append(" WHEN N'MemberName' THEN ");
  546. strSql.Append(" (ROW_NUMBER() OVER(Order BY MemberName)) ");
  547. strSql.Append(" WHEN N'MemberName DESC' THEN ");
  548. strSql.Append(" (ROW_NUMBER() OVER(Order BY MemberName DESC)) ");
  549. strSql.Append(" WHEN N'ContectExt' THEN ");
  550. strSql.Append(" (ROW_NUMBER() OVER(Order BY ContectExt)) ");
  551. strSql.Append(" WHEN N'ContectExt DESC' THEN ");
  552. strSql.Append(" (ROW_NUMBER() OVER(Order BY ContectExt DESC)) ");
  553. strSql.Append(" WHEN N'b.DepartmentName' THEN ");
  554. strSql.Append(" (ROW_NUMBER() OVER(Order BY b.DepartmentName)) ");
  555. strSql.Append(" WHEN N'b.DepartmentName DESC' THEN ");
  556. strSql.Append(" (ROW_NUMBER() OVER(Order BY b.DepartmentName DESC)) ");
  557. strSql.Append(" WHEN N'JobtitleID' THEN ");
  558. strSql.Append(" (ROW_NUMBER() OVER(Order BY JobtitleID)) ");
  559. strSql.Append(" WHEN N'JobtitleID DESC' THEN ");
  560. strSql.Append(" (ROW_NUMBER() OVER(Order BY JobtitleID DESC)) ");
  561. strSql.Append(" WHEN N'a.Effective' THEN ");
  562. strSql.Append(" (ROW_NUMBER() OVER(Order BY a.Effective)) ");
  563. strSql.Append(" WHEN N'a.Effective DESC' THEN ");
  564. strSql.Append(" (ROW_NUMBER() OVER(Order BY a.Effective DESC)) ");
  565. strSql.Append(" else ");
  566. strSql.Append(" (ROW_NUMBER() OVER(Order BY MemberID)) ");
  567. strSql.Append(" END AS RowId,MemberID,MemberName,Ext,a.ContectExt,b.DepartmentName,JobtitleID,a.Effective ");
  568. strSql.Append(" FROM OTB_SYS_Members as a ");
  569. strSql.Append(" Left join OTB_SYS_Department as b on a.DeptID = b.DepartmentID ");
  570. strSql.Append(" WHERE (MemberID like @MemberID OR @MemberID IS NULL OR @MemberID='') ");
  571. strSql.Append(" AND (MemberName LIKE @MemberName OR @MemberName IS NULL OR @MemberName='') ");
  572. strSql.Append(" AND (a.Effective = @Effective OR @Effective IS NULL OR @Effective='') ");
  573. strSql.Append(" ) AS AA ");
  574. strSql.Append(" WHERE AA.RowId>=@StartRecordIndex AND AA.RowId<=@EndRecordIndex ");
  575. strSql.Append(" ORDER BY RowId ");
  576. SqlParameter[] parameters = {
  577. new SqlParameter("@StartRecordIndex", SqlDbType.Int)
  578. ,new SqlParameter("@EndRecordIndex", SqlDbType.Int)
  579. ,new SqlParameter("@MemberID", SqlDbType.VarChar,50)
  580. ,new SqlParameter("@MemberName", SqlDbType.VarChar,50)
  581. ,new SqlParameter("@Effective", SqlDbType.Char,1)
  582. ,new SqlParameter("@SortExpression", SqlDbType.NVarChar,500)
  583. };
  584. parameters[0].Value = StartRecordIndex;
  585. parameters[1].Value = EndRecordIndex;
  586. parameters[2].Value = "%" + strMemberID + "%";
  587. parameters[3].Value = "%" + strMemberName + "%";
  588. parameters[4].Value = Effective;
  589. parameters[5].Value = SortExpression;
  590. return DbHelperSQL.Query(strSql.ToString(), parameters);
  591. }
  592. /// <summary>
  593. /// 獲得資料總筆數
  594. /// </summary>
  595. public int GetListCount(string strMemberID, string strMemberName, string Effective)
  596. {
  597. StringBuilder strSql = new StringBuilder();
  598. strSql.Append(" SELECT COUNT(0) FROM OTB_SYS_Members mem");
  599. strSql.Append(" WHERE ( MemberID like @MemberID OR @MemberID IS NULL OR @MemberID='')");
  600. strSql.Append(" AND (MemberName LIKE @MemberName OR @MemberName IS NULL OR @MemberName='')");
  601. strSql.Append(" AND (Effective = @Effective OR @Effective IS NULL OR @Effective='')");
  602. SqlParameter[] parameters = {
  603. new SqlParameter("@MemberID", SqlDbType.VarChar,50)
  604. ,new SqlParameter("@MemberName", SqlDbType.VarChar,50)
  605. ,new SqlParameter("@Effective", SqlDbType.Char,1)
  606. };
  607. parameters[0].Value = "%" + strMemberID + "%";
  608. parameters[1].Value = "%" + strMemberName + "%";
  609. parameters[2].Value = Effective;
  610. return (int)DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  611. }
  612. /// <summary>
  613. /// 獲得資料列表
  614. /// </summary>
  615. public DataSet GetList(int StartRecordIndex, int EndRecordIndex, string MemberID, string MemberName, string DepartmentID, string JobTitle, string Effective, string SortExpression)
  616. {
  617. StringBuilder strSql = new StringBuilder();
  618. strSql.Append(" SELECT RowId , ");
  619. strSql.Append(" MemberID , ");
  620. strSql.Append(" MemberName , ");
  621. strSql.Append(" ContectExt , ");
  622. strSql.Append(" DeptID , ");
  623. strSql.Append(" JobTitleID , ");
  624. strSql.Append(" ArriveDate , ");
  625. strSql.Append(" LeaveDate , ");
  626. strSql.Append(" Effective ");
  627. strSql.Append(" FROM ( SELECT CASE @SortExpression ");
  628. strSql.Append(" WHEN N'MemberID' ");
  629. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY MemberID ) ) ");
  630. strSql.Append(" WHEN N'MemberID DESC' ");
  631. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY MemberID DESC ) ) ");
  632. strSql.Append(" WHEN N'MemberName' ");
  633. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY MemberName ) ) ");
  634. strSql.Append(" WHEN N'MemberName DESC' ");
  635. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY MemberName DESC ) ) ");
  636. strSql.Append(" WHEN N'ContectExt' ");
  637. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY Members.ContectExt ) ) ");
  638. strSql.Append(" WHEN N'ContectExt DESC' ");
  639. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY Members.ContectExt DESC ) ) ");
  640. strSql.Append(" WHEN N'DeptID' ");
  641. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY DepartmentName ) ) ");
  642. strSql.Append(" WHEN N'DeptID DESC' ");
  643. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY DepartmentName DESC ) ) ");
  644. strSql.Append(" WHEN N'JobTitleID' ");
  645. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY JobtitleName ) ) ");
  646. strSql.Append(" WHEN N'JobTitleID DESC' ");
  647. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY JobtitleName DESC ) ) ");
  648. strSql.Append(" WHEN N'ArriveDate' ");
  649. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY ArriveDate ) ) ");
  650. strSql.Append(" WHEN N'ArriveDate DESC' ");
  651. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY ArriveDate DESC ) ) ");
  652. strSql.Append(" WHEN N'LeaveDate' ");
  653. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY LeaveDate ) ) ");
  654. strSql.Append(" WHEN N'LeaveDate DESC' ");
  655. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY LeaveDate DESC ) ) ");
  656. strSql.Append(" WHEN N'Effective' ");
  657. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY Members.Effective ) ) ");
  658. strSql.Append(" WHEN N'Effective DESC' ");
  659. strSql.Append(" THEN ( ROW_NUMBER() OVER ( ORDER BY Members.Effective DESC ) ) ");
  660. strSql.Append(" ELSE ( ROW_NUMBER() OVER ( ORDER BY MemberID ) ) ");
  661. strSql.Append(" END AS RowId , ");
  662. strSql.Append(" MemberID , ");
  663. strSql.Append(" MemberName , ");
  664. strSql.Append(" Members.ContectExt , ");
  665. strSql.Append(" DepartmentName AS DeptID , ");
  666. strSql.Append(" JobtitleName AS JobTitleID , ");
  667. strSql.Append(" CONVERT(VARCHAR(100), ArriveDate, 111) AS ArriveDate , ");
  668. strSql.Append(" CONVERT(VARCHAR(100), LeaveDate, 111) AS LeaveDate , ");
  669. strSql.Append(" Members.Effective ");
  670. strSql.Append(" FROM OTB_SYS_Members AS Members ");
  671. strSql.Append(" LEFT JOIN dbo.OTB_SYS_Departments AS Department ON members.DepartmentID = Department.DepartmentID ");
  672. strSql.Append(" LEFT JOIN dbo.OTB_SYS_Jobtitle AS Jobtitle ON members.JobTitle = Jobtitle.JobTitleID ");
  673. strSql.Append(" WHERE ( MemberID LIKE @MemberID ");
  674. strSql.Append(" OR @MemberID IS NULL ");
  675. strSql.Append(" OR @MemberID = '%%' ");
  676. strSql.Append(" ) ");
  677. strSql.Append(" AND ( MemberName LIKE @MemberName ");
  678. strSql.Append(" OR @MemberName IS NULL ");
  679. strSql.Append(" OR @MemberName = '%%' ");
  680. strSql.Append(" ) ");
  681. strSql.Append(" AND ( members.DepartmentID = @DepartmentID ");
  682. strSql.Append(" OR @DepartmentID IS NULL ");
  683. strSql.Append(" OR @DepartmentID = '' ");
  684. strSql.Append(" ) ");
  685. strSql.Append(" AND ( members.JobTitle = @JobTitle ");
  686. strSql.Append(" OR @JobTitle IS NULL ");
  687. strSql.Append(" OR @JobTitle = '' ");
  688. strSql.Append(" ) ");
  689. strSql.Append(" ");
  690. strSql.Append(" AND ( Members.Effective = @Effective ");
  691. strSql.Append(" OR @Effective IS NULL ");
  692. strSql.Append(" OR @Effective = '' ");
  693. strSql.Append(" ) ");
  694. strSql.Append(" ) AS AA ");
  695. strSql.Append(" WHERE AA.RowId >= @StartRecordIndex ");
  696. strSql.Append(" AND AA.RowId <= @EndRecordIndex ");
  697. strSql.Append(" ORDER BY RowId ");
  698. SqlParameter[] parameters = {
  699. new SqlParameter("@StartRecordIndex", SqlDbType.Int)
  700. ,new SqlParameter("@EndRecordIndex", SqlDbType.Int)
  701. ,new SqlParameter("@MemberID", SqlDbType.VarChar,10)
  702. ,new SqlParameter("@MemberName", SqlDbType.VarChar,50)
  703. ,new SqlParameter("@DepartmentID", SqlDbType.VarChar,10)
  704. ,new SqlParameter("@JobTitle", SqlDbType.VarChar,10)
  705. ,new SqlParameter("@Effective", SqlDbType.Char,1)
  706. ,new SqlParameter("@SortExpression", SqlDbType.NVarChar,500)
  707. };
  708. parameters[0].Value = StartRecordIndex;
  709. parameters[1].Value = EndRecordIndex;
  710. parameters[2].Value = "%" + MemberID + "%";
  711. parameters[3].Value = "%" + MemberName + "%";
  712. parameters[4].Value = DepartmentID;
  713. parameters[5].Value = JobTitle;
  714. parameters[6].Value = Effective;
  715. parameters[7].Value = SortExpression;
  716. return DbHelperSQL.Query(strSql.ToString(), parameters);
  717. }
  718. /// <summary>
  719. /// 獲得資料總筆數
  720. /// </summary>
  721. public int GetListCount(string MemberID, string MemberName, string DepartmentID, string JobTitle, string Effective)
  722. {
  723. StringBuilder strSql = new StringBuilder();
  724. strSql.Append(" SELECT COUNT(0) ");
  725. strSql.Append(" FROM OTB_SYS_Members AS Members ");
  726. strSql.Append(" LEFT JOIN dbo.OTB_SYS_Departments AS Department ON members.DepartmentID = Department.DepartmentID ");
  727. strSql.Append(" LEFT JOIN dbo.OTB_SYS_Jobtitle AS Jobtitle ON members.JobTitle = Jobtitle.JobtitleID ");
  728. strSql.Append(" WHERE ( MemberID LIKE @MemberID ");
  729. strSql.Append(" OR @MemberID IS NULL ");
  730. strSql.Append(" OR @MemberID = '%%' ");
  731. strSql.Append(" ) ");
  732. strSql.Append(" AND ( Members.MemberName LIKE @MemberName ");
  733. strSql.Append(" OR @MemberName IS NULL ");
  734. strSql.Append(" OR @MemberName = '%%' ");
  735. strSql.Append(" ) ");
  736. strSql.Append(" AND ( Members.DepartmentID = @DeptID ");
  737. strSql.Append(" OR @DeptID IS NULL ");
  738. strSql.Append(" OR @DeptID = '' ");
  739. strSql.Append(" ) ");
  740. strSql.Append(" AND ( Members.JobTitle = @JobtitleID ");
  741. strSql.Append(" OR @JobtitleID IS NULL ");
  742. strSql.Append(" OR @JobtitleID = '' ");
  743. strSql.Append(" ) ");
  744. strSql.Append(" ");
  745. strSql.Append(" AND ( Members.Effective = @Effective ");
  746. strSql.Append(" OR @Effective IS NULL ");
  747. strSql.Append(" OR @Effective = '' ");
  748. strSql.Append(" ) ");
  749. SqlParameter[] parameters = {
  750. new SqlParameter("@MemberID", SqlDbType.VarChar,10)
  751. ,new SqlParameter("@MemberName", SqlDbType.VarChar,50)
  752. ,new SqlParameter("@DeptID", SqlDbType.VarChar,10)
  753. ,new SqlParameter("@JobTitleID", SqlDbType.VarChar,10)
  754. ,new SqlParameter("@Effective", SqlDbType.Char,1)
  755. };
  756. parameters[0].Value = "%" + MemberID + "%";
  757. parameters[1].Value = "%" + MemberName + "%";
  758. parameters[2].Value = DepartmentID;
  759. parameters[3].Value = JobTitle;
  760. parameters[4].Value = Effective;
  761. return (int)DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  762. }
  763. /// <summary>
  764. /// 獲得資料列表
  765. /// </summary>
  766. public DataSet SearchMember(int StartRecordIndex, int EndRecordIndex, string strSearch, string SortExpression)
  767. {
  768. StringBuilder strSql = new StringBuilder();
  769. string strSort = " (ROW_NUMBER() OVER(Order BY MemberID)) ";
  770. if (!string.IsNullOrEmpty(SortExpression))
  771. {
  772. switch (SortExpression.ToLower())
  773. {
  774. case "memberid":
  775. strSort = " (ROW_NUMBER() OVER(Order BY MemberID)) ";
  776. break;
  777. case "memberid desc":
  778. strSort = " (ROW_NUMBER() OVER(Order BY MemberID DESC))";
  779. break;
  780. case "membername":
  781. strSort = " (ROW_NUMBER() OVER(Order BY MemberName))";
  782. break;
  783. case "membername desc":
  784. strSort = " (ROW_NUMBER() OVER(Order BY MemberName DESC))";
  785. break;
  786. case "rulelist":
  787. strSort = " (ROW_NUMBER() OVER(Order BY RuleList))";
  788. break;
  789. case "rulelist desc":
  790. strSort = " (ROW_NUMBER() OVER(Order BY RuleList DESC))";
  791. break;
  792. case "rulenmList":
  793. strSort = " (ROW_NUMBER() OVER(Order BY RuleNmList))";
  794. break;
  795. case "rulenmList desc":
  796. strSort = " (ROW_NUMBER() OVER(Order BY RuleNmList DESC))";
  797. break;
  798. default:
  799. strSort = " (ROW_NUMBER() OVER(Order BY MemberID)) ";
  800. break;
  801. }
  802. }
  803. strSql.Append(" DeClare @MainTB Table(");
  804. strSql.Append(" RowId int,");
  805. strSql.Append(" MemberID VarChar(10),");
  806. strSql.Append(" MemberName NVarChar(10),");
  807. strSql.Append(" RuleList VarChar(5),");
  808. strSql.Append(" RuleNmList NVarChar(50)");
  809. strSql.Append(" )");
  810. strSql.Append(" Insert @MainTB");
  811. strSql.Append(" SELECT ");
  812. strSql.Append(" " + strSort + " ");
  813. strSql.Append(" ,MemberID,MemberName,RuleList,RuleNmList");
  814. strSql.Append(" FROM ");
  815. strSql.Append(" (");
  816. strSql.Append(" SELECT Emp_Cd As MemberID");
  817. strSql.Append(" ,Emp_Cnm As MemberName");
  818. strSql.Append(" ,Dept_Cd As RuleList");
  819. strSql.Append(" FROM Trdata.Dbo.TrEmp ");
  820. strSql.Append(" ) As Emp");
  821. strSql.Append(" Inner Join ");
  822. strSql.Append(" (");
  823. strSql.Append(" SELECT Dept_Cd,Dept_Nm As RuleNmList FROM TrData.Dbo.TrDept");
  824. strSql.Append(" ) As Dept On Dept_Cd=RuleList");
  825. if (!string.IsNullOrEmpty(strSearch))
  826. {
  827. strSql.Append(" WHERE IsNull(MemberID,'')+IsNull(MemberName,'')+IsNull(RuleList,'')+IsNull(RuleNmList,'') Like @Search");
  828. }
  829. strSql.Append(" ");
  830. strSql.Append(" SELECT RowId");
  831. strSql.Append(" ,MemberID");
  832. strSql.Append(" ,MemberName ");
  833. strSql.Append(" ,RuleList");
  834. strSql.Append(" ,RuleNmList");
  835. strSql.Append(" FROM @MainTB");
  836. strSql.Append(" WHERE RowId>=@StartRecordIndex AND RowId<=@EndRecordIndex");
  837. strSql.Append(" ORDER BY RowId ");
  838. strSql.Append(" SELECT Count(0) FROM @MainTB");
  839. SqlParameter[] parameters = {
  840. new SqlParameter("@StartRecordIndex", SqlDbType.Int)
  841. ,new SqlParameter("@EndRecordIndex", SqlDbType.Int)
  842. ,new SqlParameter("@Search", SqlDbType.NVarChar,50)
  843. ,new SqlParameter("@SortExpression", SqlDbType.NVarChar,500)
  844. };
  845. parameters[0].Value = StartRecordIndex;
  846. parameters[1].Value = EndRecordIndex;
  847. parameters[2].Value = "%" + strSearch + "%";
  848. parameters[3].Value = SortExpression;
  849. return DbHelperSQL.Query(strSql.ToString(), parameters);
  850. }
  851. /// <summary>
  852. /// 獲得資料總筆數
  853. /// </summary>
  854. public int SearchMemberCount(string MemberID, string MemberName, string RuleID, string RuleName)
  855. {
  856. StringBuilder strSql = new StringBuilder();
  857. strSql.Append(" SELECT Count(0)");
  858. strSql.Append(" FROM OTB_SYS_Members As Main");
  859. strSql.Append(" Left Join (");
  860. strSql.Append(" SELECT Distinct MemberID");
  861. strSql.Append(" ,Stuff((SELECT ',' +RuleID FROM OTB_SYS_MembersToRule WHERE MemberID=T1.MemberID For Xml Path('')),1,1,'') As RuleList");
  862. strSql.Append(" ,Stuff((SELECT ',' +RuleName FROM ");
  863. strSql.Append(" (SELECT MemberID,ID.RuleID,RuleName");
  864. strSql.Append(" FROM OTB_SYS_MembersToRule As ID");
  865. strSql.Append(" Left Join (SELECT RuleID,RuleName FROM OTB_SYS_Rules) As Name ");
  866. strSql.Append(" On ID.RuleID=Name.RuleID) As T2 ");
  867. strSql.Append(" WHERE MemberID=T1.MemberID For Xml Path('')),1,1,'') As RuleNmList");
  868. strSql.Append(" FROM OTB_SYS_MembersToRule As T1");
  869. strSql.Append(" )As Rules On Main.MemberID=Rules.MemberID");
  870. strSql.Append(" WHERE (Main.MemberID Like @MemberID)");
  871. strSql.Append(" And (MemberName Like @MemberName)");
  872. strSql.Append(" And (Rules.RuleList Like @RuleID Or @RuleID='%%')");
  873. strSql.Append(" And (Rules.RuleNmList Like @RuleName Or @RuleName='%%')");
  874. SqlParameter[] parameters = {
  875. new SqlParameter("@MemberID", SqlDbType.VarChar,10)
  876. ,new SqlParameter("@MemberName", SqlDbType.NVarChar,50)
  877. ,new SqlParameter("@RuleID", SqlDbType.VarChar,10)
  878. ,new SqlParameter("@RuleName", SqlDbType.NVarChar,50)
  879. };
  880. parameters[0].Value = "%" + MemberID + "%";
  881. parameters[1].Value = "%" + MemberName + "%";
  882. parameters[2].Value = "%" + RuleID + "%";
  883. parameters[3].Value = "%" + RuleName + "%";
  884. return (int)DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  885. }
  886. #endregion Method
  887. }
  888. }