DBUpgradeHis.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. using MV485.helper;
  2. using MV485.model;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data.SQLite;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace MV485.db
  10. {
  11. public class DBUpgradeHis
  12. {
  13. public static bool InsertUpgradeHis(TUpgradeHis his)
  14. {
  15. string sql = @"
  16. INSERT OR IGNORE INTO t_upgrade_his (
  17. his_id, device_sn, port_name, baud_rate,
  18. address, old_fireware, upgrade_time,
  19. new_fireware, upgrade_result
  20. )
  21. VALUES (
  22. @HisId, @DeviceSn, @PortName, @BaudRate,
  23. @Address, @OldFireware, @UpgradeTime,
  24. @NewFireware, @UpgradeResult
  25. )";
  26. SQLiteParameter[] parameters = new SQLiteParameter[]
  27. {
  28. new SQLiteParameter("@HisId", his.HisId),
  29. new SQLiteParameter("@DeviceSn", his.DeviceSn),
  30. new SQLiteParameter("@PortName", his.PortName),
  31. new SQLiteParameter("@BaudRate", his.BaudRate),
  32. new SQLiteParameter("@Address", his.Address),
  33. new SQLiteParameter("@OldFireware", his.OldFireware),
  34. new SQLiteParameter("@UpgradeTime", his.UpgradeTime),
  35. new SQLiteParameter("@NewFireware", his.NewFireware),
  36. new SQLiteParameter("@UpgradeResult", his.UpgradeResult),
  37. };
  38. try
  39. {
  40. int rows = SQLiteHelper.ExecuteSql(sql, parameters);
  41. return rows > 0;
  42. }
  43. catch (Exception ex)
  44. {
  45. Console.WriteLine("InsertUpgradeHis Error: " + ex.Message);
  46. return false;
  47. }
  48. }
  49. public static List<TUpgradeHis> GetUpgradeHisByDeviceSn(string deviceSn)
  50. {
  51. string sql = @"
  52. SELECT * FROM t_upgrade_his
  53. WHERE device_sn = @DeviceSn
  54. ORDER BY upgrade_time DESC";
  55. SQLiteParameter[] parameters = new SQLiteParameter[]
  56. {
  57. new SQLiteParameter("@DeviceSn", deviceSn)
  58. };
  59. List<TUpgradeHis> result = new List<TUpgradeHis>();
  60. using (var reader = SQLiteHelper.ExecuteReader(sql, parameters))
  61. {
  62. while (reader.Read())
  63. {
  64. result.Add(new TUpgradeHis
  65. {
  66. HisId = reader["his_id"].ToString(),
  67. DeviceSn = reader["device_sn"].ToString(),
  68. PortName = reader["port_name"].ToString(),
  69. BaudRate = Convert.ToInt32(reader["baud_rate"]),
  70. Address = Convert.ToInt32(reader["address"]),
  71. OldFireware = reader["old_fireware"].ToString(),
  72. UpgradeTime = reader["upgrade_time"].ToString(),
  73. NewFireware = reader["new_fireware"].ToString(),
  74. UpgradeResult = Convert.ToInt32(reader["upgrade_result"]),
  75. });
  76. }
  77. }
  78. return result;
  79. }
  80. public static Tuple<int, int, List<TUpgradeHis>> GetPagedUpgradeHis(int pageNumber, int pageSize, string deviceSn)
  81. {
  82. int offset = (pageNumber - 1) * pageSize;
  83. string sql = @"
  84. SELECT * FROM t_upgrade_his
  85. WHERE device_sn = @DeviceSn
  86. ORDER BY upgrade_time DESC
  87. LIMIT @PageSize OFFSET @Offset";
  88. List<SQLiteParameter> parameters = new List<SQLiteParameter>
  89. {
  90. new SQLiteParameter("@DeviceSn", deviceSn),
  91. new SQLiteParameter("@PageSize", pageSize),
  92. new SQLiteParameter("@Offset", offset),
  93. };
  94. List<TUpgradeHis> result = new List<TUpgradeHis>();
  95. using (var reader = SQLiteHelper.ExecuteReader(sql, parameters.ToArray()))
  96. {
  97. while (reader.Read())
  98. {
  99. result.Add(new TUpgradeHis
  100. {
  101. HisId = reader["his_id"].ToString(),
  102. DeviceSn = reader["device_sn"].ToString(),
  103. PortName = reader["port_name"].ToString(),
  104. BaudRate = Convert.ToInt32(reader["baud_rate"]),
  105. Address = Convert.ToInt32(reader["address"]),
  106. OldFireware = reader["old_fireware"].ToString(),
  107. UpgradeTime = reader["upgrade_time"].ToString(),
  108. NewFireware = reader["new_fireware"].ToString(),
  109. UpgradeResult = Convert.ToInt32(reader["upgrade_result"]),
  110. });
  111. }
  112. }
  113. string countSql = "SELECT COUNT(*) FROM t_upgrade_his WHERE device_sn = @DeviceSn";
  114. int total = Convert.ToInt32(SQLiteHelper.GetSingle(countSql, new SQLiteParameter("@DeviceSn", deviceSn)));
  115. int totalPages = (int)Math.Ceiling(total / (double)pageSize);
  116. return Tuple.Create(total, totalPages, result);
  117. }
  118. public static Tuple<int, int, List<TUpgradeHis>> GetPagedUpgradeHis(int pageNumber, int pageSize)
  119. {
  120. int offset = (pageNumber - 1) * pageSize;
  121. string sql = @"
  122. SELECT * FROM t_upgrade_his
  123. ORDER BY upgrade_time DESC
  124. LIMIT @PageSize OFFSET @Offset";
  125. List<SQLiteParameter> parameters = new List<SQLiteParameter>
  126. {
  127. new SQLiteParameter("@PageSize", pageSize),
  128. new SQLiteParameter("@Offset", offset),
  129. };
  130. List<TUpgradeHis> result = new List<TUpgradeHis>();
  131. using (var reader = SQLiteHelper.ExecuteReader(sql, parameters.ToArray()))
  132. {
  133. while (reader.Read())
  134. {
  135. result.Add(new TUpgradeHis
  136. {
  137. HisId = reader["his_id"].ToString(),
  138. DeviceSn = reader["device_sn"].ToString(),
  139. PortName = reader["port_name"].ToString(),
  140. BaudRate = Convert.ToInt32(reader["baud_rate"]),
  141. Address = Convert.ToInt32(reader["address"]),
  142. OldFireware = reader["old_fireware"].ToString(),
  143. UpgradeTime = reader["upgrade_time"].ToString(),
  144. NewFireware = reader["new_fireware"].ToString(),
  145. UpgradeResult = Convert.ToInt32(reader["upgrade_result"]),
  146. });
  147. }
  148. }
  149. string countSql = "SELECT COUNT(*) FROM t_upgrade_his";
  150. int total = Convert.ToInt32(SQLiteHelper.GetSingle(countSql));
  151. int totalPages = (int)Math.Ceiling(total / (double)pageSize);
  152. return Tuple.Create(total, totalPages, result);
  153. }
  154. public static bool DeleteUpgradeHisByHisId(string hisId)
  155. {
  156. string sql = "DELETE FROM t_upgrade_his WHERE his_id = @HisId";
  157. SQLiteParameter[] parameters = { new SQLiteParameter("@HisId", hisId) };
  158. try
  159. {
  160. return SQLiteHelper.ExecuteSql(sql, parameters) > 0;
  161. }
  162. catch (Exception ex)
  163. {
  164. Console.WriteLine("DeleteUpgradeHisByHisId Error: " + ex.Message);
  165. return false;
  166. }
  167. }
  168. public static bool DeleteUpgradeHisByDeviceSn(string deviceSn)
  169. {
  170. string sql = "DELETE FROM t_upgrade_his WHERE device_sn = @DeviceSn";
  171. SQLiteParameter[] parameters = { new SQLiteParameter("@DeviceSn", deviceSn) };
  172. try
  173. {
  174. return SQLiteHelper.ExecuteSql(sql, parameters) > 0;
  175. }
  176. catch (Exception ex)
  177. {
  178. Console.WriteLine("DeleteUpgradeHisByDeviceSn Error: " + ex.Message);
  179. return false;
  180. }
  181. }
  182. public static bool DeleteUpgradeAllHis()
  183. {
  184. string sql = "DELETE FROM t_upgrade_his";
  185. //SQLiteParameter[] parameters = { new SQLiteParameter("@DeviceSn", deviceSn) };
  186. try
  187. {
  188. //return SQLiteHelper.ExecuteSql(sql, parameters) > 0;
  189. return SQLiteHelper.ExecuteSql(sql) >= 0;
  190. }
  191. catch (Exception ex)
  192. {
  193. Console.WriteLine("DeleteUpgradeHisByDeviceSn Error: " + ex.Message);
  194. return false;
  195. }
  196. }
  197. public static bool UpdateUpgradeResult(TUpgradeHis his)
  198. {
  199. // 定义更新的 SQL 语句
  200. string sql = @"
  201. UPDATE t_upgrade_his
  202. SET
  203. upgrade_result = @UpgradeResult
  204. WHERE his_id = @HisId";
  205. // 创建 SQL 参数
  206. SQLiteParameter[] parameters = new SQLiteParameter[]
  207. {
  208. new SQLiteParameter("@HisId", his.HisId),
  209. new SQLiteParameter("@UpgradeResult", his.UpgradeResult)
  210. };
  211. try
  212. {
  213. // 调用 SQLiteHelper 执行更新操作
  214. int rowsAffected = SQLiteHelper.ExecuteSql(sql, parameters);
  215. // 如果更新成功,返回 true,否则返回 false
  216. return rowsAffected > 0;
  217. }
  218. catch (Exception ex)
  219. {
  220. // 处理异常(如果有的话)
  221. Console.WriteLine("Error updating data: " + ex.Message);
  222. return false;
  223. }
  224. }
  225. public static bool UpdateUpgradeResultAndNewFrieware(TUpgradeHis his)
  226. {
  227. // 定义更新的 SQL 语句
  228. string sql = @"
  229. UPDATE t_upgrade_his
  230. SET
  231. new_fireware = @NewFireware,
  232. upgrade_result = @UpgradeResult
  233. WHERE his_id = @HisId";
  234. // 创建 SQL 参数
  235. SQLiteParameter[] parameters = new SQLiteParameter[]
  236. {
  237. new SQLiteParameter("@HisId", his.HisId),
  238. new SQLiteParameter("@NewFireware", his.NewFireware),
  239. new SQLiteParameter("@UpgradeResult", his.UpgradeResult)
  240. };
  241. try
  242. {
  243. // 调用 SQLiteHelper 执行更新操作
  244. int rowsAffected = SQLiteHelper.ExecuteSql(sql, parameters);
  245. // 如果更新成功,返回 true,否则返回 false
  246. return rowsAffected > 0;
  247. }
  248. catch (Exception ex)
  249. {
  250. // 处理异常(如果有的话)
  251. Console.WriteLine("Error updating data: " + ex.Message);
  252. return false;
  253. }
  254. }
  255. //----------------------------------------------------------------------------------
  256. }
  257. }