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.

159 lines
6.4KB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using MySql.Data.MySqlClient;
  5. namespace CSVDownloader.Store.CreditCSVData {
  6. class CreditCSVDataZeus : CreditCSVData {
  7. public DateTime use_datetime = DateTime.Now;
  8. public String ip = "";
  9. public String device_no = "";
  10. public String receipt_no = "";
  11. public String certificate_no = "";
  12. public String status = "";
  13. public String error_message = "";
  14. public int amount = 0;
  15. public String card_no = "";
  16. public String expiration_date = "";
  17. public String brand = "";
  18. public String payment_type = "";
  19. public String jis_info = "";
  20. public String test = "";
  21. public String order_no = "";
  22. public enum ColName {
  23. SpotID = 100,
  24. UseDatetime = 0,
  25. IP,
  26. DeviceNo,
  27. ReceiptNo,
  28. CertificateNo,
  29. Status,
  30. ErrorMessage,
  31. Amount,
  32. CardNo,
  33. ExpirationDate,
  34. Brand,
  35. PaymentType,
  36. JISInfo,
  37. Test,
  38. OrderNo,
  39. UpdDate,
  40. UpdStaff,
  41. RegDate,
  42. RegStaff
  43. };
  44. }
  45. class ZeusCreditDataStore : CreditCSVDataStore {
  46. private static readonly String table_name_ = "creditcard_download_data_zeus";
  47. private static readonly String insert_sql = $"insert into {table_name_} (" +
  48. $"{CreditCSVDataZeus.ColName.SpotID}," +
  49. $"{CreditCSVDataZeus.ColName.UseDatetime}," +
  50. $"{CreditCSVDataZeus.ColName.IP}," +
  51. $"{CreditCSVDataZeus.ColName.DeviceNo}," +
  52. $"{CreditCSVDataZeus.ColName.ReceiptNo}," +
  53. $"{CreditCSVDataZeus.ColName.CertificateNo}," +
  54. $"{CreditCSVDataZeus.ColName.Status}," +
  55. $"{CreditCSVDataZeus.ColName.ErrorMessage}," +
  56. $"{CreditCSVDataZeus.ColName.Amount}," +
  57. $"{CreditCSVDataZeus.ColName.CardNo}," +
  58. $"{CreditCSVDataZeus.ColName.ExpirationDate}," +
  59. $"{CreditCSVDataZeus.ColName.Brand}," +
  60. $"{CreditCSVDataZeus.ColName.PaymentType}," +
  61. $"{CreditCSVDataZeus.ColName.JISInfo}," +
  62. $"{CreditCSVDataZeus.ColName.Test}," +
  63. $"{CreditCSVDataZeus.ColName.OrderNo}," +
  64. //$"{CSVDataZeus.ColName.UpdDate}," +
  65. $"{CreditCSVDataZeus.ColName.UpdStaff}," +
  66. //$"{CSVDataZeus.ColName.RegDate.ToString()}," +
  67. $"{CreditCSVDataZeus.ColName.RegStaff}" +
  68. $" ) values (" +
  69. $"@{CreditCSVDataZeus.ColName.SpotID}," +
  70. $"@{CreditCSVDataZeus.ColName.UseDatetime}," +
  71. $"@{CreditCSVDataZeus.ColName.IP}," +
  72. $"@{CreditCSVDataZeus.ColName.DeviceNo}," +
  73. $"@{CreditCSVDataZeus.ColName.ReceiptNo}," +
  74. $"@{CreditCSVDataZeus.ColName.CertificateNo}," +
  75. $"@{CreditCSVDataZeus.ColName.Status}," +
  76. $"@{CreditCSVDataZeus.ColName.ErrorMessage}," +
  77. $"@{CreditCSVDataZeus.ColName.Amount}," +
  78. $"@{CreditCSVDataZeus.ColName.CardNo}," +
  79. $"@{CreditCSVDataZeus.ColName.ExpirationDate}," +
  80. $"@{CreditCSVDataZeus.ColName.Brand}," +
  81. $"@{CreditCSVDataZeus.ColName.PaymentType}," +
  82. $"@{CreditCSVDataZeus.ColName.JISInfo}," +
  83. $"@{CreditCSVDataZeus.ColName.Test}," +
  84. $"@{CreditCSVDataZeus.ColName.OrderNo}," +
  85. //$"{CSVDataZeus.ColName.UpdDate}," +
  86. $"@{CreditCSVDataZeus.ColName.UpdStaff}," +
  87. //$"{CSVDataZeus.ColName.RegDate}," +
  88. $"@{CreditCSVDataZeus.ColName.RegStaff}" +
  89. $");";
  90. private String delete_sql_ = $"delete from {table_name_} where " +
  91. $"{CreditCSVDataZeus.ColName.UseDatetime} between " +
  92. $"@From{CreditCSVDataZeus.ColName.UseDatetime} and " +
  93. $"@To{CreditCSVDataZeus.ColName.UseDatetime};";
  94. public ZeusCreditDataStore(MySqlConnection conn) : base(conn) {
  95. }
  96. public override void Save(CreditCSVData obj) {
  97. var data = (CreditCSVDataZeus)obj;
  98. var bindlist = new List<(String, object)> {
  99. (CreditCSVDataZeus.ColName.SpotID.ToString(), data.spot_id),
  100. (CreditCSVDataZeus.ColName.UseDatetime.ToString(), data.use_datetime.ToString()),
  101. (CreditCSVDataZeus.ColName.IP.ToString(), data.ip),
  102. (CreditCSVDataZeus.ColName.DeviceNo.ToString(), data.device_no),
  103. (CreditCSVDataZeus.ColName.ReceiptNo.ToString(), data.receipt_no),
  104. (CreditCSVDataZeus.ColName.CertificateNo.ToString(), data.certificate_no),
  105. (CreditCSVDataZeus.ColName.Status.ToString(), data.status),
  106. (CreditCSVDataZeus.ColName.ErrorMessage.ToString(), data.error_message),
  107. (CreditCSVDataZeus.ColName.Amount.ToString(), data.amount),
  108. (CreditCSVDataZeus.ColName.CardNo.ToString(), data.card_no),
  109. (CreditCSVDataZeus.ColName.ExpirationDate.ToString(), data.expiration_date),
  110. (CreditCSVDataZeus.ColName.Brand.ToString(), data.brand),
  111. (CreditCSVDataZeus.ColName.PaymentType.ToString(), data.payment_type),
  112. (CreditCSVDataZeus.ColName.JISInfo.ToString(), data.jis_info),
  113. (CreditCSVDataZeus.ColName.Test.ToString(), data.test),
  114. (CreditCSVDataZeus.ColName.OrderNo.ToString(), data.order_no),
  115. (CreditCSVDataZeus.ColName.UpdStaff.ToString(), data.upd_staff),
  116. (CreditCSVDataZeus.ColName.RegStaff.ToString(), data.reg_staff)
  117. };
  118. var ret = InsertData(insert_sql, bindlist);
  119. if (ret != Code.ResultCode.OK) {
  120. throw new Exception("登録失敗 Zeus");
  121. }
  122. }
  123. public override int Delete(DateTime from, DateTime to) {
  124. var bindlist = new List<(String, object)> {
  125. ("From"+CreditCSVDataZeus.ColName.UseDatetime.ToString(), from.ToString("yyyy-MM-dd")),
  126. ("To"+CreditCSVDataZeus.ColName.UseDatetime.ToString(), to.AddDays(1).ToString("yyyy-MM-dd"))
  127. };
  128. var delete_count = DeleteData(delete_sql_, bindlist);
  129. if (delete_count == -1) {
  130. throw new Exception("削除失敗 Zeus");
  131. }
  132. return delete_count;
  133. }
  134. }
  135. }