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.

337 lines
19 KiB

  1. using System;
  2. using System.Data;
  3. using System.Text;
  4. using System.Data.SqlClient;
  5. using OT.IDAL;
  6. using DBUtility;
  7. using System.Collections.Generic;//Please add references
  8. namespace OT.SQLServerDAL
  9. {
  10. /// <summary>
  11. /// 資料訪問類:OTB_SYS_Jobtitle
  12. /// </summary>
  13. public partial class OTB_SYS_Jobtitle : IOTB_SYS_Jobtitle
  14. {
  15. public OTB_SYS_Jobtitle()
  16. { }
  17. #region Method
  18. /// <summary>
  19. /// 是否存在該記錄
  20. /// </summary>
  21. public bool Exists(string JobtitleID)
  22. {
  23. StringBuilder strSql = new StringBuilder();
  24. strSql.Append("select count(1) from OTB_SYS_Jobtitle");
  25. strSql.Append(" where JobtitleID=@JobtitleID ");
  26. SqlParameter[] parameters = {
  27. new SqlParameter("@JobtitleID", SqlDbType.VarChar,10) };
  28. parameters[0].Value = JobtitleID;
  29. return DbHelperSQL.Exists(strSql.ToString(), parameters);
  30. }
  31. /// <summary>
  32. /// 是否存在該記錄在人員表中
  33. /// </summary>
  34. public bool ExistsByMember(string JobtitleID)
  35. {
  36. StringBuilder strSql = new StringBuilder();
  37. strSql.Append("select count(1) from OTB_SYS_Members");
  38. strSql.Append(" where JobtitleID=@JobtitleID ");
  39. SqlParameter[] parameters = {
  40. new SqlParameter("@JobtitleID", SqlDbType.VarChar,10) };
  41. parameters[0].Value = JobtitleID;
  42. return DbHelperSQL.Exists(strSql.ToString(), parameters);
  43. }
  44. /// <summary>
  45. /// 增加一條資料
  46. /// </summary>
  47. public bool Add(OT.Model.OTB_SYS_Jobtitle model)
  48. {
  49. StringBuilder strSql = new StringBuilder();
  50. strSql.Append("insert into OTB_SYS_Jobtitle(");
  51. strSql.Append("JobtitleID,JobtitleName,DepartID,Isleader,Effective,Memo,CreateUser,CreateDate,ModifyUser,ModifyDate)");
  52. strSql.Append(" values (");
  53. strSql.Append("@JobtitleID,@JobtitleName,@DepartID,@Isleader,@Effective,@Memo,@CreateUser,getdate(),@CreateUser,getdate())");
  54. SqlParameter[] parameters = {
  55. new SqlParameter("@JobtitleID", SqlDbType.VarChar,10),
  56. new SqlParameter("@JobtitleName", SqlDbType.NVarChar,10),
  57. new SqlParameter("@DepartID", SqlDbType.VarChar,10),
  58. new SqlParameter("@Isleader", SqlDbType.Char,1),
  59. new SqlParameter("@Effective", SqlDbType.Char,1),
  60. new SqlParameter("@Memo", SqlDbType.NVarChar),
  61. new SqlParameter("@CreateUser", SqlDbType.VarChar,50),
  62. new SqlParameter("@CreateDate", SqlDbType.DateTime),
  63. new SqlParameter("@ModifyUser", SqlDbType.VarChar,50),
  64. new SqlParameter("@ModifyDate", SqlDbType.DateTime)};
  65. parameters[0].Value = model.JobtitleID;
  66. parameters[1].Value = model.JobtitleName;
  67. parameters[2].Value = model.DepartID;
  68. parameters[3].Value = model.Isleader;
  69. parameters[4].Value = model.Effective;
  70. parameters[5].Value = model.Memo;
  71. parameters[6].Value = model.CreateUser;
  72. parameters[7].Value = model.CreateDate;
  73. parameters[8].Value = model.ModifyUser;
  74. parameters[9].Value = model.ModifyDate;
  75. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  76. if (rows > 0)
  77. {
  78. return true;
  79. }
  80. else
  81. {
  82. return false;
  83. }
  84. }
  85. /// <summary>
  86. /// 更新一條資料
  87. /// </summary>
  88. public bool Update(OT.Model.OTB_SYS_Jobtitle model)
  89. {
  90. StringBuilder strSql = new StringBuilder();
  91. strSql.Append("update OTB_SYS_Jobtitle set ");
  92. strSql.Append("JobtitleName=@JobtitleName,");
  93. strSql.Append("DepartID=@DepartID,");
  94. strSql.Append("Isleader=@Isleader,");
  95. strSql.Append("Effective=@Effective,");
  96. strSql.Append("Memo=@Memo,");
  97. strSql.Append("ModifyUser=@ModifyUser,");
  98. strSql.Append("ModifyDate=getdate()");
  99. strSql.Append(" where JobtitleID=@JobtitleID ");
  100. SqlParameter[] parameters = {
  101. new SqlParameter("@JobtitleName", SqlDbType.NVarChar,10),
  102. new SqlParameter("@DepartID", SqlDbType.VarChar,10),
  103. new SqlParameter("@Isleader", SqlDbType.Char,1),
  104. new SqlParameter("@Effective", SqlDbType.Char,1),
  105. new SqlParameter("@Memo", SqlDbType.NVarChar),
  106. new SqlParameter("@CreateUser", SqlDbType.VarChar,50),
  107. new SqlParameter("@CreateDate", SqlDbType.DateTime),
  108. new SqlParameter("@ModifyUser", SqlDbType.VarChar,50),
  109. new SqlParameter("@ModifyDate", SqlDbType.DateTime),
  110. new SqlParameter("@JobtitleID", SqlDbType.VarChar,10)};
  111. parameters[0].Value = model.JobtitleName;
  112. parameters[1].Value = model.DepartID;
  113. parameters[2].Value = model.Isleader;
  114. parameters[3].Value = model.Effective;
  115. parameters[4].Value = model.Memo;
  116. parameters[5].Value = model.CreateUser;
  117. parameters[6].Value = model.CreateDate;
  118. parameters[7].Value = model.ModifyUser;
  119. parameters[8].Value = model.ModifyDate;
  120. parameters[9].Value = model.JobtitleID;
  121. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  122. if (rows > 0)
  123. {
  124. return true;
  125. }
  126. else
  127. {
  128. return false;
  129. }
  130. }
  131. /// <summary>
  132. /// 刪除一條資料
  133. /// </summary>
  134. public bool Delete(string JobtitleID)
  135. {
  136. StringBuilder strSql = new StringBuilder();
  137. strSql.Append("delete from OTB_SYS_Jobtitle ");
  138. strSql.Append(" where JobtitleID=@JobtitleID ");
  139. SqlParameter[] parameters = {
  140. new SqlParameter("@JobtitleID", SqlDbType.VarChar,10) };
  141. parameters[0].Value = JobtitleID;
  142. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  143. if (rows > 0)
  144. {
  145. return true;
  146. }
  147. else
  148. {
  149. return false;
  150. }
  151. }
  152. /// <summary>
  153. /// 批量刪除資料
  154. /// </summary>
  155. public bool DeleteList(string JobtitleIDlist)
  156. {
  157. StringBuilder strSql = new StringBuilder();
  158. strSql.Append("delete from OTB_SYS_Jobtitle ");
  159. strSql.Append(" where JobtitleID in (" + JobtitleIDlist + ") ");
  160. int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
  161. if (rows > 0)
  162. {
  163. return true;
  164. }
  165. else
  166. {
  167. return false;
  168. }
  169. }
  170. /// <summary>
  171. /// 得到一個對象實體
  172. /// </summary>
  173. public OT.Model.OTB_SYS_Jobtitle GetModel(string JobtitleID)
  174. {
  175. StringBuilder strSql = new StringBuilder();
  176. strSql.Append("select top 1 JobtitleID,JobtitleName,DepartID,Isleader,Effective,Memo,CreateUser,CreateDate,ModifyUser,ModifyDate from OTB_SYS_Jobtitle ");
  177. strSql.Append(" where JobtitleID=@JobtitleID ");
  178. SqlParameter[] parameters = {
  179. new SqlParameter("@JobtitleID", SqlDbType.VarChar,10) };
  180. parameters[0].Value = JobtitleID;
  181. OT.Model.OTB_SYS_Jobtitle model = new OT.Model.OTB_SYS_Jobtitle();
  182. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  183. if (ds.Tables[0].Rows.Count > 0)
  184. {
  185. if (ds.Tables[0].Rows[0]["JobtitleID"] != null && ds.Tables[0].Rows[0]["JobtitleID"].ToString() != "")
  186. {
  187. model.JobtitleID = ds.Tables[0].Rows[0]["JobtitleID"].ToString();
  188. }
  189. if (ds.Tables[0].Rows[0]["JobtitleName"] != null && ds.Tables[0].Rows[0]["JobtitleName"].ToString() != "")
  190. {
  191. model.JobtitleName = ds.Tables[0].Rows[0]["JobtitleName"].ToString();
  192. }
  193. if (ds.Tables[0].Rows[0]["DepartID"] != null && ds.Tables[0].Rows[0]["DepartID"].ToString() != "")
  194. {
  195. model.DepartID = ds.Tables[0].Rows[0]["DepartID"].ToString();
  196. }
  197. if (ds.Tables[0].Rows[0]["Isleader"] != null && ds.Tables[0].Rows[0]["Isleader"].ToString() != "")
  198. {
  199. model.Isleader = ds.Tables[0].Rows[0]["Isleader"].ToString();
  200. }
  201. if (ds.Tables[0].Rows[0]["Effective"] != null && ds.Tables[0].Rows[0]["Effective"].ToString() != "")
  202. {
  203. model.Effective = ds.Tables[0].Rows[0]["Effective"].ToString();
  204. }
  205. if (ds.Tables[0].Rows[0]["Memo"] != null && ds.Tables[0].Rows[0]["Memo"].ToString() != "")
  206. {
  207. model.Memo = ds.Tables[0].Rows[0]["Memo"].ToString();
  208. }
  209. if (ds.Tables[0].Rows[0]["CreateUser"] != null && ds.Tables[0].Rows[0]["CreateUser"].ToString() != "")
  210. {
  211. model.CreateUser = ds.Tables[0].Rows[0]["CreateUser"].ToString();
  212. }
  213. if (ds.Tables[0].Rows[0]["CreateDate"] != null && ds.Tables[0].Rows[0]["CreateDate"].ToString() != "")
  214. {
  215. model.CreateDate = DateTime.Parse(ds.Tables[0].Rows[0]["CreateDate"].ToString());
  216. }
  217. if (ds.Tables[0].Rows[0]["ModifyUser"] != null && ds.Tables[0].Rows[0]["ModifyUser"].ToString() != "")
  218. {
  219. model.ModifyUser = ds.Tables[0].Rows[0]["ModifyUser"].ToString();
  220. }
  221. if (ds.Tables[0].Rows[0]["ModifyDate"] != null && ds.Tables[0].Rows[0]["ModifyDate"].ToString() != "")
  222. {
  223. model.ModifyDate = DateTime.Parse(ds.Tables[0].Rows[0]["ModifyDate"].ToString());
  224. }
  225. return model;
  226. }
  227. else
  228. {
  229. return null;
  230. }
  231. }
  232. /// <summary>
  233. /// 獲得資料列表
  234. /// </summary>
  235. public DataSet GetList(int StartRecordIndex, int EndRecordIndex, string DepartID, string JobtitleID, string JobtitleName, string Effective, string SortExpression)
  236. {
  237. StringBuilder strSql = new StringBuilder();
  238. strSql.Append(" SELECT ");
  239. strSql.Append(" RowId ");
  240. strSql.Append(" ,JobtitleID ");
  241. strSql.Append(" ,JobtitleName ");
  242. strSql.Append(" ,Effective ");
  243. strSql.Append(" ,DepartID ");
  244. strSql.Append(" FROM ");
  245. strSql.Append(" ( ");
  246. strSql.Append(" SELECT ");
  247. strSql.Append(" CASE @SortExpression ");
  248. strSql.Append(" WHEN N'JobtitleID' THEN ");
  249. strSql.Append(" (ROW_NUMBER() OVER(Order BY JobtitleID)) ");
  250. strSql.Append(" WHEN N'JobtitleID DESC' THEN ");
  251. strSql.Append(" (ROW_NUMBER() OVER(Order BY JobtitleID DESC)) ");
  252. strSql.Append(" WHEN N'DepartID' THEN ");
  253. strSql.Append(" (ROW_NUMBER() OVER(Order BY DepartID)) ");
  254. strSql.Append(" WHEN N'DepartID DESC' THEN ");
  255. strSql.Append(" (ROW_NUMBER() OVER(Order BY DepartID DESC)) ");
  256. strSql.Append(" WHEN N'JobtitleName' THEN ");
  257. strSql.Append(" (ROW_NUMBER() OVER(Order BY JobtitleName)) ");
  258. strSql.Append(" WHEN N'JobtitleName DESC' THEN ");
  259. strSql.Append(" (ROW_NUMBER() OVER(Order BY JobtitleName DESC)) ");
  260. strSql.Append(" WHEN N'Effective' THEN ");
  261. strSql.Append(" (ROW_NUMBER() OVER(Order BY Effective)) ");
  262. strSql.Append(" WHEN N'Effective DESC' THEN ");
  263. strSql.Append(" (ROW_NUMBER() OVER(Order BY Effective DESC)) ");
  264. strSql.Append(" ELSE ");
  265. strSql.Append(" (ROW_NUMBER() OVER(Order BY ModifyDate DESC)) ");
  266. strSql.Append(" END AS RowId ");
  267. strSql.Append(" ,JobtitleID ");
  268. strSql.Append(" ,JobtitleName ");
  269. strSql.Append(" ,Effective ");
  270. strSql.Append(" ,DepartID ");
  271. strSql.Append(" FROM [OTB_SYS_Jobtitle] ");
  272. strSql.Append(" WHERE(JobtitleID LIKE @JobtitleID OR @JobtitleID IS NULL OR @JobtitleID='%%') ");
  273. strSql.Append(" AND (JobtitleName LIKE @JobtitleName OR @JobtitleName IS NULL OR JobtitleName IS NULL OR @JobtitleName='%%') ");
  274. strSql.Append(" AND (Effective = @Effective OR @Effective IS NULL OR @Effective='') ");
  275. strSql.Append(" ");
  276. strSql.Append(" ) AS AA ");
  277. strSql.Append(" WHERE AA.RowId>=@StartRecordIndex AND AA.RowId<=@EndRecordIndex ");
  278. strSql.Append(" ORDER BY RowId ");
  279. SqlParameter[] parameters = {
  280. new SqlParameter("@StartRecordIndex", SqlDbType.Int)
  281. ,new SqlParameter("@EndRecordIndex", SqlDbType.Int)
  282. ,new SqlParameter("@DepartID", SqlDbType.VarChar,10)
  283. ,new SqlParameter("@JobtitleID", SqlDbType.VarChar,10)
  284. ,new SqlParameter("@JobtitleName", SqlDbType.NVarChar,50)
  285. ,new SqlParameter("@Effective", SqlDbType.Char,1)
  286. ,new SqlParameter("@SortExpression", SqlDbType.NVarChar,500)
  287. };
  288. parameters[0].Value = StartRecordIndex;
  289. parameters[1].Value = EndRecordIndex;
  290. parameters[2].Value = DepartID;
  291. parameters[3].Value = "%" + JobtitleID + "%";
  292. parameters[4].Value = "%" + JobtitleName + "%";
  293. parameters[5].Value = Effective;
  294. parameters[6].Value = SortExpression;
  295. return DbHelperSQL.Query(strSql.ToString(), parameters);
  296. }
  297. /// <summary>
  298. /// 獲得資料總筆數
  299. /// </summary>
  300. public int GetListCount(string DepartID, string JobtitleID, string JobtitleName, string Effective)
  301. {
  302. StringBuilder strSql = new StringBuilder();
  303. strSql.Append(" SELECT ");
  304. strSql.Append(" COUNT(0) ");
  305. strSql.Append(" FROM [OTB_SYS_Jobtitle] ");
  306. strSql.Append(" WHERE ");
  307. strSql.Append(" (JobtitleID LIKE @JobtitleID OR @JobtitleID IS NULL OR @JobtitleID='%%') ");
  308. strSql.Append(" AND (JobtitleName LIKE @JobtitleName OR @JobtitleName IS NULL OR JobtitleName IS NULL OR @JobtitleName='%%') ");
  309. strSql.Append(" AND (Effective = @Effective OR @Effective IS NULL OR @Effective='') ");
  310. SqlParameter[] parameters = {
  311. new SqlParameter("@DepartID", SqlDbType.VarChar,10)
  312. ,new SqlParameter("@JobtitleID", SqlDbType.VarChar,10)
  313. ,new SqlParameter("@JobtitleName", SqlDbType.NVarChar,50)
  314. ,new SqlParameter("@Effective", SqlDbType.Char,1)
  315. };
  316. parameters[0].Value = DepartID;
  317. parameters[1].Value = "%" + JobtitleID + "%";
  318. parameters[2].Value = "%" + JobtitleName + "%";
  319. parameters[3].Value = Effective;
  320. return (int)DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  321. }
  322. #endregion Method
  323. }
  324. }