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.

117 lines
4.4KB

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