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.

128 lines
4.9KB

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