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.

69 lines
3.1 KiB

1 year ago
  1. using Common;
  2. using Common.Model.BalanceTransfer;
  3. using log4net;
  4. namespace Repository.BalanceTransfer
  5. {
  6. public class BalanceTransferRepository: IBalanceTransferRepository
  7. {
  8. private readonly Dao _dao = new Dao();
  9. private static readonly ILog Log = LogManager.GetLogger(typeof(BalanceTransferRepository));
  10. public JsonRxResponse InitBalanceTransfer(InitBalanceTransfer initBalanceTransfer)
  11. {
  12. JsonRxResponse jsonRx = new JsonRxResponse();
  13. var sql = "EXEC MOBILE_PROC_BALANCE_TRANSFER @flag='REQ' ";
  14. sql += ", @USER_ID = " + _dao.FilterString(initBalanceTransfer.userId);
  15. sql += ", @AMOUNT = " + _dao.FilterString(initBalanceTransfer.amount);
  16. Log.DebugFormat("InitBalanceTransfer | SQL:{0}", sql);
  17. var res = _dao.ParseDbResult(sql);
  18. jsonRx.SetResponse(res.ResponseCode, res.Msg, res.Id);
  19. return jsonRx;
  20. }
  21. public JsonRxResponse ConfirmBalanceTransfer(ConfirmBalanceTransfer confirmBalanceTransfer)
  22. {
  23. JsonRxResponse jsonRx = new JsonRxResponse();
  24. var sql = "EXEC MOBILE_PROC_BALANCE_TRANSFER @flag='CONFIRM' ";
  25. sql += ", @USER_ID = " + _dao.FilterString(confirmBalanceTransfer.userId);
  26. sql += ", @AMOUNT = " + _dao.FilterString(confirmBalanceTransfer.requestAmount);
  27. sql += ", @REQ_USER_ID = " + _dao.FilterString(confirmBalanceTransfer.requestUserId);
  28. sql += ", @REQUEST_ID = " + _dao.FilterString(confirmBalanceTransfer.requestId);
  29. Log.DebugFormat("ConfirmBalanceTransfer | SQL:{0}", sql);
  30. var res = _dao.ExecuteDataRow(sql);
  31. jsonRx.SetResponse(res["ErrorCode"].ToString(), res["Msg"].ToString(), res["Id"].ToString());
  32. if (jsonRx.ErrorCode == "0")
  33. {
  34. jsonRx.Data = new {
  35. reqAmount = res["ErrorCode"].ToString(),
  36. reqUserName = res["reqUserName"].ToString(),
  37. reqUserId = res["reqUserId"].ToString(),
  38. referenceID = jsonRx.Id
  39. };
  40. }
  41. return jsonRx;
  42. }
  43. public JsonRxResponse PerformBalanceTransfer(PerformBalanceTransfer performBalanceTransfer)
  44. {
  45. JsonRxResponse jsonRx = new JsonRxResponse();
  46. var sql = "EXEC MOBILE_PROC_BALANCE_TRANSFER @flag='PERFORM' ";
  47. sql += ", @USER_ID = " + _dao.FilterString(performBalanceTransfer.userId);
  48. sql += ", @AMOUNT = " + _dao.FilterString(performBalanceTransfer.confirmedAmount);
  49. sql += ", @REQ_USER_ID = " + _dao.FilterString(performBalanceTransfer.reqUserID);
  50. sql += ", @REFERENCE_ID = " + _dao.FilterString(performBalanceTransfer.referenceID);
  51. sql += ", @TXN_PIN = " + _dao.FilterString(performBalanceTransfer.txnPin);
  52. Log.DebugFormat("PerformBalanceTransfer | SQL:{0}", sql);
  53. var res = _dao.ExecuteDataRow(sql);
  54. jsonRx.SetResponse(res["ErrorCode"].ToString(), res["Msg"].ToString(), res["Id"].ToString());
  55. return jsonRx;
  56. }
  57. }
  58. }