public async Task <int> GenerateStatement(StatementRequest request) { int response = -1; var oralConnect = new OracleConnection(_protector.Unprotect(_appSettings.FlexConnection)); using (oralConnect) { string query = $@"SELECT {_appSettings.FlexSchema}.FN_STATEMENT_ENQ(:userId, :accountNumber, :startDate, :endDate) RETURN_VALUE FROM DUAL"; var r = await oralConnect.ExecuteScalarAsync <int>(query, new { request.userId, request.accountNumber, request.startDate, request.endDate }); response = r; } return(response); }
public async Task <List <StatementResponseDTO> > FilterStatement(StatementRequest request) { List <StatementResponseDTO> response = new List <StatementResponseDTO>(); var oralConnect = new OracleConnection(_protector.Unprotect(_appSettings.FlexConnection)); using (oralConnect) { string query = $@"SELECT A.RUN_USERID, A.ACCT_NO, A.TXN_DAT, A.VAL_DT, A.TXN_BRN, A.COD_USER_ID, A.TXN_DESC, A.REF_NO, A.DR_AMT, A.CR_AMT, A.RUNNING_BAL, A.DAT_POST, A.TRANSACTION_REFERENCE, A.TRAN_MNEMONIC, A.TRANS_SEQNO, A.RUNDATE,B.STARTDATE, B.ENDDATE, B.TOTALDR, B.TOTALCR, B.DRCOUNT, B.CRCOUNT, B.CURRENCY, B.CUSTOMERNAME, B.OPENINGBALANCE, B.CLOSINGBALANCE, B.ADDRESS, E.BRANCH_CODE, E.ACCOUNT_CLASS, E.AC_STAT_NO_DR, E.AC_STAT_NO_CR, E.AC_STAT_BLOCK, E.AC_STAT_STOP_PAY, E.AC_STAT_DORMANT, E.AC_STAT_FROZEN, E.AC_STAT_DE_POST, E.ACY_AVL_BAL FROM {_appSettings.FlexSchema}.TBL_STATEMENT_SUMMARY B INNER JOIN {_appSettings.FlexSchema}.TBL_STATEMENT_DETAILS A ON B.ACCOUNTNO = A.ACCT_NO AND A.RUN_USERID = B.RUN_USERID INNER JOIN {_appSettings.FlexSchema}.STTM_CUST_ACCOUNT E ON E.CUST_AC_NO = B.ACCOUNTNO WHERE B.RUN_USERID = :userId AND B.ACCOUNTNO = :accountNumber ORDER BY TRANS_SEQNO"; var r = await oralConnect.QueryAsync <StatementResponseDTO>(query, new { request.userId, request.accountNumber }); response = r.ToList(); } return(response); }