public string InsertBidData(string tradingTypeId, string bidType, string assestId, string investedAmount, string exTime) { string result = ""; UserLoginBO objLoginBo = CheckUserActiveOrNotSession(); if (objLoginBo.Isactive == true) { result = "1"; } else { result = "-1"; } try { if (result == "1") { int ExTime; var massestId = new Guid(); if (Guid.TryParse(assestId, out massestId)) { // Parsed OK } var sec = exTime.Split(' '); if (sec[1].ToLower() == "seconds") { ExTime = Convert.ToInt32(sec[0]); } else { ExTime = Convert.ToInt32(sec[0]) * 60; } TradeBO objBO = new TradeBO(); UserLoginBO objUserLoginBO = new UserLoginBO(); objUserLoginBO = HttpContext.Current.Session["UserDetails"] as UserLoginBO; objBO.UserId = (Guid)objUserLoginBO.UserId; objBO.TradingTypeId = Convert.ToInt32(tradingTypeId); objBO.BidType = bidType; objBO.AssetId = massestId; objBO.InvestedAmount = Convert.ToDouble(investedAmount); // objBO.TargetPrice = Convert.ToDouble(targetPrice); string serverDateTime = DateTime.Now.ToString("M d yy HH:mm:ss"); DateTime Exptime = Convert.ToDateTime(serverDateTime).AddSeconds(Convert.ToDouble(ExTime)); //var TradeTime = serverDateTime.ToString("M/d/yy HH:mm:ss"); objBO.ExpiryTime = Exptime.ToString("HH:mm:ss"); result = new TradeBL().InsertBidData(objBO, serverDateTime); return(result); } else { return(result); } } catch (Exception ex) { throw ex; } }
public string InsertCustomGrid(string assetId) { string result = ""; try { UserLoginBO objUserLoginBO = new UserLoginBO(); TradeBO objBO = new TradeBO(); objUserLoginBO = HttpContext.Current.Session["UserDetails"] as UserLoginBO; objBO.UserId = (Guid)objUserLoginBO.UserId; if (assetId != "") { assetId = assetId.Remove(assetId.Length - 1, 1); } else { assetId = null; } result = new TradeBL().InsertCustomGrid(objBO, assetId); return(result); } catch (Exception ex) { throw ex; } }
public List <TradeBO> GetTradeHistoryData() { try { TradeBO objBO = new TradeBO(); List <TradeBO> objList = new List <TradeBO>(); UserLoginBO objUserLoginBO = new UserLoginBO(); objUserLoginBO = HttpContext.Current.Session["UserDetails"] as UserLoginBO; if (objUserLoginBO != null) { objBO.UserId = (Guid)objUserLoginBO.UserId; objList = new TradeBL().GetTradeHistoryData(objBO); return(objList); } else { objList = null; return(objList); } } catch (Exception ex) { throw ex; } }
/// <summary> /// GetGraphFeed /// </summary> /// <param name="assetId">assetId</param> /// <returns>data for graph</returns> public DataTable GetGraphFeed(TradeBO objBO) { DataTable objDataTable = new DataTable(); try { sqlConnection.Open(); sqlCommand = new SqlCommand(); sqlCommand.Connection = sqlConnection; sqlCommand.CommandText = "Sp_GetGraphNewFeed"; sqlCommand.CommandType = CommandType.StoredProcedure; sqlCommand.Parameters.AddWithValue("@AssetId", objBO.AssetId); sqlCommand.Parameters.AddWithValue("@TradingTypeID", objBO.TradingTypeId); sqlCommand.Parameters.AddWithValue("@GraphType", objBO.GraphType); sqlCommand.Parameters.AddWithValue("@GraphTime", DateTime.Now); sqlDataAdapter = new SqlDataAdapter(sqlCommand); sqlDataAdapter.Fill(objDataTable); } catch (Exception ex) { throw ex; } finally { sqlDataAdapter.Dispose(); sqlCommand.Dispose(); sqlConnection.Close(); sqlConnection.Dispose(); } return(objDataTable); }
public List <TradingType> CustomGridData() { try { List <TradingType> lstobj = new List <TradingType>(); UserLoginBO objUserLoginBO = new UserLoginBO(); TradeBO objBO = new TradeBO(); objUserLoginBO = HttpContext.Current.Session["UserDetails"] as UserLoginBO; if (objUserLoginBO == null) { objBO.UserId = new Guid(); } else { objBO.UserId = (Guid)objUserLoginBO.UserId; } lstobj = new TradeBL().CustomGridData(objBO.UserId); return(lstobj); } catch (Exception ex) { throw ex; } }
public List <NotificationBO> GetTradeNotifications() { List <NotificationBO> lstNotificationBO = new List <NotificationBO>(); UserLoginBO objUserLoginBO = new UserLoginBO(); TradeBO objBO = new TradeBO(); objUserLoginBO = HttpContext.Current.Session["UserDetails"] as UserLoginBO; if (objUserLoginBO == null) { objBO.UserId = new Guid(); lstNotificationBO = null; return(lstNotificationBO); } else { objBO.UserId = (Guid)objUserLoginBO.UserId; try { // Guid userId = new Guid(Convert.ToString(HttpContext.Current.Session["UserId"])); lstNotificationBO = new NotificationBL().GetTradeNotifications(objBO.UserId); } catch (Exception ex) { throw ex; } finally { } return(lstNotificationBO); } }
/// <summary> /// GetGraphFeed /// </summary> /// <param name="assetId">assetId</param> /// <returns> Data for binding graph chart</returns> public List <TradeBO> GetGraphFeed(TradeBO objBO) { try { DataTable objDataTable = new TradeDA().GetGraphFeed(objBO); List <TradeBO> lstTradeBO = new List <TradeBO>(); if (objDataTable.Rows.Count > 0) { foreach (DataRow Row in objDataTable.Rows) { TradeBO obTradeBO = new TradeBO(); obTradeBO.Asset = Convert.ToString(Row["Asset"]); obTradeBO.Price = Convert.ToDouble(Row["Price"]); obTradeBO.LogTime = Convert.ToString(Row["LogTime"]); lstTradeBO.Add(obTradeBO); } } else { lstTradeBO = null; } return(lstTradeBO); } catch (Exception ex) { throw ex; } }
/// <summary> /// InsertBidData /// </summary> /// <param name="objBO">objBO</param> /// <param name="TradeTime">TradeTime</param> /// <returns>Place Bid</returns> public DataTable InsertBidData(TradeBO objBO, string TradeTime) { DataTable dt = new DataTable(); try { sqlConnection.Open(); sqlCommand = new SqlCommand(); sqlCommand.Connection = sqlConnection; sqlCommand.CommandText = "sp_InsertBet"; sqlCommand.Parameters.AddWithValue("@TradingTypeId ", objBO.TradingTypeId); sqlCommand.Parameters.AddWithValue("@BidType ", objBO.BidType); sqlCommand.Parameters.AddWithValue("@AssestId ", objBO.AssetId); sqlCommand.Parameters.AddWithValue("@InvestedAmount ", objBO.InvestedAmount); //sqlCommand.Parameters.AddWithValue("@TargetPrice ", objBO.TargetPrice); sqlCommand.Parameters.AddWithValue("@TraddingTime ", Convert.ToDateTime(TradeTime)); sqlCommand.Parameters.AddWithValue("@ExpiryTime ", Convert.ToDateTime(objBO.ExpiryTime)); sqlCommand.Parameters.AddWithValue("@UserId ", objBO.UserId); sqlCommand.CommandType = CommandType.StoredProcedure; sqlDataAdapter = new SqlDataAdapter(sqlCommand); sqlDataAdapter.Fill(dt); sqlConnection.Close(); return(dt); } catch (Exception ex) { throw ex; } }
/// <summary> /// Get Data for tradding type grid /// </summary> /// <param name="tradingTypeId">tradingTypeId</param> /// <param name="assetTypeId">assetTypeId</param> /// <param name="UserId">UserId</param> /// <returns>Data for Grid</returns> public List <TradeBO> GetGridDataByTradingTypeID(int tradingTypeId, int assetTypeId, Guid UserId) { try { DataTable objDataTable = new TradeDA().GetGridDataByTradingTypeID(tradingTypeId, assetTypeId, UserId); List <TradeBO> lstTradeBO = new List <TradeBO>(); if (objDataTable.Rows.Count > 0) { foreach (DataRow Row in objDataTable.Rows) { TradeBO obTradeBO = new TradeBO(); obTradeBO.AssetId = (Guid)Row["Id"]; if (!String.IsNullOrEmpty((Row["Asset"]).ToString())) { obTradeBO.Asset = Convert.ToString(Row["Asset"]); } else { obTradeBO.Asset = null; } if (!String.IsNullOrEmpty((Row["Price"]).ToString())) { obTradeBO.Price = Convert.ToDouble(Row["Price"]); } else { obTradeBO.Price = 0; } if (!String.IsNullOrEmpty((Row["Payout"]).ToString())) { obTradeBO.Payout = Convert.ToString(Row["Payout"]); } else { obTradeBO.Payout = "0"; } if (!String.IsNullOrEmpty((Row["ExpireTime"]).ToString())) { obTradeBO.ExpireTime = Convert.ToInt32(Row["ExpireTime"]); } else { obTradeBO.ExpireTime = 0; } obTradeBO.ExpiryTime = obTradeBO.ExpireTime.ToString(); lstTradeBO.Add(obTradeBO); } } else { lstTradeBO = null; } return(lstTradeBO); } catch (Exception ex) { throw ex; } }
/// <summary> /// InsertBidData /// </summary> /// <param name="objBO">objBO</param> /// <param name="serverDateTime">serverDateTime</param> /// <returns>Place Bid</returns> public string InsertBidData(TradeBO objBO, string serverDateTime) { string result = ""; try { DataTable objDataTable = new TradeDA().InsertBidData(objBO, serverDateTime); result = objDataTable.Rows[0]["Result"].ToString(); return(result); } catch (Exception ex) { throw ex; } }
/// <summary> /// InsertCustomGrid /// </summary> /// <param name="objBO">objBO</param> /// <param name="assetId">assetId</param> /// <returns>Insert Data of Custom Trade</returns> public string InsertCustomGrid(TradeBO objBO, string assetId) { string result = ""; try { DataTable objDataTable = new TradeDA().InsertCustomGrid(objBO.UserId, assetId); result = objDataTable.Rows[0]["Result"].ToString(); return(result); } catch (Exception ex) { throw ex; } }
public List <TradeBO> GetGraphFeed(string assetId, Int32 tradeId, Int32 graphType) { try { var myGuid = new Guid(); if (Guid.TryParse(assetId, out myGuid)) { // Parsed OK } TradeBO objBO = new TradeBO(); objBO.AssetId = myGuid; objBO.TradingTypeId = tradeId; objBO.GraphType = graphType; List <TradeBO> lstTradeBO = new TradeBL().GetGraphFeed(objBO); return(lstTradeBO); } catch (Exception ex) { throw ex; } }
/// <summary> /// GetOpenTradeData /// </summary> /// <param name="objBO">objBO</param> /// <returns>Data about Current Bid</returns> public List <TradeBO> GetOpenTradeData(TradeBO objBO) { try { DataTable objDataTable = new TradeDA().GetOpenTradeData(objBO); List <TradeBO> objList = new List <TradeBO>(); DateTime time = DateTime.Now; string time1 = time.ToString("HH:mm:ss"); if (objDataTable.Rows.Count > 0) { foreach (DataRow rw in objDataTable.Rows) { objList.Add(new TradeBO { Id = Convert.ToInt32(rw["Id"]), Asset = rw["Asset"].ToString(), AssetId = (Guid)rw["AssetId"], TradingType = rw["TradingType"].ToString(), TradeName = rw["ParentTrade"].ToString(), BidType = rw["BidType"].ToString(), InvestedAmount = Convert.ToDouble(rw["InvestedAmount"]), TargetPrice = Convert.ToDouble(rw["TargetPrice"]), MarkeetPrice = Convert.ToDouble(rw["MarkeetPrice"]), ExpiryTime = Convert.ToDateTime(rw["ExpiryTime"]).ToString("HH:mm:ss"), CountingTime = rw["Counter"].ToString(), //CountingTime = (Convert.ToDateTime(rw["ExpiryTime"]) - DateTime.Parse(time1)).ToString(), }); } } else { objList = null; } return(objList); } catch (Exception ex) { throw ex; } }
/// <summary> /// GetTradeHistoryData /// </summary> /// <param name="objBO">objBO</param> /// <returns>get Data for Tradding History</returns> public DataTable GetTradeHistoryData(TradeBO objBO) { DataTable dt = new DataTable(); try { sqlConnection.Open(); sqlCommand = new SqlCommand(); sqlCommand.Connection = sqlConnection; sqlCommand.CommandText = "Usp_GetTradeHidtory"; sqlCommand.Parameters.AddWithValue("@UserId ", objBO.UserId); sqlCommand.CommandType = CommandType.StoredProcedure; sqlDataAdapter = new SqlDataAdapter(sqlCommand); sqlDataAdapter.Fill(dt); sqlConnection.Close(); return(dt); } catch (Exception ex) { throw ex; } }
/// <summary> /// GetTradeHistoryData /// </summary> /// <param name="objBO">objBO</param> /// <returns>Data about Trading History </returns> public List <TradeBO> GetTradeHistoryData(TradeBO objBO) { try { DataTable objDataTable = new TradeDA().GetTradeHistoryData(objBO); List <TradeBO> objList = new List <TradeBO>(); if (objDataTable.Rows.Count > 0) { foreach (DataRow rw in objDataTable.Rows) { objList.Add(new TradeBO { AssetId = (Guid)(rw["AssetId"]), TradingType = (rw["TraddingType"]).ToString(), BidType = (rw["BidType"]).ToString(), Asset = (rw["AssetName"]).ToString(), InvestedAmount = Convert.ToDouble(rw["InvestedAmount"]), TradeTime = Convert.ToDateTime(rw["TradeTime"]).ToString("d/M/yy HH:mm:ss"), Payout = rw["Payout"].ToString(), ExpiryTime = Convert.ToDateTime(rw["ExpiryTime"]).ToString("d/M/yy HH:mm:ss"), TargetPrice = Convert.ToDouble(rw["TargetPrice"]), MarkeetPrice = Convert.ToDouble(rw["ExpiryPrice"]), ExpiryType = (rw["ExpiryType"]).ToString(), ReturnAmount = Convert.ToDouble(rw["ReturnAmount"]), }); } } else { objList = null; } return(objList); } catch (Exception ex) { throw ex; } }
public List <TradeBO> GetGridDataByTradingTypeID(string tradingTypeId, string assetTypeId) { try { UserLoginBO objUserLoginBO = new UserLoginBO(); TradeBO objBO = new TradeBO(); objUserLoginBO = HttpContext.Current.Session["UserDetails"] as UserLoginBO; if (objUserLoginBO == null) { objBO.UserId = new Guid(); } else { objBO.UserId = (Guid)objUserLoginBO.UserId; } List <TradeBO> lstTradeBO = new TradeBL().GetGridDataByTradingTypeID(Convert.ToInt32(tradingTypeId), Convert.ToInt32(assetTypeId), objBO.UserId); return(lstTradeBO); } catch (Exception ex) { throw ex; } }
/// <summary> /// This Function is running in thread /// it will get all the trades after the /// processed id and than populateBOBOpen Trades data. /// </summary> public void StartBOMAMOpenTrades() { var lastProcessedID = 0; var tradeBO = new TradeBO(); var boMAMTradeBO = new BOMAMTradeBO(); var clientAccountBO = new Client_AccountBO(); while (true) { //Check If Initiated if (isInitiated) { try { if (assetManagerDict.Keys.Count > 0) { //If The LastProcessID is 0 get it from database if (lastProcessedID == 0) { lastProcessedID = boMAMTradeBO.GetLastOpenTradeProcessedID(); } //Get All Open Trades For All the asset Manager var openTradeResult = tradeBO.GetAssetManagerOpenTrades(assetManagerDict.Keys.ToList(), lastProcessedID); //Check If the Count > 0 if (openTradeResult.Count > 0) { lastProcessedID = openTradeResult.Max(x => x.PK_TradeID); var boMAMTradeList = new List <BOMAMTrade>(); //Loop Through The Open trades foreach (var item in openTradeResult) { foreach (var res in assetManagerDict[(int)item.Login]) { BOMAMTrade openBOMAMTrade = new BOMAMTrade(); openBOMAMTrade.OrderID = (int)item.OrderID; openBOMAMTrade.OpenPrice = item.OpenPrice; openBOMAMTrade.ClosePrice = item.ClosePrice; openBOMAMTrade.OpenTime = item.OpenTime; openBOMAMTrade.CloseTime = item.CloseTime; openBOMAMTrade.Agent = ""; openBOMAMTrade.FK_IBID = (int)res.FK_IBID; openBOMAMTrade.FK_ClientAccountID = (int)res.FK_ClientAccountID; openBOMAMTrade.Symbol = item.Symbol; openBOMAMTrade.LastIDProcessed = item.PK_TradeID; openBOMAMTrade.Size = item.Volume != null ? (double)item.Volume * slaveAllocationDict[(int)res.FK_ClientAccountID] : 0.0; openBOMAMTrade.Commission = item.Commission != null ? (double)item.Commission * slaveAllocationDict[(int)res.FK_ClientAccountID] : 0.0; openBOMAMTrade.Swap = item.Storage != null ? (double)item.Storage * slaveAllocationDict[(int)res.FK_ClientAccountID] : 0.0; openBOMAMTrade.Pnl = item.Profit != null ? (double)item.Profit * slaveAllocationDict[(int)res.FK_ClientAccountID] : 0.0; openBOMAMTrade.IsopenTrades = true; boMAMTradeList.Add(openBOMAMTrade); } } //If Count > 0 Add it to the database if (boMAMTradeList.Count > 0) { boMAMTradeBO.AddBOMAMOpenTrades(boMAMTradeList); } } } } catch (Exception exceptionMessage) { //Log Error CurrentDeskLog.Error("Monitoring Open Trades :" + exceptionMessage); } } } }