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.

120 line
4.6KB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using MySql.Data.MySqlClient;
  5. namespace CSVDownloader.Store.CreditCSVData {
  6. class CreditCSVDataDaito : CreditCSVData {
  7. public String parking_name = "";
  8. public String developer = "";
  9. public String adjust_type = "";
  10. public String fee_type = "";
  11. public DateTime reception_datetime = DateTime.Now;
  12. public int amount = 0;
  13. public String reception_no = "";
  14. public String response_no = "";
  15. public String error_code1 = "";
  16. public String error_code2 = "";
  17. public enum ColName {
  18. SpotID = 100,
  19. ParkingName = 0,
  20. Developer,
  21. AdjustType,
  22. FeeType,
  23. ReceptionDatetime = 6,
  24. Amount,
  25. ReceiptNo,
  26. ReceptionNo,
  27. ResponseNo,
  28. ErrorCode1,
  29. ErrorCode2,
  30. UpdDate,
  31. UpdStaff,
  32. RegDate,
  33. RegStaff
  34. };
  35. }
  36. class DaitoCreitDataStore : CreditCSVDataStore {
  37. private static readonly String table_name_ = "creditcard_download_data_daito";
  38. private String delete_sql_ = $"delete from {table_name_} where " +
  39. $"{CreditCSVDataDaito.ColName.ReceptionDatetime.ToString()} between " +
  40. $"@From{CreditCSVDataDaito.ColName.ReceptionDatetime.ToString()} and " +
  41. $"@To{CreditCSVDataDaito.ColName.ReceptionDatetime.ToString()};";
  42. public DaitoCreitDataStore(MySqlConnection conn) : base(conn) {
  43. }
  44. public override void Save(List<CreditCSVData> list) {
  45. Code.ResultCode ret;
  46. var table = new DataTable();
  47. table.Columns.Add($"{CreditCSVDataDaito.ColName.SpotID}");
  48. table.Columns.Add($"{CreditCSVDataDaito.ColName.ParkingName}");
  49. table.Columns.Add($"{CreditCSVDataDaito.ColName.Developer}");
  50. table.Columns.Add($"{CreditCSVDataDaito.ColName.AdjustType}");
  51. table.Columns.Add($"{CreditCSVDataDaito.ColName.FeeType}");
  52. table.Columns.Add($"{CreditCSVDataDaito.ColName.ReceptionDatetime}");
  53. table.Columns.Add($"{CreditCSVDataDaito.ColName.Amount}");
  54. table.Columns.Add($"{CreditCSVDataDaito.ColName.ReceptionNo}");
  55. table.Columns.Add($"{CreditCSVDataDaito.ColName.ResponseNo}");
  56. table.Columns.Add($"{CreditCSVDataDaito.ColName.ErrorCode1}");
  57. table.Columns.Add($"{CreditCSVDataDaito.ColName.ErrorCode2}");
  58. table.Columns.Add($"{CreditCSVDataDaito.ColName.UpdStaff}");
  59. table.Columns.Add($"{CreditCSVDataDaito.ColName.RegStaff}");
  60. foreach (CreditCSVDataDaito data in list) {
  61. var row = table.NewRow();
  62. row[$"{CreditCSVDataDaito.ColName.SpotID}"] = data.spot_id;
  63. row[$"{CreditCSVDataDaito.ColName.ParkingName}"] = data.parking_name;
  64. row[$"{CreditCSVDataDaito.ColName.Developer}"] = data.developer;
  65. row[$"{CreditCSVDataDaito.ColName.AdjustType}"] = data.adjust_type;
  66. row[$"{CreditCSVDataDaito.ColName.FeeType}"] = data.fee_type;
  67. row[$"{CreditCSVDataDaito.ColName.ReceptionDatetime}"] = data.reception_datetime;
  68. row[$"{CreditCSVDataDaito.ColName.Amount}"] = data.amount;
  69. row[$"{CreditCSVDataDaito.ColName.ReceptionNo}"] = data.reception_no;
  70. row[$"{CreditCSVDataDaito.ColName.ResponseNo}"] = data.response_no;
  71. row[$"{CreditCSVDataDaito.ColName.ErrorCode1}"] = data.error_code1;
  72. row[$"{CreditCSVDataDaito.ColName.ErrorCode2}"] = data.error_code2;
  73. row[$"{CreditCSVDataDaito.ColName.UpdStaff}"] = data.upd_staff;
  74. row[$"{CreditCSVDataDaito.ColName.RegStaff}"] = data.reg_staff;
  75. table.Rows.Add(row);
  76. }
  77. ret = BulkInsertData(table_name_, table);
  78. if (ret != Code.ResultCode.OK) {
  79. throw new Exception("登録失敗 Daito");
  80. }
  81. }
  82. public override int Delete(DateTime from, DateTime to) {
  83. var bindlist = new List<(String, object)> {
  84. ("From"+CreditCSVDataDaito.ColName.ReceptionDatetime.ToString(), from.ToString("yyyy-MM-dd")),
  85. ("To"+CreditCSVDataDaito.ColName.ReceptionDatetime.ToString(), to.AddDays(1).ToString("yyyy-MM-dd"))
  86. };
  87. var delete_count = DeleteData(delete_sql_, bindlist);
  88. if (delete_count == -1) {
  89. throw new Exception("削除失敗 大都");
  90. }
  91. return delete_count;
  92. }
  93. }
  94. }