DataAccess.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. using Oracle.ManagedDataAccess.Client;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Text;
  6. namespace ConvertLog.common
  7. {
  8. public class DataAccess
  9. {
  10. public DataAccess()
  11. {
  12. }
  13. public static DataSet importGetFile(string type)
  14. {
  15. string str;
  16. str = "";
  17. str = "BALANCE_PKG.IMPORT_GET_FILE";
  18. OracleParameter[] parms;
  19. parms = new OracleParameter[]
  20. {
  21. new OracleParameter("v_type", OracleDbType.NVarchar2),
  22. new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
  23. };
  24. parms[0].Value = type;
  25. return getDataFromProcedure(str, "", parms);
  26. }
  27. public static DataSet importFinishFile(string v_uload_id, string v_uload_detail_id, string v_total_row, string v_total_row_false)
  28. {
  29. string str;
  30. str = "";
  31. str = "BALANCE_PKG.IMPORT_FINSH_FILE";
  32. OracleParameter[] parms;
  33. parms = new OracleParameter[]
  34. {
  35. new OracleParameter("v_uload_id", OracleDbType.NVarchar2),
  36. new OracleParameter("v_uload_detail_id", OracleDbType.NVarchar2),
  37. new OracleParameter("v_total_row", OracleDbType.NVarchar2),
  38. new OracleParameter("v_total_row_false", OracleDbType.NVarchar2),
  39. new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
  40. };
  41. parms[0].Value = v_uload_id;
  42. parms[1].Value = v_uload_detail_id;
  43. parms[2].Value = v_total_row;
  44. parms[3].Value = v_total_row_false;
  45. return getDataFromProcedure(str, "", parms);
  46. }
  47. public static DataSet importFinishAllFile(string v_uload_id)
  48. {
  49. string str;
  50. str = "";
  51. str = "BALANCE_PKG.IMPORT_FINSH_ALL_FILE";
  52. OracleParameter[] parms;
  53. parms = new OracleParameter[]
  54. {
  55. new OracleParameter("v_uload_id", OracleDbType.NVarchar2),
  56. new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
  57. };
  58. parms[0].Value = v_uload_id;
  59. return getDataFromProcedure(str, "", parms);
  60. }
  61. public static void upload_data(string sSQL, List<List<string>> dataColumn)
  62. {
  63. OracleConnection connection = null;
  64. try
  65. {
  66. connection = getPoolingConnection();
  67. connection.Open();
  68. OracleTransaction transaction;
  69. // Start a local transaction
  70. transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
  71. using (var command = connection.CreateCommand())
  72. {
  73. command.CommandText = sSQL;
  74. command.CommandType = CommandType.StoredProcedure;
  75. command.ArrayBindCount = dataColumn[0].Count;
  76. command.Transaction = transaction;
  77. var v_upload_id = dataColumn[0].ToArray();
  78. OracleParameter param0 = new OracleParameter("v_upload_id", OracleDbType.NVarchar2, ParameterDirection.Input);
  79. param0.Value = v_upload_id;
  80. param0.Size = v_upload_id.Length;
  81. command.Parameters.Add(param0);
  82. var v_upload_detail_id = dataColumn[1].ToArray();
  83. OracleParameter param1 = new OracleParameter("v_upload_detail_id", OracleDbType.NVarchar2, ParameterDirection.Input);
  84. param1.Value = v_upload_detail_id;
  85. param1.Size = v_upload_detail_id.Length;
  86. command.Parameters.Add(param1);
  87. var v_type = dataColumn[2].ToArray();
  88. OracleParameter param2 = new OracleParameter("v_type", OracleDbType.NVarchar2, ParameterDirection.Input);
  89. param2.Value = v_type;
  90. param2.Size = v_type.Length;
  91. command.Parameters.Add(param2);
  92. var v_ticket = dataColumn[3].ToArray();
  93. OracleParameter param3 = new OracleParameter("v_ticket", OracleDbType.NVarchar2, ParameterDirection.Input);
  94. param3.Value = v_ticket;
  95. param3.Size = v_ticket.Length;
  96. command.Parameters.Add(param3);
  97. command.ExecuteNonQuery();
  98. transaction.Commit();
  99. }
  100. }
  101. catch (OracleException ex)
  102. {
  103. Console.WriteLine(ex.ToString());
  104. throw;
  105. }
  106. finally
  107. {
  108. connection.Close();
  109. }
  110. }
  111. public static DataSet termIn(string V_TERM_ID, string V_NAME, string V_DISPLAY
  112. , string V_START_DATE, string V_END_DATE, string V_DRAW_DATE, string V_NOTE,
  113. string V_TOTAL_MONEY_DRAW_ON, string V_TOTAL_MONEY_DRAW_PREVIOUS_ON,
  114. string V_TOTAL_MONEY_DRAW_OFF, string V_TOTAL_MONEY_DRAW_PREVIOUS_OFF,
  115. string typeDraw, string limitJackport, string curentRevenue, string curentRevenueWin,
  116. string curentJackport, string remainJackport, string curentOther, string remainOther,
  117. string irdTerm
  118. )
  119. {
  120. string str;
  121. str = "";
  122. str = "LUCKY_PKG.TERM_INSERT";
  123. OracleParameter[] parms;
  124. parms = new OracleParameter[]
  125. {
  126. new OracleParameter("V_TERM_ID", OracleDbType.NVarchar2),
  127. new OracleParameter("V_NAME", OracleDbType.NVarchar2),
  128. new OracleParameter("V_DISPLAY", OracleDbType.NVarchar2),
  129. new OracleParameter("V_START_DATE", OracleDbType.NVarchar2),
  130. new OracleParameter("V_END_DATE", OracleDbType.NVarchar2),
  131. new OracleParameter("V_DRAW_DATE", OracleDbType.NVarchar2),
  132. new OracleParameter("V_NOTE", OracleDbType.NVarchar2),
  133. new OracleParameter("V_TOTAL_MONEY_DRAW_ON", OracleDbType.NVarchar2),
  134. new OracleParameter("V_TOTAL_MONEY_DRAW_PRE_ON", OracleDbType.NVarchar2),
  135. new OracleParameter("V_TOTAL_MONEY_DRAW_OFF", OracleDbType.NVarchar2),
  136. new OracleParameter("V_TOTAL_MONEY_DRAW_PRE_OFF", OracleDbType.NVarchar2),
  137. new OracleParameter("V_typeDraw", OracleDbType.NVarchar2),
  138. new OracleParameter("V_limitJackport", OracleDbType.NVarchar2),
  139. new OracleParameter("V_curentRevenue", OracleDbType.NVarchar2),
  140. new OracleParameter("V_curentRevenueWin", OracleDbType.NVarchar2),
  141. new OracleParameter("V_curentJackport", OracleDbType.NVarchar2),
  142. new OracleParameter("V_remainJackport", OracleDbType.NVarchar2),
  143. new OracleParameter("V_curentOther", OracleDbType.NVarchar2),
  144. new OracleParameter("V_remainOther", OracleDbType.NVarchar2),
  145. new OracleParameter("V_irdTerm", OracleDbType.NVarchar2),
  146. new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
  147. };
  148. parms[0].Value = V_TERM_ID;
  149. parms[1].Value = V_NAME;
  150. parms[2].Value = V_DISPLAY;
  151. parms[3].Value = V_START_DATE;
  152. parms[4].Value = V_END_DATE;
  153. parms[5].Value = V_DRAW_DATE;
  154. parms[6].Value = V_NOTE;
  155. parms[7].Value = V_TOTAL_MONEY_DRAW_ON;
  156. parms[8].Value = V_TOTAL_MONEY_DRAW_PREVIOUS_ON;
  157. parms[9].Value = V_TOTAL_MONEY_DRAW_OFF;
  158. parms[10].Value = V_TOTAL_MONEY_DRAW_PREVIOUS_OFF;
  159. parms[11].Value = typeDraw;
  160. parms[12].Value = limitJackport;
  161. parms[13].Value = curentRevenue;
  162. parms[14].Value = curentRevenueWin;
  163. parms[15].Value = curentJackport;
  164. parms[16].Value = remainJackport;
  165. parms[17].Value = curentOther;
  166. parms[18].Value = remainOther;
  167. parms[19].Value = irdTerm;
  168. return getDataFromProcedure(str, "", parms);
  169. }
  170. public static DataSet get_data_sub(string v_ap_id, string v_total_row)
  171. {
  172. string str;
  173. str = "";
  174. str = "SYN_SUB_PKG.get_data";
  175. OracleParameter[] parms;
  176. parms = new OracleParameter[]
  177. {
  178. new OracleParameter("v_ap_id", OracleDbType.NVarchar2),
  179. new OracleParameter("v_total_row", OracleDbType.NVarchar2),
  180. new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
  181. };
  182. parms[0].Value = v_ap_id;
  183. parms[1].Value = v_total_row;
  184. return DataAccess.getDataFromProcedure(str, "", parms);
  185. }
  186. public static DataSet update_sub(string v_id, string v_errCode, string v_errMsg)
  187. {
  188. string str;
  189. str = "";
  190. str = "SYN_SUB_PKG.syn_update";
  191. OracleParameter[] parms;
  192. parms = new OracleParameter[]
  193. {
  194. new OracleParameter("v_id", OracleDbType.NVarchar2),
  195. new OracleParameter("v_errCode", OracleDbType.NVarchar2),
  196. new OracleParameter("v_errMsg", OracleDbType.NVarchar2),
  197. new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
  198. };
  199. parms[0].Value = v_id;
  200. parms[1].Value = v_errCode;
  201. parms[2].Value = v_errMsg;
  202. return DataAccess.getDataFromProcedure(str, "", parms);
  203. }
  204. public static DataSet getDataFromProcedure(string sSQL, string sTableName, params OracleParameter[] cmdParms)
  205. {
  206. DataSet ds = new DataSet();
  207. OracleConnection dbConnection = getPoolingConnection();
  208. OracleDataAdapter dataAdapter;
  209. dataAdapter = new OracleDataAdapter();
  210. try
  211. {
  212. dataAdapter.SelectCommand = new OracleCommand(sSQL, dbConnection);
  213. dataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
  214. for (int i = 0; i < cmdParms.Length; i++)
  215. dataAdapter.SelectCommand.Parameters.Add(cmdParms[i]);
  216. if (sTableName != "")
  217. {
  218. dataAdapter.Fill(ds, sTableName);
  219. }
  220. else
  221. dataAdapter.Fill(ds);
  222. }
  223. catch (OracleException loadException)
  224. {
  225. throw loadException;
  226. }
  227. catch (Exception unException)
  228. {
  229. throw unException;
  230. }
  231. finally
  232. {
  233. dbConnection.Close();
  234. }
  235. return ds;
  236. }
  237. public static OracleConnection getPoolingConnection()
  238. {
  239. //string conn = ConfigurationSettings.AppSettings["Connection"];
  240. string conn =ConfigData.GetValuesAppSetting("app", "DbConnection"); ;
  241. OracleConnection dbConn = new OracleConnection(conn);
  242. return dbConn;
  243. }
  244. }
  245. }