您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

125 行
5.2KB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using MySql.Data.MySqlClient;
  5. namespace CSVDownloader.Store.CreditCSVData {
  6. class CreditCSVDataHelloTechno : CreditCSVData {
  7. public String spot_i_d = "";
  8. public DateTime register_datetime = DateTime.Now;
  9. public String user_code = "";
  10. public String parking_code = "";
  11. public String device_no = "";
  12. public String adjust_no = "";
  13. public String trade = "";
  14. public int amount = 0;
  15. public String card_company_name = "";
  16. public String approval_no = "";
  17. public String response_no = "";
  18. public DateTime? cancel_date = null;
  19. public String error = "";
  20. public enum ColName {
  21. SpotID = 100,
  22. RegisterDatetime = 0,
  23. UserCode,
  24. ParkingCode,
  25. DeviceNo,
  26. AdjustNo,
  27. Trade,
  28. Amount,
  29. CardCompanyName,
  30. ApprovalNo,
  31. ResponseNo,
  32. CancelDate,
  33. Error,
  34. UpdDate,
  35. UpdStaff,
  36. RegDate,
  37. RegStaff
  38. }
  39. }
  40. class HelloTechnoCreditDataStore : CreditCSVDataStore {
  41. private static readonly String table_name_ = "creditcard_download_data_hellotechno";
  42. private String delete_sql_ = $"delete from {table_name_} where " +
  43. $"{CreditCSVDataHelloTechno.ColName.RegisterDatetime} between " +
  44. $"@From{CreditCSVDataHelloTechno.ColName.RegisterDatetime} and " +
  45. $"@To{CreditCSVDataHelloTechno.ColName.RegisterDatetime};";
  46. public HelloTechnoCreditDataStore(MySqlConnection conn) : base(conn) {
  47. }
  48. public override void Save(List<CreditCSVData> list) {
  49. Code.ResultCode ret;
  50. var table = new DataTable();
  51. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.SpotID}");
  52. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.RegisterDatetime}");
  53. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.UserCode}");
  54. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.ParkingCode}");
  55. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.DeviceNo}");
  56. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.AdjustNo}");
  57. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.Trade}");
  58. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.Amount}");
  59. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.CardCompanyName}");
  60. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.ApprovalNo}");
  61. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.ResponseNo}");
  62. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.CancelDate}");
  63. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.Error}");
  64. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.UpdStaff}");
  65. table.Columns.Add($"{CreditCSVDataHelloTechno.ColName.RegStaff}");
  66. foreach (CreditCSVDataHelloTechno data in list) {
  67. var row = table.NewRow();
  68. row[$"{CreditCSVDataHelloTechno.ColName.SpotID}"] = data.spot_id;
  69. row[$"{CreditCSVDataHelloTechno.ColName.RegisterDatetime}"] = data.register_datetime;
  70. row[$"{CreditCSVDataHelloTechno.ColName.UserCode}"] = data.user_code;
  71. row[$"{CreditCSVDataHelloTechno.ColName.ParkingCode}"] = data.parking_code;
  72. row[$"{CreditCSVDataHelloTechno.ColName.DeviceNo}"] = data.device_no;
  73. row[$"{CreditCSVDataHelloTechno.ColName.AdjustNo}"] = data.adjust_no;
  74. row[$"{CreditCSVDataHelloTechno.ColName.Trade}"] = data.trade;
  75. row[$"{CreditCSVDataHelloTechno.ColName.Amount}"] = data.amount;
  76. row[$"{CreditCSVDataHelloTechno.ColName.CardCompanyName}"] = data.card_company_name;
  77. row[$"{CreditCSVDataHelloTechno.ColName.ApprovalNo}"] = data.approval_no;
  78. row[$"{CreditCSVDataHelloTechno.ColName.ResponseNo}"] = data.response_no;
  79. row[$"{CreditCSVDataHelloTechno.ColName.CancelDate}"] = data.cancel_date;
  80. row[$"{CreditCSVDataHelloTechno.ColName.Error}"] = data.error;
  81. row[$"{CreditCSVDataHelloTechno.ColName.UpdStaff}"] = data.upd_staff;
  82. row[$"{CreditCSVDataHelloTechno.ColName.RegStaff}"] = data.reg_staff;
  83. table.Rows.Add(row);
  84. }
  85. ret = BulkInsertData(table_name_, table);
  86. if (ret != Code.ResultCode.OK) {
  87. throw new Exception("登録失敗 HelloTechno");
  88. }
  89. }
  90. public override int Delete(DateTime from, DateTime to) {
  91. var bindlist = new List<(String, object)> {
  92. ("From"+CreditCSVDataHelloTechno.ColName.RegisterDatetime.ToString(), from.ToString("yyyy-MM-dd")),
  93. ("To"+CreditCSVDataHelloTechno.ColName.RegisterDatetime.ToString(), to.AddDays(1).ToString("yyyy-MM-dd"))
  94. };
  95. var delete_count = DeleteData(delete_sql_, bindlist);
  96. if (delete_count == -1) {
  97. throw new Exception("削除失敗 Zeus");
  98. }
  99. return delete_count;
  100. }
  101. }
  102. }