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.

109 line
4.3KB

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