DbModelConstructors.cs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. using SinoChemCommonUtilities;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data.SqlClient;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace SinochemInternetPlusApp
  9. {
  10. public static class DbModelConstructors
  11. {
  12. public static Xiaofei2Model ConstructXiaofei2Model(SqlDataReader reader)
  13. {
  14. //var identifiableEntity = new IdentifiableEntity(0, "EpsMain", "", null);
  15. //DebugLogger debugLogger = new DebugLogger(identifiableEntity);
  16. if (reader.Read())
  17. {
  18. Xiaofei2Model xiaofei2Model = new Xiaofei2Model();
  19. xiaofei2Model.plate_number = DbFieldReader.SafelyReadDbField<string>(reader["plate_number"]);
  20. xiaofei2Model.jihao = DbFieldReader.SafelyReadDbField<int>(reader["jihao"]);
  21. xiaofei2Model.youpin = DbFieldReader.SafelyReadDbField <string>(reader["youpin"]);
  22. xiaofei2Model.qty = DbFieldReader.SafelyReadDbField<double>(reader["qty"]);
  23. xiaofei2Model.danjia = DbFieldReader.SafelyReadDbField<double>(reader["danjia"]);
  24. xiaofei2Model.amount = DbFieldReader.SafelyReadDbField<double>(reader["amount"]);
  25. xiaofei2Model.xf_date = DbFieldReader.SafelyReadDbField<DateTime>(reader["xf_date"]);
  26. xiaofei2Model.xf_time = DbFieldReader.SafelyReadDbField <string>(reader["xf_time"]);
  27. xiaofei2Model.liushuino = DbFieldReader.SafelyReadDbField <string>(reader["liushuino"]);
  28. xiaofei2Model.fzqty = DbFieldReader.SafelyReadDbField <string>(reader["fzqty"]);
  29. xiaofei2Model.fzamount = DbFieldReader.SafelyReadDbField<double>(reader["fzamount"]);
  30. return xiaofei2Model;
  31. }
  32. else
  33. {
  34. return null;
  35. }
  36. }
  37. public static JyInfoModel ConstructJyInfoModel(SqlDataReader reader)
  38. {
  39. if (reader.Read())
  40. {
  41. JyInfoModel jyInfoModel = new JyInfoModel();
  42. jyInfoModel.jihao = DbFieldReader.SafelyReadDbField<int>(reader["jihao"]);
  43. jyInfoModel.status = DbFieldReader.SafelyReadDbField<string>(reader["status"]);
  44. jyInfoModel.youpin = DbFieldReader.SafelyReadDbField<string>(reader["youpin"]);
  45. jyInfoModel.qty = DbFieldReader.SafelyReadDbField<double>(reader["qty"]);
  46. jyInfoModel.amount = DbFieldReader.SafelyReadDbField<double>(reader["amount"]);
  47. jyInfoModel.fzqty = DbFieldReader.SafelyReadDbField <string>(reader["fzqty"]);
  48. jyInfoModel.fzamount = DbFieldReader.SafelyReadDbField<double>(reader["fzamount"]);
  49. return jyInfoModel;
  50. }
  51. else
  52. {
  53. return null;
  54. }
  55. }
  56. public static List<EpsTransactionModel> ConstructEpsTrxModelList(SqlDataReader reader)
  57. {
  58. List<EpsTransactionModel> epsTrxModelList = new List<EpsTransactionModel>();
  59. while (reader.Read())
  60. {
  61. EpsTransactionModel epxTrxModel = FillEpsTrxModelWithReaderReady(reader);
  62. epsTrxModelList.Add(epxTrxModel);
  63. }
  64. return epsTrxModelList;
  65. }
  66. public static List<EpsTransaction> ConstructEpsTrxList(SqlDataReader reader)
  67. {
  68. List<EpsTransaction> epsTrxList = new List<EpsTransaction>();
  69. while (reader.Read())
  70. {
  71. EpsTransactionModel epxTrxModel = FillEpsTrxModelWithReaderReady(reader);
  72. epsTrxList.Add(EpsTransaction.RestroeEpsTrxFrom(epxTrxModel));
  73. }
  74. return epsTrxList;
  75. }
  76. // assume the reader on the valid table row
  77. private static EpsTransactionModel FillEpsTrxModelWithReaderReady(SqlDataReader reader)
  78. {
  79. #region for debugging purpose
  80. /*
  81. int vid = (int)reader["id"];
  82. int vjihao = (int)reader["jihao"];
  83. string vyoupin = (string)reader["youpin"];
  84. double vqty = (double)reader["qty"];
  85. double vdanjia = (double)reader["danjia"];
  86. double vamount = (double)reader["amount"];
  87. DateTime vxf_date = (DateTime)reader["xf_date"];
  88. string vxf_time = (string)reader["xf_time"];
  89. string vliushuino = (string)reader["liushuino"];
  90. string vfzqty = (string)reader["fzqty"];
  91. double vfzamount = (double)reader["fzamount"];
  92. EpsTrxStatus vtrx_status = (EpsTrxStatus)reader["trx_status"];
  93. TransactionMode vmop = (TransactionMode)reader["mop"];
  94. string vcar_number = (string)reader["car_number"];
  95. string vcard_no = (string)reader["card_no"];
  96. string vttc = (string)reader["ttc"];
  97. string vtoken = (string)reader["token"];
  98. string vtid = (string)reader["tid"];
  99. string vmac = (string)reader["mac"];
  100. double vbalance_before_trx = (double)reader["balance_before_trx"];
  101. double vreal_pay_amount = (double)reader["real_pay_amount"];
  102. string vauth_time = (string)reader["auth_time"];
  103. string vbill_id = (string)reader["bill_id"];
  104. DateTime v_created_time = (DateTime)reader["created_time"];
  105. string v_shift_id = (string)reader["shift_id"];
  106. string v_business_date = (string)reader["business_date"];
  107. NotifyPosFlag v_notify_pos = (NotifyPosFlag)reader["notify_pos"];
  108. string vcardNo_masked = (string)reader["cardNo_masked"];
  109. */
  110. #endregion
  111. EpsTransactionModel epxTrxModel = new EpsTransactionModel
  112. {
  113. id = DbFieldReader.SafelyReadDbField<int>(reader["id"]),
  114. jihao = DbFieldReader.SafelyReadDbField<int>(reader["jihao"]),
  115. youpin = DbFieldReader.SafelyReadDbField<string>(reader["youpin"]),
  116. qty = DbFieldReader.SafelyReadDbField<double>(reader["qty"]),
  117. danjia = DbFieldReader.SafelyReadDbField<double>(reader["danjia"]),
  118. amount = DbFieldReader.SafelyReadDbField<double>(reader["amount"]),
  119. xf_date = DbFieldReader.SafelyReadDbField<DateTime>(reader["xf_date"]),
  120. xf_time = DbFieldReader.SafelyReadDbField<string>(reader["xf_time"]),
  121. liushuino = DbFieldReader.SafelyReadDbField<string>(reader["liushuino"]),
  122. fzqty = DbFieldReader.SafelyReadDbField<string>(reader["fzqty"]),
  123. fzamount = DbFieldReader.SafelyReadDbField<double>(reader["fzamount"]),
  124. trx_status = (EpsTrxStatus)DbFieldReader.SafelyReadDbField<int>(reader["trx_status"]),
  125. payMethod = DbFieldReader.SafelyReadDbField<string>(reader["payMethod"]),
  126. mop = (EpsTransactionMode)DbFieldReader.SafelyReadDbField<int>(reader["mop"]),
  127. car_number = DbFieldReader.SafelyReadDbField<string>(reader["car_number"]),
  128. card_no = DbFieldReader.SafelyReadDbField<string>(reader["card_no"]),
  129. cardType = (CardType)DbFieldReader.SafelyReadDbField<int>(reader["cardType"]),
  130. ttc = DbFieldReader.SafelyReadDbField<string>(reader["ttc"]),
  131. token = DbFieldReader.SafelyReadDbField<string>(reader["token"]),
  132. tid = DbFieldReader.SafelyReadDbField<string>(reader["tid"]),
  133. mac = DbFieldReader.SafelyReadDbField<string>(reader["mac"]),
  134. balance_before_trx = DbFieldReader.SafelyReadDbField<double>(reader["balance_before_trx"]),
  135. real_pay_amount = DbFieldReader.SafelyReadDbField<double>(reader["real_pay_amount"]),
  136. auth_time = DbFieldReader.SafelyReadDbField<string>(reader["auth_time"]),
  137. bill_id = DbFieldReader.SafelyReadDbField<string>(reader["bill_id"]),
  138. created_time = DbFieldReader.SafelyReadDbField<DateTime>(reader["created_time"]),
  139. shift_id = DbFieldReader.SafelyReadDbField<string>(reader["shift_id"]),
  140. business_date = DbFieldReader.SafelyReadDbField<string>(reader["business_date"]),
  141. notify_pos = (NotifyPosFlag)DbFieldReader.SafelyReadDbField<int>(reader["notify_pos"]),
  142. cardNo_masked = DbFieldReader.SafelyReadDbField<string>(reader["cardNo_masked"]),
  143. nozzleSelected = DbFieldReader.SafelyReadDbField<int>(reader["nozzleSelected"]),
  144. openId = DbFieldReader.SafelyReadDbField<string>(reader["openId"]),
  145. };
  146. return epxTrxModel;
  147. }
  148. }
  149. }