Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

118 linhas
4.0KB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Data;
  5. using MySql.Data.MySqlClient;
  6. namespace CSVDownloader.Store {
  7. class ParkingCreditCardAgenciesSpotIDError {
  8. public string creditcard_agencies_id = "";
  9. public string creditcard_agencies_spot_name = "";
  10. public DateTime upd_date = DateTime.Now;
  11. public string upd_staff = "auto_tool";
  12. public DateTime reg_date = DateTime.Now;
  13. public string reg_staff = "auto_tool";
  14. public enum ColName {
  15. CreditcardAgenciesID,
  16. CreditcardAgenciesSpotName,
  17. UpdDate,
  18. UpdStaff,
  19. RegDate,
  20. RegStaff
  21. };
  22. }
  23. class ParkingCreditCardAgenciesSpotIDErrorDAO : MySQL {
  24. private static readonly string table_name_ = "parking_creditcard_agencies_spotid_error";
  25. public ParkingCreditCardAgenciesSpotIDErrorDAO(MySqlConnection conn) : base(conn) {
  26. }
  27. public void Save(List<ParkingCreditCardAgenciesSpotIDError> list) {
  28. Code.ResultCode ret;
  29. var table = new DataTable();
  30. table.Columns.Add(ParkingCreditCardAgenciesSpotIDError.ColName.CreditcardAgenciesID.ToString());
  31. table.Columns.Add(ParkingCreditCardAgenciesSpotIDError.ColName.CreditcardAgenciesSpotName.ToString());
  32. table.Columns.Add(ParkingCreditCardAgenciesSpotIDError.ColName.UpdStaff.ToString());
  33. table.Columns.Add(ParkingCreditCardAgenciesSpotIDError.ColName.RegStaff.ToString());
  34. foreach (ParkingCreditCardAgenciesSpotIDError data in list) {
  35. var row = table.NewRow();
  36. row[ParkingCreditCardAgenciesSpotIDError.ColName.CreditcardAgenciesID.ToString()] = data.creditcard_agencies_id;
  37. row[ParkingCreditCardAgenciesSpotIDError.ColName.CreditcardAgenciesSpotName.ToString()] = data.creditcard_agencies_spot_name;
  38. row[ParkingCreditCardAgenciesSpotIDError.ColName.UpdStaff.ToString()] = data.upd_staff;
  39. row[ParkingCreditCardAgenciesSpotIDError.ColName.RegStaff.ToString()] = data.reg_staff;
  40. table.Rows.Add(row);
  41. }
  42. ret = BulkInsertData(table_name_, table);
  43. if (ret != Code.ResultCode.OK) {
  44. throw new Exception("登録失敗 紐づけエラー");
  45. }
  46. }
  47. public bool Exists(Code.CreditAgent agent, String spot_name) {
  48. string code = Code.CreditAgenciesMap.GetID(agent);
  49. var tbl = new DataTable();
  50. string replace_id = "@id";
  51. string replace_spot_name = "@spot_name";
  52. string sql = $"select count(*) from {table_name_} " +
  53. $"where CreditcardAgenciesID = {replace_id} ;" +
  54. $"CreditcardAgenciesSpotName = {replace_spot_name};";
  55. using (var adpt = new MySqlDataAdapter(sql, conn_)) {
  56. adpt.SelectCommand.Parameters.AddWithValue(replace_id, code);
  57. adpt.SelectCommand.Parameters.AddWithValue(replace_spot_name, spot_name);
  58. adpt.SelectCommand.Prepare();
  59. adpt.Fill(tbl);
  60. }
  61. return 0 < int.Parse(tbl.Rows[0][0].ToString());
  62. }
  63. public int DeleteAll() {
  64. var bind_list = new List<(string, object)>();
  65. string sql = $"delete from {table_name_} ";
  66. return DeleteData(sql, bind_list);
  67. }
  68. public int Delete(Code.CreditAgent agent, String spot_name) {
  69. string code = Code.CreditAgenciesMap.GetID(agent);
  70. var bind_list = new List<(string, object)>();
  71. string replace_id = "@id";
  72. string replace_spot_name = "@spot_name";
  73. string sql = $"delete from {table_name_} " +
  74. $"where CreditcardAgenciesID = {replace_id} ;" +
  75. $"CreditcardAgenciesSpotName = {replace_spot_name};";
  76. bind_list.Add((replace_id, code));
  77. bind_list.Add((replace_spot_name, spot_name));
  78. return DeleteData(sql, bind_list);
  79. }
  80. }
  81. }