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.

139 lines
5.9KB

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