public bool Approve_Equity_CIS(Invest_Equity_CISRepo Equity_CISRepo) { var app = new AppSettings(); // get the pending record Equity_CISRepo.GetINVESTMENTRECORDList(Invest_No); TransactionOptions tsOp = new TransactionOptions(); tsOp.IsolationLevel = System.Transactions.IsolationLevel.Snapshot; TransactionScope ts = new TransactionScope(TransactionScopeOption.RequiresNew, tsOp); tsOp.Timeout = TimeSpan.FromMinutes(20); using (OracleConnection conn = new OracleConnection(app.conString())) // { try { // update Invest_Equity table DynamicParameters param_E = new DynamicParameters(); param_E.Add(name: "P_INVEST_NO", value: Invest_No, dbType: DbType.String, direction: ParameterDirection.Input); param_E.Add(name: "P_INVEST_STATUS", value: "ACTIVE", dbType: DbType.String, direction: ParameterDirection.Input); param_E.Add(name: "P_AUTH_STATUS", value: "AUTHORIZED", dbType: DbType.String, direction: ParameterDirection.Input); param_E.Add(name: "P_AUTH_ID", value: GlobalValue.User_ID, dbType: DbType.String, direction: ParameterDirection.Input); param_E.Add(name: "P_AUTH_DATE", value: GlobalValue.Scheme_Today_Date, dbType: DbType.DateTime, direction: ParameterDirection.Input); conn.Execute("APP_INVEST_EQUITY_CIS", param_E, commandType: CommandType.StoredProcedure); //Update Invest_Equity_Balance table DynamicParameters param_B = new DynamicParameters(); param_B.Add(name: "P_SCHEME_FUND_ID", value: Scheme_Fund_Id, dbType: DbType.String, direction: ParameterDirection.Input); param_B.Add(name: "P_PRODUCT_ID", value: Product_Id, dbType: DbType.String, direction: ParameterDirection.Input); param_B.Add(name: "P_CURRENT_QUANTITY", value: Order_Quantity, dbType: DbType.Decimal, direction: ParameterDirection.Input); param_B.Add(name: "P_TOTAL_COST", value: Total_Cost, dbType: DbType.Decimal, direction: ParameterDirection.Input); param_B.Add(name: "P_UNIT_PRICE", value: Order_Unit_Price, dbType: DbType.Decimal, direction: ParameterDirection.Input); param_B.Add(name: "P_FUND_MANAGER_ID", value: Fund_Manager_Id, dbType: DbType.String, direction: ParameterDirection.Input); conn.Execute("MIX_INVEST_EQUITY_AFTER", param_B, commandType: CommandType.StoredProcedure); ts.Complete(); return(true); } catch (Exception ex) { string xx = ex.ToString(); throw; } finally { ts.Dispose(); if (this.conn.State == ConnectionState.Open) { conn.Close(); } } } }
public void sellSaveRecord(Invest_Equity_CISRepo EquityCISRepo) { try { //EquityCISRepo.Gain_Loss = EquityCISRepo.Total_Cost - EquityCISRepo.Current_Total_Cost; //Get Connection AppSettings app = new AppSettings(); conn = app.GetConnection(); DynamicParameters param = new DynamicParameters(); param.Add(name: "P_INVEST_NO", value: EquityCISRepo.Product_Id + EquityCISRepo.Scheme_Fund_Id + EquityCISRepo.Order_Date.ToString("ddMMyy"), dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_INVEST_DESCRIPTION", value: EquityCISRepo.Invest_Description, dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_SCHEME_FUND_ID", value: EquityCISRepo.Scheme_Fund_Id, dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_PRODUCT_ID", value: EquityCISRepo.Product_Id, dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_FUND_MANAGER_ID", value: EquityCISRepo.Fund_Manager_Id, dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_ISSUER_ID", value: EquityCISRepo.Issuer_Id, dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_ORDER_QUANTITY", value: EquityCISRepo.Order_Quantity, dbType: DbType.Decimal, direction: ParameterDirection.Input); param.Add(name: "P_ORDER_UNIT_PRICE", value: EquityCISRepo.Order_Unit_Price, dbType: DbType.Decimal, direction: ParameterDirection.Input); param.Add(name: "P_CONSIDERATION", value: EquityCISRepo.Consideration, dbType: DbType.Decimal, direction: ParameterDirection.Input); param.Add(name: "P_ORDER_DATE", value: EquityCISRepo.Order_Date, dbType: DbType.Date, direction: ParameterDirection.Input); param.Add(name: "P_INVEST_STATUS", value: "PENDING", dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_TRANS_TYPE", value: "SELL", dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_TOTAL_LEVIES", value: EquityCISRepo.Total_Levies, dbType: DbType.Decimal, direction: ParameterDirection.Input); param.Add(name: "P_TOTAL_COST", value: EquityCISRepo.Total_Cost, dbType: DbType.Decimal, direction: ParameterDirection.Input); param.Add(name: "P_AUTHORIZER", value: EquityCISRepo.User_Id, dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_MAKER_ID", value: GlobalValue.User_ID, dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_MAKE_DATE", value: GlobalValue.Scheme_Today_Date, dbType: DbType.DateTime, direction: ParameterDirection.Input); param.Add(name: "P_AUTH_STATUS", value: "PENDING", dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_GL_ACCOUNT_NO", value: EquityCISRepo.GL_Account_No, dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_EQUITY_CIS", value: EquityCISRepo.Class_Id, dbType: DbType.String, direction: ParameterDirection.Input); param.Add(name: "P_CAUC", value: EquityCISRepo.CURRENTAVERAGEUNITCOST, dbType: DbType.Decimal, direction: ParameterDirection.Input); param.Add(name: "P_CTC", value: EquityCISRepo.Current_Total_Cost, dbType: DbType.Decimal, direction: ParameterDirection.Input); // param.Add(name: "P_GL", value: 0, dbType: DbType.Decimal, direction: ParameterDirection.Input); conn.Execute("ADD_INVEST_EQUITY_CIS", param, commandType: CommandType.StoredProcedure); } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); if (conn != null) { conn = null; } } } }
//GET GL BALANCE FROM GL ACCOUNT TABLE public void Get_GL_Balance(Invest_Equity_CISRepo ECIDRepo) { try { //Get connection var con = new AppSettings(); var param = new DynamicParameters(); param.Add("P_GL_ACCOUNT_NO", ECIDRepo.GL_Account_No, DbType.String, ParameterDirection.Input); param.Add("VDATA", null, DbType.Decimal, ParameterDirection.Output); con.GetConnection().Execute("SEL_GL_BALANCE", param, commandType: CommandType.StoredProcedure); ECIDRepo.GL_Balance = param.Get <decimal>("VDATA"); } catch (Exception ex) { throw ex; } }
//check issuer id exist public void ck_issuer(Invest_Equity_CISRepo Equity_CISRepo) { try { //Get connection var con = new AppSettings(); var param = new DynamicParameters(); param.Add("P_ISSUERID", Equity_CISRepo.Issuer_Id, DbType.String, ParameterDirection.Input); param.Add("VDATA", null, DbType.Decimal, ParameterDirection.Output); con.GetConnection().Execute("CK_ISSUER", param, commandType: CommandType.StoredProcedure); Equity_CISRepo.CH_NUMBER = param.Get <Decimal>("VDATA"); } catch (Exception ex) { throw ex; } }
//GET CURRENT PRODUCT QUANTITY FROM EQUITY BALANCE TABLE TABLE public void Get_Product_Current_Quantity(Invest_Equity_CISRepo ECIDRepo) { try { //Get connection var con = new AppSettings(); var param = new DynamicParameters(); param.Add("P_SCHEME_FUND_ID", ECIDRepo.Scheme_Fund_Id, DbType.String, ParameterDirection.Input); param.Add("P_PRODUCT_ID", ECIDRepo.Product_Id, DbType.String, ParameterDirection.Input); param.Add("VDATA", null, DbType.Decimal, ParameterDirection.Output); con.GetConnection().Execute("SEL_CURRENT_PRODUCT_QUANTITY", param, commandType: CommandType.StoredProcedure); ECIDRepo.Current_Quantity = param.Get <decimal>("VDATA"); } catch (Exception ex) { throw ex; } }