RoadFlow2.1 临时演示

WorkFlowDelegation.cs 9.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. namespace RoadFlow.Data.MSSQL
  7. {
  8. public class WorkFlowDelegation : RoadFlow.Data.Interface.IWorkFlowDelegation
  9. {
  10. private DBHelper dbHelper = new DBHelper();
  11. /// <summary>
  12. /// 构造函数
  13. /// </summary>
  14. public WorkFlowDelegation()
  15. {
  16. }
  17. /// <summary>
  18. /// 添加记录
  19. /// </summary>
  20. /// <param name="model">RoadFlow.Data.Model.WorkFlowDelegation实体类</param>
  21. /// <returns>操作所影响的行数</returns>
  22. public int Add(RoadFlow.Data.Model.WorkFlowDelegation model)
  23. {
  24. string sql = @"INSERT INTO WorkFlowDelegation
  25. (ID,UserID,StartTime,EndTime,FlowID,ToUserID,WriteTime,Note)
  26. VALUES(@ID,@UserID,@StartTime,@EndTime,@FlowID,@ToUserID,@WriteTime,@Note)";
  27. SqlParameter[] parameters = new SqlParameter[]{
  28. new SqlParameter("@ID", SqlDbType.UniqueIdentifier, -1){ Value = model.ID },
  29. new SqlParameter("@UserID", SqlDbType.UniqueIdentifier, -1){ Value = model.UserID },
  30. new SqlParameter("@StartTime", SqlDbType.DateTime, 8){ Value = model.StartTime },
  31. new SqlParameter("@EndTime", SqlDbType.DateTime, 8){ Value = model.EndTime },
  32. model.FlowID == null ? new SqlParameter("@FlowID", SqlDbType.UniqueIdentifier, -1) { Value = DBNull.Value } : new SqlParameter("@FlowID", SqlDbType.UniqueIdentifier, -1) { Value = model.FlowID },
  33. new SqlParameter("@ToUserID", SqlDbType.UniqueIdentifier, -1){ Value = model.ToUserID },
  34. new SqlParameter("@WriteTime", SqlDbType.DateTime, 8){ Value = model.WriteTime },
  35. model.Note == null ? new SqlParameter("@Note", SqlDbType.NVarChar, 8000) { Value = DBNull.Value } : new SqlParameter("@Note", SqlDbType.NVarChar, 8000) { Value = model.Note }
  36. };
  37. return dbHelper.Execute(sql, parameters);
  38. }
  39. /// <summary>
  40. /// 更新记录
  41. /// </summary>
  42. /// <param name="model">RoadFlow.Data.Model.WorkFlowDelegation实体类</param>
  43. public int Update(RoadFlow.Data.Model.WorkFlowDelegation model)
  44. {
  45. string sql = @"UPDATE WorkFlowDelegation SET
  46. UserID=@UserID,StartTime=@StartTime,EndTime=@EndTime,FlowID=@FlowID,ToUserID=@ToUserID,WriteTime=@WriteTime,Note=@Note
  47. WHERE ID=@ID";
  48. SqlParameter[] parameters = new SqlParameter[]{
  49. new SqlParameter("@UserID", SqlDbType.UniqueIdentifier, -1){ Value = model.UserID },
  50. new SqlParameter("@StartTime", SqlDbType.DateTime, 8){ Value = model.StartTime },
  51. new SqlParameter("@EndTime", SqlDbType.DateTime, 8){ Value = model.EndTime },
  52. model.FlowID == null ? new SqlParameter("@FlowID", SqlDbType.UniqueIdentifier, -1) { Value = DBNull.Value } : new SqlParameter("@FlowID", SqlDbType.UniqueIdentifier, -1) { Value = model.FlowID },
  53. new SqlParameter("@ToUserID", SqlDbType.UniqueIdentifier, -1){ Value = model.ToUserID },
  54. new SqlParameter("@WriteTime", SqlDbType.DateTime, 8){ Value = model.WriteTime },
  55. model.Note == null ? new SqlParameter("@Note", SqlDbType.NVarChar, 8000) { Value = DBNull.Value } : new SqlParameter("@Note", SqlDbType.NVarChar, 8000) { Value = model.Note },
  56. new SqlParameter("@ID", SqlDbType.UniqueIdentifier, -1){ Value = model.ID }
  57. };
  58. return dbHelper.Execute(sql, parameters);
  59. }
  60. /// <summary>
  61. /// 删除记录
  62. /// </summary>
  63. public int Delete(Guid id)
  64. {
  65. string sql = "DELETE FROM WorkFlowDelegation WHERE ID=@ID";
  66. SqlParameter[] parameters = new SqlParameter[]{
  67. new SqlParameter("@ID", SqlDbType.UniqueIdentifier){ Value = id }
  68. };
  69. return dbHelper.Execute(sql, parameters);
  70. }
  71. /// <summary>
  72. /// 将DataRedar转换为List
  73. /// </summary>
  74. private List<RoadFlow.Data.Model.WorkFlowDelegation> DataReaderToList(SqlDataReader dataReader)
  75. {
  76. List<RoadFlow.Data.Model.WorkFlowDelegation> List = new List<RoadFlow.Data.Model.WorkFlowDelegation>();
  77. RoadFlow.Data.Model.WorkFlowDelegation model = null;
  78. while (dataReader.Read())
  79. {
  80. model = new RoadFlow.Data.Model.WorkFlowDelegation();
  81. model.ID = dataReader.GetGuid(0);
  82. model.UserID = dataReader.GetGuid(1);
  83. model.StartTime = dataReader.GetDateTime(2);
  84. model.EndTime = dataReader.GetDateTime(3);
  85. if (!dataReader.IsDBNull(4))
  86. model.FlowID = dataReader.GetGuid(4);
  87. model.ToUserID = dataReader.GetGuid(5);
  88. model.WriteTime = dataReader.GetDateTime(6);
  89. if (!dataReader.IsDBNull(7))
  90. model.Note = dataReader.GetString(7);
  91. List.Add(model);
  92. }
  93. return List;
  94. }
  95. /// <summary>
  96. /// 查询所有记录
  97. /// </summary>
  98. public List<RoadFlow.Data.Model.WorkFlowDelegation> GetAll()
  99. {
  100. string sql = "SELECT * FROM WorkFlowDelegation";
  101. SqlDataReader dataReader = dbHelper.GetDataReader(sql);
  102. List<RoadFlow.Data.Model.WorkFlowDelegation> List = DataReaderToList(dataReader);
  103. dataReader.Close();
  104. return List;
  105. }
  106. /// <summary>
  107. /// 查询记录数
  108. /// </summary>
  109. public long GetCount()
  110. {
  111. string sql = "SELECT COUNT(*) FROM WorkFlowDelegation";
  112. long count;
  113. return long.TryParse(dbHelper.GetFieldValue(sql), out count) ? count : 0;
  114. }
  115. /// <summary>
  116. /// 根据主键查询一条记录
  117. /// </summary>
  118. public RoadFlow.Data.Model.WorkFlowDelegation Get(Guid id)
  119. {
  120. string sql = "SELECT * FROM WorkFlowDelegation WHERE ID=@ID";
  121. SqlParameter[] parameters = new SqlParameter[]{
  122. new SqlParameter("@ID", SqlDbType.UniqueIdentifier){ Value = id }
  123. };
  124. SqlDataReader dataReader = dbHelper.GetDataReader(sql, parameters);
  125. List<RoadFlow.Data.Model.WorkFlowDelegation> List = DataReaderToList(dataReader);
  126. dataReader.Close();
  127. return List.Count > 0 ? List[0] : null;
  128. }
  129. /// <summary>
  130. /// 查询一个用户所有记录
  131. /// </summary>
  132. public List<RoadFlow.Data.Model.WorkFlowDelegation> GetByUserID(Guid userID)
  133. {
  134. string sql = "SELECT * FROM WorkFlowDelegation WHERE UserID=@UserID";
  135. SqlParameter[] parameters = new SqlParameter[]{
  136. new SqlParameter("@UserID", SqlDbType.UniqueIdentifier){ Value = userID }
  137. };
  138. SqlDataReader dataReader = dbHelper.GetDataReader(sql, parameters);
  139. List<RoadFlow.Data.Model.WorkFlowDelegation> List = DataReaderToList(dataReader);
  140. dataReader.Close();
  141. return List;
  142. }
  143. /// <summary>
  144. /// 得到一页数据
  145. /// </summary>
  146. /// <param name="pager"></param>
  147. /// <param name="query"></param>
  148. /// <param name="userID"></param>
  149. /// <param name="startTime"></param>
  150. /// <param name="endTime"></param>
  151. /// <returns></returns>
  152. public List<RoadFlow.Data.Model.WorkFlowDelegation> GetPagerData(out string pager, string query = "", string userID="", string startTime = "", string endTime = "")
  153. {
  154. StringBuilder WHERE = new StringBuilder();
  155. List<SqlParameter> parList = new List<SqlParameter>();
  156. if (userID.IsGuid())
  157. {
  158. WHERE.Append("AND UserID=@UserID ");
  159. parList.Add(new SqlParameter("@UserID", SqlDbType.UniqueIdentifier) { Value = userID.ToGuid() });
  160. }
  161. if (startTime.IsDateTime())
  162. {
  163. WHERE.Append("AND StartTime>=@StartTime ");
  164. parList.Add(new SqlParameter("@StartTime", SqlDbType.DateTime) { Value = startTime.ToDateTime().ToString("yyyy-MM-dd").ToDateTime() });
  165. }
  166. if (endTime.IsDateTime())
  167. {
  168. WHERE.Append("AND EndTime<=@EndTime ");
  169. parList.Add(new SqlParameter("@EndTime", SqlDbType.DateTime) { Value = endTime.ToDateTime().AddDays(1).ToString("yyyy-MM-dd").ToDateTime() });
  170. }
  171. long count;
  172. int pageSize=RoadFlow.Utility.Tools.GetPageSize();
  173. int pageNumber=RoadFlow.Utility.Tools.GetPageNumber();
  174. string sql = dbHelper.GetPaerSql("WorkFlowDelegation", "*", WHERE.ToString(), "WriteTime Desc", pageSize, pageNumber, out count, parList.ToArray());
  175. pager = RoadFlow.Utility.Tools.GetPagerHtml(count, pageSize, pageNumber, query);
  176. SqlDataReader dataReader = dbHelper.GetDataReader(sql, parList.ToArray());
  177. List<RoadFlow.Data.Model.WorkFlowDelegation> List = DataReaderToList(dataReader);
  178. dataReader.Close();
  179. return List;
  180. }
  181. /// <summary>
  182. /// 得到未过期的委托
  183. /// </summary>
  184. public List<RoadFlow.Data.Model.WorkFlowDelegation> GetNoExpiredList()
  185. {
  186. string sql = "SELECT * FROM WorkFlowDelegation WHERE EndTime>=@EndTime";
  187. SqlParameter[] parameters = new SqlParameter[]{
  188. new SqlParameter("@EndTime", SqlDbType.DateTime){ Value = RoadFlow.Utility.DateTimeNew.Now }
  189. };
  190. SqlDataReader dataReader = dbHelper.GetDataReader(sql, parameters);
  191. List<RoadFlow.Data.Model.WorkFlowDelegation> List = DataReaderToList(dataReader);
  192. dataReader.Close();
  193. return List;
  194. }
  195. }
  196. }