/* * public string AddCashIn(CashIn _CashIn) * { * int result = 0; * _CashIn.TransDT = Convert.ToDateTime(System.DateTime.Now.ToString("dd/MM/yyyy")); * string split_result = string.Empty; * string MainAuthFlag = string.Empty; * AccMasterService _AccInfoService = new AccMasterService(); * AccMaster _AccInfo_Post = new AccMaster(); * AccMaster _AccInfo_Get = new AccMaster(); * * StatusWiseServiceService _StatusWiseServiceService = new StatusWiseServiceService(); * StatusWiseService _StatusWiseService= new StatusWiseService(); * int CheckStatusWiseService = 0; * * TransactionRulesService _TransactionRulesService = new TransactionRulesService(); * TransactionRules _TransactionRules = new TransactionRules(); * int CheckTransactionRules = 0; * * AccLimitSetupService _AccLimitSetupService = new AccLimitSetupService(); * AccLimitSetup _AccLimitSetup = new AccLimitSetup(); * string CheckAccLimit = string.Empty; * try * { #region Get SystemAccountNo by WalletAccountNo * _AccInfo_Post.FromSystemAccountNo = _CashIn.FromSystemAccountNo; * _AccInfo_Post.ToSystemAccountNo = _CashIn.ToSystemAccountNo; * _AccInfo_Post.FunctionId = _CashIn.FunctionId; * _AccInfo_Get = _AccInfoService.GetAccInfo(_AccInfo_Post); * if (_AccInfo_Get == null || _AccInfo_Get.FromSystemAccountNo == null || _AccInfo_Get.ToSystemAccountNo == null) * { * split_result = result + ":" + "Account No. not valid.."; * return split_result; * } #endregion * #region Check StatusWiseService * _StatusWiseService.ToSystemAccountNo = _AccInfo_Get.ToSystemAccountNo; * _StatusWiseService.DefineServiceId = _CashIn.DefineServiceId; * CheckStatusWiseService = _StatusWiseServiceService.CheckStatusWiseService(_StatusWiseService); * if (CheckStatusWiseService == 0) * { * split_result = result + ":" + "Account No. is not active for this transaction.."; * return split_result; * } #endregion * #region Check TransactionRules * _TransactionRules.FromSystemAccountNo = _AccInfo_Get.FromSystemAccountNo; * _TransactionRules.ToSystemAccountNo = _AccInfo_Get.ToSystemAccountNo; * _TransactionRules.DefineServiceId = _CashIn.DefineServiceId; * CheckTransactionRules = _TransactionRulesService.CheckTransactionRules(_TransactionRules); * if (CheckTransactionRules == 0) * { * split_result = result + ":" + "Transaction is not allowed.."; * return split_result; * } #endregion * #region Check Limit * _AccLimitSetup.FromSystemAccountNo = _AccInfo_Get.FromSystemAccountNo; * _AccLimitSetup.FromAccType = _AccInfo_Get.FromAccType; * _AccLimitSetup.ToSystemAccountNo = _AccInfo_Get.ToSystemAccountNo; * _AccLimitSetup.ToAccType = _AccInfo_Get.ToAccType; * _AccLimitSetup.DefineServiceId = _CashIn.DefineServiceId; * _AccLimitSetup.Amount = _CashIn.Amount; * _AccLimitSetup.TransDT = _CashIn.TransDT; * CheckAccLimit = _AccLimitSetupService.CheckAccLimit(_AccLimitSetup); * if (CheckAccLimit != "true") * { * split_result = result + ":" + CheckAccLimit; * return split_result; * } #endregion * * if (_AccInfo_Get.FromSystemAccountNo != null && _AccInfo_Get.ToSystemAccountNo != null && CheckStatusWiseService != 0 && CheckTransactionRules != 0 && CheckAccLimit == "true") * { * var _max = _IUoW.Repository<CashIn>().GetMaxValue(x => x.CashInId) + 1; * _CashIn.CashInId = _max.ToString().PadLeft(3, '0'); * _CashIn.AuthStatusId = "U"; * _CashIn.LastAction = "ADD"; * _CashIn.MakeDT = System.DateTime.Now; * _CashIn.MakeBy = "prova"; * _CashIn.FromSystemAccountNo = _AccInfo_Get.FromSystemAccountNo; * _CashIn.ToSystemAccountNo = _AccInfo_Get.ToSystemAccountNo; * result = _IUoW.Repository<CashIn>().Add(_CashIn); * #region Auth Log * if (result == 1) * { * string url = ConfigurationManager.AppSettings["LgurdaService_server"] + "/GetAuthPermissionByFunctionId/" + _CashIn.FunctionId + "/" + _CashIn.FunctionName + "?format=json"; * using (WebClient wc = new WebClient()) * { * TransactionRules OBJ_TransactionRules = new TransactionRules(); * var json = wc.DownloadString(url); * OBJ_TransactionRules = JsonConvert.DeserializeObject<TransactionRules>(json); * MainAuthFlag = OBJ_TransactionRules.GetAuthPermissionByFunctionIdResult; * } * if (MainAuthFlag == "1") * { * _IAuthLogService = new AuthLogService(); * long _outMaxSlAuthLogDtl = 0; * result = _IAuthLogService.AddAuthLog(_IUoW, null, _CashIn, "ADD", "0001", _CashIn.FunctionId, 1, "CashIn", "MTK_USER_TXN", "CashInId", _CashIn.CashInId, "prova", _outMaxSlAuthLogDtl, out _outMaxSlAuthLogDtl); * } * if (MainAuthFlag == "0") * { * _IAuthLogService = new AuthLogService(); * FTAuthLog _ObjAuthLog = new FTAuthLog(); * _ObjAuthLog.TableNm = "MTK_USER_TXN"; * _ObjAuthLog.AuthStatusId = "A"; * _ObjAuthLog.LastAction = "ADD"; * _ObjAuthLog.FunctionId = _CashIn.FunctionId; * _ObjAuthLog.TablePkColVal = _CashIn.CashInId; * result = _IAuthLogService.SetTableObject_FT<CashIn>(_IUoW, _ObjAuthLog, _CashIn); * } * } #endregion * * if (result == 1) * { * _IUoW.Commit(); * split_result = result + ":" + "Saved Successfully"; * } * else * { * split_result = result + ":" + "information hasn't been added"; * } * } * } * catch (Exception ex) * { * _ObjErrorLogService = new ErrorLogService(); * _ObjErrorLogService.AddErrorLog(ex, string.Empty, "AddCashIn(obj)", string.Empty); * split_result = result + ":" + ""; * } * return split_result; * } */ public async Task <string> AddCashIn(UserTransaction _UserTransaction) { string txn_id = string.Empty; int count = 0; int countTxnId = 0; await Task.Run(() => { //Parallel.For(0, _UserTransaction.NumberOfCashIn, i => //{ using (mTakaDbContext _dbContext = new mTakaDbContext()) { //using (_dbContext.Database.BeginTransaction(IsolationLevel.ReadCommitted)) //{ try { //_dbContext.Database.BeginTransaction(IsolationLevel.ReadCommitted); count++; var param = new OracleParameter("PWALLET_ACC_NO_F", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _UserTransaction.FromSystemAccountNo }; var param1 = new OracleParameter("PWALLET_ACC_NO_T", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _UserTransaction.ToSystemAccountNo }; var param2 = new OracleParameter("PDEFINE_SERVICE_ID", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _UserTransaction.DefineServiceId }; var param3 = new OracleParameter("PAMOUNT", OracleDbType.Decimal, ParameterDirection.Input) { Value = _UserTransaction.Amount }; var param4 = new OracleParameter("PFUNCTIONID", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _UserTransaction.FunctionId }; var param5 = new OracleParameter("PNARRATION", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _UserTransaction.Narration }; var param6 = new OracleParameter("PMAKE_BY", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _UserTransaction.MakeBy }; var param7 = new OracleParameter("PTXN_ID", OracleDbType.NVarchar2, ParameterDirection.Output) { Size = 100 }; var param8 = new OracleParameter("pSL", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = count }; //var newId = DbContext.Database.SqlQuery<int>("EXEC dbo.MyProc @MyID = {0}", parm).First() string commandText = "BEGIN MTK_TXN.CREATE_TRANS(:PWALLET_ACC_NO_F,:PWALLET_ACC_NO_T,:PDEFINE_SERVICE_ID,:PAMOUNT,:PFUNCTIONID,:PNARRATION,:PMAKE_BY,:PTXN_ID,:pSL); end;"; _dbContext.Database.SqlQuery <string>(commandText, param, param1, param2, param3, param4, param5, param6, param7, param8).ToListAsync(); //dbContextTransaction.Commit(); txn_id = param7.Value.ToString(); if (txn_id != null && txn_id != "") { countTxnId++; } } catch (Exception ex) { //dbContextTransaction.Rollback(); } //} //Log.Info("Thread Id is-->" + Thread.CurrentThread.ManagedThreadId); } //}); }); return(txn_id + " - " + count + " -- " + countTxnId); }
//#region Index //public List<FundOut> GetAllFundOut() //{ // try // { // List<FundOut> OBJ_LIST_FundOut = new List<FundOut>(); // foreach (var item in _IUoW.Repository<FundOut>().GetAll()) // { // FundOut OBJ_FundOut = new FundOut(); // BranchInfoService OBJ_BranchInfoService = new BranchInfoService(); // OBJ_FundOut.FundOutId = item.FundOutId; // OBJ_FundOut.ToAccountNo = item.ToAccountNo; // OBJ_FundOut.ToBranchId = item.ToBranchId; // foreach (var item1 in OBJ_BranchInfoService.GetBranchInfoForDD()) // { // if (item1.Value == OBJ_FundOut.ToBranchId) // { // OBJ_FundOut.ToBranchNm = item1.Text; // } // } // OBJ_FundOut.ToAccountBalance = item.ToAccountBalance; // OBJ_FundOut.Amount = item.Amount; // OBJ_FundOut.Narration = item.Narration; // OBJ_FundOut.FromAccountNo = item.FromAccountNo; // OBJ_FundOut.FromBranchId = item.FromBranchId; // foreach (var item1 in OBJ_BranchInfoService.GetBranchInfoForDD()) // { // if (item1.Value == OBJ_FundOut.FromBranchId) // { // OBJ_FundOut.FromBranchNm = item1.Text; // } // } // OBJ_FundOut.AuthStatusId = item.AuthStatusId; // OBJ_FundOut.LastAction = item.LastAction; // OBJ_FundOut.LastUpdateDT = item.LastUpdateDT; // OBJ_FundOut.MakeBy = item.MakeBy; // OBJ_FundOut.MakeDT = System.DateTime.Now; // OBJ_FundOut.TransDT = item.TransDT; // OBJ_LIST_FundOut.Add(OBJ_FundOut); // } // return OBJ_LIST_FundOut; // //var fundout = _IUoW.Repository<FundOut>().GetBy(x => x.AuthStatusId == "A" && // // x.LastAction != "DEL", n => new { n.FundOutId, n.ToAccountNo, n.ToBranchId, n.ToAccountBalance, n.Amount, n.Narration, n.FromAccountNo, n.FromBranchId }); // //var branch = _IUoW.Repository<BranchInfo>().GetBy(x => x.AuthStatusId == "A" && // // x.LastAction != "DEL", n => new { n.BranchId, n.BranchNm }); // //List<FundOut> OBJ_LIST_FundOut = fundout // // .Join(branch, f => f.ToBranchId, b => b.BranchId, (f, b) => new { f, b }) // // .Join(branch, f1 => f1.f.FromBranchId, b1 => b1.BranchId, (f1, b1) => new { f1, b1 }) // //.Select(m => new FundOut // //{ // // FundOutId = m.f1.f.FundOutId, // // ToAccountNo = m.f1.f.ToAccountNo, // // ToBranchId = m.f1.f.ToBranchId, // // ToBranchNm = m.f1.b.BranchNm, // // ToAccountBalance = m.f1.f.ToAccountBalance, // // Amount = m.f1.f.Amount, // // Narration = m.f1.f.Narration, // // FromAccountNo = m.f1.f.FromAccountNo, // // FromBranchId = m.f1.f.FromBranchId, // // FromBranchNm = m.b1.BranchNm // //}).ToList(); // //return OBJ_LIST_FundOut; // } // catch (Exception ex) // { // throw ex; // } //} //public FundOut GetFundOutById(string _FundOutId) //{ // try // { // return _IUoW.Repository<FundOut>().GetById(_FundOutId); // } // catch (Exception ex) // { // throw ex; // } //} //public FundOut GetFundOutBy(FundOut _FundOut) //{ // try // { // if (_FundOut == null) // { // return _FundOut; // } // return _IUoW.Repository<FundOut>().GetBy(x => x.FundOutId == _FundOut.FundOutId && // x.AuthStatusId == "A" && // x.LastAction != "DEL"); // } // catch (Exception ex) // { // throw ex; // } //} //#endregion #region Add public async Task <string> AddFundOut(FundOut _FundOut) { string txn_id = string.Empty; await Task.Run(() => { using (mTakaDbContext _dbContext = new mTakaDbContext()) { using (var dbContextTransaction = _dbContext.Database.BeginTransaction(IsolationLevel.ReadCommitted)) { try { var param = new OracleParameter("PWALLET_ACC_NO_F", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _FundOut.FromSystemAccountNo }; var param1 = new OracleParameter("PWALLET_ACC_NO_T", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _FundOut.ToSystemAccountNo }; var param2 = new OracleParameter("PDEFINE_SERVICE_ID", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _FundOut.DefineServiceId }; var param3 = new OracleParameter("PAMOUNT", OracleDbType.Decimal, ParameterDirection.Input) { Value = _FundOut.Amount }; var param4 = new OracleParameter("PFUNCTIONID", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _FundOut.FunctionId }; var param5 = new OracleParameter("PNARRATION", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _FundOut.Narration }; var param6 = new OracleParameter("PMAKE_BY", OracleDbType.NVarchar2, ParameterDirection.Input) { Value = _FundOut.MakeBy }; var param7 = new OracleParameter("PTXN_ID", OracleDbType.NVarchar2, ParameterDirection.Output) { Size = 100 }; string commandText = "BEGIN MTK_TXN.CREATE_TRANS(:PWALLET_ACC_NO_F,:PWALLET_ACC_NO_T,:PDEFINE_SERVICE_ID,:PAMOUNT,:PFUNCTIONID,:PNARRATION,:PMAKE_BY,:PTXN_ID); end;"; _dbContext.Database.SqlQuery <string>(commandText, param, param1, param2, param3, param4, param5, param6, param7).FirstAsync(); dbContextTransaction.Commit(); txn_id = param7.Value.ToString(); } catch (Exception ex) { dbContextTransaction.Rollback(); } } //Log.Info("Thread Id is-->" + Thread.CurrentThread.ManagedThreadId); } }); return(txn_id); }