systemDataAccess.cs 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using Oracle.ManagedDataAccess.Client;
  6. using System.Data;
  7. namespace ResfullApi.Models
  8. {
  9. public class systemDataAccess
  10. {
  11. public systemDataAccess()
  12. {
  13. }
  14. public static DataSet SYS_GET_SERVICE_BY_ID(string v_SV_ID)
  15. {
  16. string str;
  17. str = "";
  18. str = "api_pkg.SYS_GET_SERVICE_BY_ID";
  19. OracleParameter[] parms;
  20. parms = new OracleParameter[]
  21. {
  22. new OracleParameter("v_sv_id", OracleDbType.NVarchar2),
  23. new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
  24. };
  25. parms[0].Value = v_SV_ID;
  26. return DataAccess.getDataFromProcedure(str, "", parms);
  27. }
  28. public static DataSet SYS_PUSH_USSD_DETAIL_GET_LIST(
  29. string v_users, string v_campaignId, string v_serviceId, string v_msisdn, string v_sendStatus, string v_isSuccess,
  30. string v_fromDate, string v_toDate, string v_order, string v_rowsOnPage, string v_seqPage)
  31. {
  32. DataSet ds = new DataSet();
  33. OracleConnection dbConnection = DataAccess.getPoolingConnection();
  34. try
  35. {
  36. dbConnection.Open();
  37. int rowsOnPage = int.TryParse(v_rowsOnPage, out int r) ? r : 50;
  38. int seqPage = int.TryParse(v_seqPage, out int s) ? s : 1;
  39. string baseSql = @"SELECT PUD.ID, PUD.REQUEST_ID, PUD.CAMPAIGN_ID, CAMP.NAME AS CAMPAIGN_NAME, PUD.SERVICE_ID, PUD.MSISDN,
  40. PUD.SEND_TIME, PUD.SEND_STATUS, PUD.TOTAL_STEP, PUD.IS_STEP_1, PUD.STEP_1_TIME,
  41. PUD.IS_STEP_2, PUD.STEP_2_TIME, PUD.ERROR_CODE, PUD.IS_SUCCESS, PUD.INSERT_TIME, PUD.LAST_UPDATE,PUD.MSG_CONTENT
  42. FROM PUSH_USSD_DETAIL PUD
  43. LEFT JOIN B_CAMPAIGN CAMP ON PUD.CAMPAIGN_ID = CAMP.ID
  44. WHERE 1=1
  45. AND (PUD.CAMPAIGN_ID IS NULL OR PUD.CAMPAIGN_ID < 2000000 OR PUD.CAMPAIGN_ID > 2999999)";
  46. string where = "";
  47. if (!string.IsNullOrEmpty(v_campaignId) && v_campaignId != "-1")
  48. {
  49. where += " AND PUD.CAMPAIGN_ID = :v_campaignId";
  50. }
  51. if (!string.IsNullOrEmpty(v_serviceId) && v_serviceId != "-1")
  52. {
  53. where += " AND PUD.SERVICE_ID = :v_serviceId";
  54. }
  55. if (!string.IsNullOrEmpty(v_msisdn) && v_msisdn != "-1")
  56. {
  57. where += " AND PUD.MSISDN = :v_msisdn";
  58. }
  59. if (!string.IsNullOrEmpty(v_sendStatus) && v_sendStatus != "-1")
  60. {
  61. where += " AND PUD.SEND_STATUS = :v_sendStatus";
  62. }
  63. if (!string.IsNullOrEmpty(v_isSuccess) && v_isSuccess != "-1")
  64. {
  65. where += " AND PUD.IS_SUCCESS = :v_isSuccess";
  66. }
  67. if (!string.IsNullOrEmpty(v_fromDate) && v_fromDate != "-1")
  68. {
  69. where += " AND TRUNC(PUD.SEND_TIME) >= TRUNC(TO_DATE(:v_fromDate, 'DD/MM/YYYY'))";
  70. }
  71. if (!string.IsNullOrEmpty(v_toDate) && v_toDate != "-1")
  72. {
  73. where += " AND TRUNC(PUD.SEND_TIME) <= TRUNC(TO_DATE(:v_toDate, 'DD/MM/YYYY'))";
  74. }
  75. string orderBy = " ORDER BY PUD.SEND_TIME " + (v_order == "asc" ? "ASC" : "DESC") + ", PUD.ID " + (v_order == "asc" ? "ASC" : "DESC");
  76. string countSql = "SELECT COUNT(*) FROM (" + baseSql + where + ")";
  77. OracleCommand countCmd = new OracleCommand(countSql, dbConnection);
  78. if (!string.IsNullOrEmpty(v_campaignId) && v_campaignId != "-1") countCmd.Parameters.Add(":v_campaignId", OracleDbType.NVarchar2).Value = v_campaignId;
  79. if (!string.IsNullOrEmpty(v_serviceId) && v_serviceId != "-1") countCmd.Parameters.Add(":v_serviceId", OracleDbType.NVarchar2).Value = v_serviceId;
  80. if (!string.IsNullOrEmpty(v_msisdn) && v_msisdn != "-1") countCmd.Parameters.Add(":v_msisdn", OracleDbType.NVarchar2).Value = v_msisdn;
  81. if (!string.IsNullOrEmpty(v_sendStatus) && v_sendStatus != "-1") countCmd.Parameters.Add(":v_sendStatus", OracleDbType.NVarchar2).Value = v_sendStatus;
  82. if (!string.IsNullOrEmpty(v_isSuccess) && v_isSuccess != "-1") countCmd.Parameters.Add(":v_isSuccess", OracleDbType.NVarchar2).Value = v_isSuccess;
  83. if (!string.IsNullOrEmpty(v_fromDate) && v_fromDate != "-1") countCmd.Parameters.Add(":v_fromDate", OracleDbType.NVarchar2).Value = v_fromDate;
  84. if (!string.IsNullOrEmpty(v_toDate) && v_toDate != "-1") countCmd.Parameters.Add(":v_toDate", OracleDbType.NVarchar2).Value = v_toDate;
  85. int totalRows = Convert.ToInt32(countCmd.ExecuteScalar());
  86. int minRow = (seqPage - 1) * rowsOnPage;
  87. string dataSql = string.Format(@"SELECT * FROM (
  88. SELECT A.*, ROWNUM rnum FROM ({0}{1}{2}) A WHERE ROWNUM <= {3}
  89. ) WHERE rnum > {4}", baseSql, where, orderBy, minRow + rowsOnPage, minRow);
  90. OracleCommand dataCmd = new OracleCommand(dataSql, dbConnection);
  91. if (!string.IsNullOrEmpty(v_campaignId) && v_campaignId != "-1") dataCmd.Parameters.Add(":v_campaignId", OracleDbType.NVarchar2).Value = v_campaignId;
  92. if (!string.IsNullOrEmpty(v_serviceId) && v_serviceId != "-1") dataCmd.Parameters.Add(":v_serviceId", OracleDbType.NVarchar2).Value = v_serviceId;
  93. if (!string.IsNullOrEmpty(v_msisdn) && v_msisdn != "-1") dataCmd.Parameters.Add(":v_msisdn", OracleDbType.NVarchar2).Value = v_msisdn;
  94. if (!string.IsNullOrEmpty(v_sendStatus) && v_sendStatus != "-1") dataCmd.Parameters.Add(":v_sendStatus", OracleDbType.NVarchar2).Value = v_sendStatus;
  95. if (!string.IsNullOrEmpty(v_isSuccess) && v_isSuccess != "-1") dataCmd.Parameters.Add(":v_isSuccess", OracleDbType.NVarchar2).Value = v_isSuccess;
  96. if (!string.IsNullOrEmpty(v_fromDate) && v_fromDate != "-1") dataCmd.Parameters.Add(":v_fromDate", OracleDbType.NVarchar2).Value = v_fromDate;
  97. if (!string.IsNullOrEmpty(v_toDate) && v_toDate != "-1") dataCmd.Parameters.Add(":v_toDate", OracleDbType.NVarchar2).Value = v_toDate;
  98. OracleDataAdapter da = new OracleDataAdapter(dataCmd);
  99. da.Fill(ds);
  100. // Append page info
  101. DataTable meta = new DataTable("META");
  102. meta.Columns.Add("TOTAL_PAGE");
  103. meta.Columns.Add("ROW_ON_PAGE");
  104. meta.Columns.Add("SEQ_PAGE");
  105. var rowMeta = meta.NewRow();
  106. rowMeta["TOTAL_PAGE"] = Math.Ceiling((double)totalRows / rowsOnPage).ToString();
  107. rowMeta["ROW_ON_PAGE"] = rowsOnPage.ToString();
  108. rowMeta["SEQ_PAGE"] = seqPage.ToString();
  109. meta.Rows.Add(rowMeta);
  110. ds.Tables.Add(meta);
  111. }
  112. catch (Exception ex)
  113. {
  114. throw ex;
  115. }
  116. finally
  117. {
  118. dbConnection.Close();
  119. }
  120. return ds;
  121. }
  122. public static DataSet SYS_UPDATE_LOG_CHARGE(string msisdn, string sv_id, string money, string cmd_code, string cmd_msg, string err_code, string err_msg, string isRenew)
  123. {
  124. string str;
  125. str = "";
  126. str = "api_pkg.SYS_UPDATE_LOG_CHARGE";
  127. OracleParameter[] parms;
  128. parms = new OracleParameter[]
  129. {
  130. new OracleParameter("v_msisdn", OracleDbType.NVarchar2),
  131. new OracleParameter("v_sv_id", OracleDbType.NVarchar2),
  132. new OracleParameter("v_money", OracleDbType.NVarchar2),
  133. new OracleParameter("v_cmd_code", OracleDbType.NVarchar2),
  134. new OracleParameter("v_cmd_msg", OracleDbType.NVarchar2),
  135. new OracleParameter("v_err_code", OracleDbType.NVarchar2),
  136. new OracleParameter("v_err_msg", OracleDbType.NVarchar2),
  137. new OracleParameter("v_isrenew", OracleDbType.NVarchar2),
  138. new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
  139. };
  140. parms[0].Value = msisdn;
  141. parms[2].Value = sv_id;
  142. parms[3].Value = money;
  143. parms[4].Value = cmd_code;
  144. parms[5].Value = cmd_msg;
  145. parms[6].Value = err_code;
  146. parms[7].Value = err_msg;
  147. parms[8].Value = isRenew;
  148. return DataAccess.getDataFromProcedure(str, "", parms);
  149. }
  150. public static DataSet SYS_REPORT_COUNT_DAILY_GET_LIST(string v_users, string v_id, string v_reportDate, string v_campaignId, string v_serviceId, string v_fromDate, string v_toDate, string v_order, string v_rowsOnPage, string v_seqPage)
  151. {
  152. DataSet ds = new DataSet();
  153. OracleConnection dbConnection = DataAccess.getPoolingConnection();
  154. try
  155. {
  156. dbConnection.Open();
  157. // Parse pagination parameters
  158. int rowsOnPage = int.TryParse(v_rowsOnPage, out int r) ? r : 10;
  159. int seqPage = int.TryParse(v_seqPage, out int s) ? s : 1;
  160. // Build base query for counting total records
  161. string countSql = @"SELECT COUNT(*) FROM REPORT_COUNT_DAILY rcd
  162. LEFT JOIN B_CAMPAIGN c ON rcd.CAMPAIGN_ID = c.ID
  163. LEFT JOIN B_CAMPAIGN_ADD ca ON c.ID = ca.CAMPAIGN_ID AND rcd.SERVICE_ID = ca.SERVICE_ADD_ID AND ca.IS_DELETE = 0
  164. LEFT JOIN B_SERVICE s ON (ca.SERVICE_ADD_ID = s.ID OR (ca.SERVICE_ADD_ID IS NULL AND rcd.SERVICE_ID = s.ID))
  165. WHERE 1=1
  166. AND (rcd.CAMPAIGN_ID IS NULL OR rcd.CAMPAIGN_ID < 2000000 OR rcd.CAMPAIGN_ID > 2999999)";
  167. string dataSql = @"SELECT rcd.ID, rcd.REPORT_DATE, rcd.CAMPAIGN_ID, c.NAME AS CAMPAIGN_NAME,
  168. c.PRIORITY, c.IS_DEFAULT, c.IS_MYSERVICE, c.ADD_TYPE,
  169. rcd.SERVICE_ID, s.NAME AS SERVICE_NAME,
  170. rcd.COUNT_SEND_1, rcd.COUNT_SUCCESS_1, rcd.COUNT_FAIL_1, rcd.COUNT_PRESS_1,
  171. rcd.COUNT_SEND_2, rcd.COUNT_PRESS_2,
  172. rcd.COUNT_REG_SUCCESS, rcd.COUNT_REG_FAIL, rcd.INSERT_TIME
  173. FROM REPORT_COUNT_DAILY rcd
  174. LEFT JOIN B_CAMPAIGN c ON rcd.CAMPAIGN_ID = c.ID
  175. LEFT JOIN B_CAMPAIGN_ADD ca ON c.ID = ca.CAMPAIGN_ID AND rcd.SERVICE_ID = ca.SERVICE_ADD_ID AND ca.IS_DELETE = 0
  176. LEFT JOIN B_SERVICE s ON (ca.SERVICE_ADD_ID = s.ID OR (ca.SERVICE_ADD_ID IS NULL AND rcd.SERVICE_ID = s.ID))
  177. WHERE 1=1
  178. AND (rcd.CAMPAIGN_ID IS NULL OR rcd.CAMPAIGN_ID < 2000000 OR rcd.CAMPAIGN_ID > 2999999)";
  179. // Add filters
  180. if (v_id != null && v_id != "-1")
  181. {
  182. countSql += " AND rcd.ID = :v_id";
  183. dataSql += " AND rcd.ID = :v_id";
  184. }
  185. if (v_reportDate != null && v_reportDate != "-1")
  186. {
  187. countSql += " AND TRUNC(rcd.REPORT_DATE) = TRUNC(TO_DATE(:v_reportDate, 'DD/MM/YYYY'))";
  188. dataSql += " AND TRUNC(rcd.REPORT_DATE) = TRUNC(TO_DATE(:v_reportDate, 'DD/MM/YYYY'))";
  189. }
  190. if (v_campaignId != null && v_campaignId != "-1")
  191. {
  192. countSql += " AND rcd.CAMPAIGN_ID = :v_campaignId";
  193. dataSql += " AND rcd.CAMPAIGN_ID = :v_campaignId";
  194. }
  195. if (v_serviceId != null && v_serviceId != "-1")
  196. {
  197. countSql += " AND rcd.SERVICE_ID = :v_serviceId";
  198. dataSql += " AND rcd.SERVICE_ID = :v_serviceId";
  199. }
  200. if (v_fromDate != null && v_fromDate != "-1")
  201. {
  202. countSql += " AND TRUNC(rcd.REPORT_DATE) >= TRUNC(TO_DATE(:v_fromDate, 'DD/MM/YYYY'))";
  203. dataSql += " AND TRUNC(rcd.REPORT_DATE) >= TRUNC(TO_DATE(:v_fromDate, 'DD/MM/YYYY'))";
  204. }
  205. if (v_toDate != null && v_toDate != "-1")
  206. {
  207. countSql += " AND TRUNC(rcd.REPORT_DATE) <= TRUNC(TO_DATE(:v_toDate, 'DD/MM/YYYY'))";
  208. dataSql += " AND TRUNC(rcd.REPORT_DATE) <= TRUNC(TO_DATE(:v_toDate, 'DD/MM/YYYY'))";
  209. }
  210. // Add ordering
  211. dataSql += " ORDER BY rcd.REPORT_DATE " + (v_order == "desc" ? "DESC" : "ASC") + ", rcd.ID " + (v_order == "desc" ? "DESC" : "ASC");
  212. // Calculate pagination
  213. OracleCommand countCmd = new OracleCommand(countSql, dbConnection);
  214. countCmd.CommandType = CommandType.Text;
  215. if (v_id != null && v_id != "-1")
  216. {
  217. countCmd.Parameters.Add(":v_id", OracleDbType.NVarchar2).Value = v_id;
  218. }
  219. if (v_reportDate != null && v_reportDate != "-1")
  220. {
  221. countCmd.Parameters.Add(":v_reportDate", OracleDbType.NVarchar2).Value = v_reportDate;
  222. }
  223. if (v_campaignId != null && v_campaignId != "-1")
  224. {
  225. countCmd.Parameters.Add(":v_campaignId", OracleDbType.NVarchar2).Value = v_campaignId;
  226. }
  227. if (v_serviceId != null && v_serviceId != "-1")
  228. {
  229. countCmd.Parameters.Add(":v_serviceId", OracleDbType.NVarchar2).Value = v_serviceId;
  230. }
  231. if (v_fromDate != null && v_fromDate != "-1")
  232. {
  233. countCmd.Parameters.Add(":v_fromDate", OracleDbType.NVarchar2).Value = v_fromDate;
  234. }
  235. if (v_toDate != null && v_toDate != "-1")
  236. {
  237. countCmd.Parameters.Add(":v_toDate", OracleDbType.NVarchar2).Value = v_toDate;
  238. }
  239. int totalRows = Convert.ToInt32(countCmd.ExecuteScalar());
  240. int totalPage = (int)Math.Ceiling((double)totalRows / rowsOnPage);
  241. // Get paginated data
  242. int minRow = (seqPage - 1) * rowsOnPage;
  243. dataSql = string.Format(@"SELECT * FROM (
  244. SELECT A.*, ROWNUM rnum FROM ({0}) A WHERE ROWNUM <= {1}
  245. ) WHERE rnum > {2}", dataSql, minRow + rowsOnPage, minRow);
  246. OracleCommand dataCmd = new OracleCommand(dataSql, dbConnection);
  247. dataCmd.CommandType = CommandType.Text;
  248. if (v_id != null && v_id != "-1")
  249. {
  250. dataCmd.Parameters.Add(":v_id", OracleDbType.NVarchar2).Value = v_id;
  251. }
  252. if (v_reportDate != null && v_reportDate != "-1")
  253. {
  254. dataCmd.Parameters.Add(":v_reportDate", OracleDbType.NVarchar2).Value = v_reportDate;
  255. }
  256. if (v_campaignId != null && v_campaignId != "-1")
  257. {
  258. dataCmd.Parameters.Add(":v_campaignId", OracleDbType.NVarchar2).Value = v_campaignId;
  259. }
  260. if (v_serviceId != null && v_serviceId != "-1")
  261. {
  262. dataCmd.Parameters.Add(":v_serviceId", OracleDbType.NVarchar2).Value = v_serviceId;
  263. }
  264. if (v_fromDate != null && v_fromDate != "-1")
  265. {
  266. dataCmd.Parameters.Add(":v_fromDate", OracleDbType.NVarchar2).Value = v_fromDate;
  267. }
  268. if (v_toDate != null && v_toDate != "-1")
  269. {
  270. dataCmd.Parameters.Add(":v_toDate", OracleDbType.NVarchar2).Value = v_toDate;
  271. }
  272. OracleDataAdapter dataAdapter = new OracleDataAdapter(dataCmd);
  273. dataAdapter.Fill(ds);
  274. // Add pagination metadata to each row
  275. if (ds.Tables.Count > 0)
  276. {
  277. if (ds.Tables[0].Columns.Contains("ROW_ON_PAGE"))
  278. {
  279. ds.Tables[0].Columns.Remove("ROW_ON_PAGE");
  280. }
  281. if (ds.Tables[0].Columns.Contains("SEQ_PAGE"))
  282. {
  283. ds.Tables[0].Columns.Remove("SEQ_PAGE");
  284. }
  285. if (ds.Tables[0].Columns.Contains("TOTAL_PAGE"))
  286. {
  287. ds.Tables[0].Columns.Remove("TOTAL_PAGE");
  288. }
  289. ds.Tables[0].Columns.Add("ROW_ON_PAGE", typeof(string));
  290. ds.Tables[0].Columns.Add("SEQ_PAGE", typeof(string));
  291. ds.Tables[0].Columns.Add("TOTAL_PAGE", typeof(string));
  292. ds.Tables[0].Columns.Add("STATUS", typeof(string));
  293. ds.Tables[0].Columns.Add("MSG", typeof(string));
  294. foreach (DataRow row in ds.Tables[0].Rows)
  295. {
  296. row["ROW_ON_PAGE"] = rowsOnPage.ToString();
  297. row["SEQ_PAGE"] = seqPage.ToString();
  298. row["TOTAL_PAGE"] = totalPage.ToString();
  299. row["STATUS"] = "0";
  300. row["MSG"] = "Success";
  301. }
  302. }
  303. }
  304. catch (OracleException ex)
  305. {
  306. throw ex;
  307. }
  308. catch (Exception ex)
  309. {
  310. throw ex;
  311. }
  312. finally
  313. {
  314. dbConnection.Close();
  315. }
  316. return ds;
  317. }
  318. public static DataSet SYS_REPORT_ERROR_DAILY_GET_LIST(string v_users, string v_reportDate, string v_campaignId, string v_serviceId)
  319. {
  320. DataSet ds = new DataSet();
  321. OracleConnection dbConnection = DataAccess.getPoolingConnection();
  322. try
  323. {
  324. dbConnection.Open();
  325. string dataSql = @"SELECT ID, REPORT_DATE, CAMPAIGN_ID, SERVICE_ID, ERROR_CODE, COUNT_NUM, INSERT_TIME
  326. FROM REPORT_ERROR_DAILY
  327. WHERE 1=1";
  328. // Add filters based on foreign keys
  329. if (v_reportDate != null && v_reportDate != "-1" && !string.IsNullOrEmpty(v_reportDate))
  330. {
  331. dataSql += " AND TRUNC(REPORT_DATE) = TRUNC(TO_DATE(:v_reportDate, 'DD/MM/YYYY'))";
  332. }
  333. if (v_campaignId != null && v_campaignId != "-1" && !string.IsNullOrEmpty(v_campaignId))
  334. {
  335. dataSql += " AND CAMPAIGN_ID = :v_campaignId";
  336. }
  337. if (v_serviceId != null && v_serviceId != "-1" && !string.IsNullOrEmpty(v_serviceId))
  338. {
  339. dataSql += " AND SERVICE_ID = :v_serviceId";
  340. }
  341. // Order by error code
  342. dataSql += " ORDER BY ERROR_CODE, ID";
  343. OracleCommand dataCmd = new OracleCommand(dataSql, dbConnection);
  344. dataCmd.CommandType = CommandType.Text;
  345. if (v_reportDate != null && v_reportDate != "-1" && !string.IsNullOrEmpty(v_reportDate))
  346. {
  347. dataCmd.Parameters.Add(":v_reportDate", OracleDbType.NVarchar2).Value = v_reportDate;
  348. }
  349. if (v_campaignId != null && v_campaignId != "-1" && !string.IsNullOrEmpty(v_campaignId))
  350. {
  351. dataCmd.Parameters.Add(":v_campaignId", OracleDbType.NVarchar2).Value = v_campaignId;
  352. }
  353. if (v_serviceId != null && v_serviceId != "-1" && !string.IsNullOrEmpty(v_serviceId))
  354. {
  355. dataCmd.Parameters.Add(":v_serviceId", OracleDbType.NVarchar2).Value = v_serviceId;
  356. }
  357. OracleDataAdapter dataAdapter = new OracleDataAdapter(dataCmd);
  358. dataAdapter.Fill(ds);
  359. // Add status columns
  360. if (ds.Tables.Count > 0)
  361. {
  362. ds.Tables[0].Columns.Add("STATUS", typeof(string));
  363. ds.Tables[0].Columns.Add("MSG", typeof(string));
  364. foreach (DataRow row in ds.Tables[0].Rows)
  365. {
  366. row["STATUS"] = "0";
  367. row["MSG"] = "Success";
  368. }
  369. }
  370. }
  371. catch (OracleException ex)
  372. {
  373. throw ex;
  374. }
  375. catch (Exception ex)
  376. {
  377. throw ex;
  378. }
  379. finally
  380. {
  381. dbConnection.Close();
  382. }
  383. return ds;
  384. }
  385. }
  386. }