/// <summary> /// /// </summary> /// <param name="AgentID"></param> /// <returns></returns> internal List<Business.IAgentGroup> GetIAgentGroupByAgentID(int AgentID) { List<Business.IAgentGroup> Result = new List<Business.IAgentGroup>(); Business.Agent Agent = new Business.Agent(); System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(DBConnection.DBConnection.Connection); DSTableAdapters.IAgentGroupTableAdapter adapIAgentGroup = new DSTableAdapters.IAgentGroupTableAdapter(); DS.IAgentGroupDataTable tbIAgentGroup = new DS.IAgentGroupDataTable(); DSTableAdapters.AgentTableAdapter adapAgent = new DSTableAdapters.AgentTableAdapter(); DS.AgentDataTable tbAgent = new DS.AgentDataTable(); try { conn.Open(); adapIAgentGroup.Connection = conn; tbIAgentGroup = adapIAgentGroup.GetIAgentGroupByAgentID(AgentID); adapAgent.Connection = conn; tbAgent = adapAgent.GetAgentByAgentID(AgentID); if (tbIAgentGroup != null) { int count = tbIAgentGroup.Count; for (int i = 0; i < count; i++) { Business.IAgentGroup newIGroupSymbol = new Business.IAgentGroup(); newIGroupSymbol.IAgentGroupID = tbIAgentGroup[i].IAgentGroupID; newIGroupSymbol.InvestorGroupID = tbIAgentGroup[i].InvestorGroupID; newIGroupSymbol.AgentID = tbIAgentGroup[i].AgentID; Result.Add(newIGroupSymbol); } if (tbAgent != null) { Agent.AgentID = tbAgent[0].AgentID; Agent.AgentGroupID = tbAgent[0].AgentGroupID; Agent.Name = tbAgent[0].Name; Agent.InvestorID = tbAgent[0].InvestorID; Agent.Comment = tbAgent[0].Comment; Agent.IsDisable = tbAgent[0].Isdiable; Agent.IsIpFilter = tbAgent[0].IsIpFilter; Agent.IpForm = tbAgent[0].IpForm; Agent.IpTo = tbAgent[0].IpTo; Agent.GroupCondition = tbAgent[0].GroupCondition; List<int> listInvestorGroupIDs = Agent.MakeListIAgentGroupManager(Agent.GroupCondition); for (int i = 0; i < listInvestorGroupIDs.Count; i++) { bool check = true; for (int j = 0; j < Result.Count; j++) { if (listInvestorGroupIDs[i] == Result[j].InvestorGroupID) { check = false; break; } } if (check == true) { int idIAgentGroup = int.Parse(adapIAgentGroup.AddIAgentGroup(Agent.AgentID, listInvestorGroupIDs[i]).ToString()); if (idIAgentGroup > 0) { Business.IAgentGroup newIGroupSymbol = new Business.IAgentGroup(); newIGroupSymbol.IAgentGroupID = idIAgentGroup; newIGroupSymbol.InvestorGroupID = listInvestorGroupIDs[i]; newIGroupSymbol.AgentID = Agent.AgentID; Result.Add(newIGroupSymbol); } } } } } } catch (Exception ex) { return null; } finally { adapIAgentGroup.Connection.Close(); adapAgent.Connection.Close(); conn.Close(); } return Result; }
/// <summary> /// /// </summary> /// <returns></returns> internal List<Business.Agent> GetAllAgent() { List<Business.Agent> Result = new List<Business.Agent>(); System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(DBConnection.DBConnection.Connection); DSTableAdapters.AgentTableAdapter adap = new DSTableAdapters.AgentTableAdapter(); DS.AgentDataTable tbAgent = new DS.AgentDataTable(); try { conn.Open(); adap.Connection = conn; tbAgent = adap.GetData(); if (tbAgent != null) { int count = tbAgent.Count; for (int i = 0; i < count; i++) { Business.Agent newAgent = new Business.Agent(); newAgent.AgentID = tbAgent[i].AgentID; newAgent.AgentGroupID = tbAgent[i].AgentGroupID; newAgent.Name = tbAgent[i].Name; newAgent.InvestorID = tbAgent[i].InvestorID; newAgent.Comment = tbAgent[i].Comment; newAgent.IsDisable = tbAgent[i].Isdiable; newAgent.IsOnline = false; newAgent.Code = tbAgent[i].Code; newAgent.IsIpFilter = tbAgent[i].IsIpFilter; newAgent.IpForm = tbAgent[i].IpForm; newAgent.IpTo = tbAgent[i].IpTo; newAgent.GroupCondition = tbAgent[i].GroupCondition; Result.Add(newAgent); } } } catch (Exception ex) { Result = null; } finally { adap.Connection.Close(); conn.Close(); } return Result; }
/// <summary> /// /// </summary> /// <param name="AgentID"></param> /// <param name="AgentGroupID"></param> /// <param name="Name"></param> internal bool UpdateAgent(Business.Agent agent) { bool Result = false; System.Data.SqlClient.SqlTransaction trans = null; System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(DBConnection.DBConnection.Connection); DSTableAdapters.AgentTableAdapter adapAgent = new DSTableAdapters.AgentTableAdapter(); DSTableAdapters.IAgentGroupTableAdapter adapIAgentGroup = new DSTableAdapters.IAgentGroupTableAdapter(); try { conn.Open(); trans = conn.BeginTransaction(); adapAgent.Connection = conn; adapAgent.Transaction = trans; adapIAgentGroup.Connection = conn; adapIAgentGroup.Transaction = trans; int Record = adapAgent.UpdateAgent(agent.AgentGroupID, agent.Name, agent.Comment, agent.IsDisable, agent.IsIpFilter, agent.IpForm, agent.IpTo, agent.GroupCondition, agent.AgentID); if (Record > 0) { Result = true; } else { throw new Exception("Data error"); } adapIAgentGroup.DeleteIAgentGroupByAgentID(agent.AgentID); List<int> listInvestorGroupIDs = new List<int>(); listInvestorGroupIDs = agent.MakeListIAgentGroupManager(agent.GroupCondition); int count = listInvestorGroupIDs.Count; for (int i = 0; i < count; i++) { int idIAgentGroup = int.Parse(adapIAgentGroup.AddIAgentGroup(agent.AgentID, listInvestorGroupIDs[i]).ToString()); if (idIAgentGroup < 1) { throw new Exception("Data error"); } } trans.Commit(); } catch (Exception ex) { trans.Rollback(); Result = false; } finally { adapAgent.Connection.Close(); adapIAgentGroup.Connection.Close(); conn.Close(); } return Result; }
/// <summary> /// /// </summary> /// <param name="InvestorID"></param> /// <returns></returns> internal Business.Agent GetAgentByInvestorID(int InvestorID) { Business.Agent Result = new Business.Agent(); System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(DBConnection.DBConnection.Connection); DSTableAdapters.AgentTableAdapter adap = new DSTableAdapters.AgentTableAdapter(); DS.AgentDataTable tbAgent = new DS.AgentDataTable(); try { conn.Open(); adap.Connection = conn; tbAgent = adap.GetAgentByInvestorID(InvestorID); if (tbAgent != null) { Result.AgentID = tbAgent[0].AgentID; Result.AgentGroupID = tbAgent[0].AgentGroupID; Result.Name = tbAgent[0].Name; Result.InvestorID = tbAgent[0].InvestorID; Result.Comment = tbAgent[0].Comment; Result.IsDisable = tbAgent[0].Isdiable; Result.IsIpFilter = tbAgent[0].IsIpFilter; Result.IpForm = tbAgent[0].IpForm; Result.IpTo = tbAgent[0].IpTo; Result.GroupCondition = tbAgent[0].GroupCondition; } } catch (Exception ex) { Result = null; } finally { adap.Connection.Close(); conn.Close(); } return Result; }
/// <summary> /// /// </summary> /// <param name="AgentID"></param> /// <returns></returns> internal int DeleteAgentByID(int AgentID) { int Result = -1; System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(DBConnection.DBConnection.Connection); DSTableAdapters.AgentTableAdapter adap = new DSTableAdapters.AgentTableAdapter(); try { conn.Open(); adap.Connection = conn; Result = adap.DeleteAgentByAgentID(AgentID); } catch (Exception ex) { Result = -1; } finally { adap.Connection.Close(); conn.Close(); } return Result; }
/// <summary> /// /// </summary> /// <param name="AgentGroupID"></param> /// <param name="Name"></param> /// <returns></returns> internal int AddNewAgent(Business.Agent agent) { int idAgent = -1; System.Data.SqlClient.SqlTransaction trans = null; System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(DBConnection.DBConnection.Connection); DSTableAdapters.AgentTableAdapter adapAgent = new DSTableAdapters.AgentTableAdapter(); DSTableAdapters.IAgentGroupTableAdapter adapIAgentGroup = new DSTableAdapters.IAgentGroupTableAdapter(); try { conn.Open(); trans = conn.BeginTransaction(); adapAgent.Connection = conn; adapAgent.Transaction = trans; adapIAgentGroup.Connection = conn; adapIAgentGroup.Transaction = trans; #region Create Investor Business.Investor investor = new Business.Investor(); investor.InvestorStatusID = -1; investor.InvestorGroupInstance = new Business.InvestorGroup(); investor.InvestorGroupInstance.InvestorGroupID = -1; investor.AgentID = string.Empty; investor.Balance = 0; investor.Credit = 0; investor.Code = agent.Code; investor.PrimaryPwd = agent.Pwd; investor.ReadOnlyPwd = ""; investor.PhonePwd = ""; investor.IsDisable = true; investor.TaxRate = 0; investor.Leverage = 0; //Investor Profile DateTime registerDay = new DateTime(); investor.Address = ""; investor.Phone = ""; investor.City = ""; investor.Country = ""; investor.Email = ""; investor.ZipCode = ""; investor.RegisterDay = registerDay; investor.Comment = ""; investor.State = ""; investor.NickName = ""; investor.AllowChangePwd = false; investor.ReadOnly = false; investor.SendReport = false; #endregion int idInvestor = TradingServer.Facade.FacadeAddNewInvestor(investor); if (idInvestor < 1) { throw new Exception("Data error"); } agent.InvestorID = idInvestor; if (agent.AgentGroupID == -1) { idAgent = int.Parse(adapAgent.AddNewAgent(null, agent.Name, agent.InvestorID, agent.Comment, agent.IsDisable, agent.IsIpFilter, agent.IpForm, agent.IpTo, agent.GroupCondition).ToString()); } else idAgent = int.Parse(adapAgent.AddNewAgent(agent.AgentGroupID, agent.Name, agent.InvestorID, agent.Comment, agent.IsDisable, agent.IsIpFilter, agent.IpForm, agent.IpTo, agent.GroupCondition).ToString()); if (idAgent < 1) { throw new Exception("Data error"); } List<int> listInvestorGroupIDs = new List<int>(); listInvestorGroupIDs = agent.MakeListIAgentGroupManager(agent.GroupCondition); int count = listInvestorGroupIDs.Count; for (int i = 0; i < count; i++) { int idIAgentGroup = int.Parse(adapIAgentGroup.AddIAgentGroup(idAgent, listInvestorGroupIDs[i]).ToString()); if (idIAgentGroup < 1) { throw new Exception("Data error"); } } trans.Commit(); } catch (Exception ex) { trans.Rollback(); idAgent = -1; } finally { adapAgent.Connection.Close(); adapIAgentGroup.Connection.Close(); conn.Close(); } return idAgent; }
/// <summary> /// /// </summary> /// <param name="AgentGroupID"></param> /// <returns></returns> internal bool DeleteAgentByAgentGroupID(int AgentGroupID) { bool Result = true; System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(DBConnection.DBConnection.Connection); DSTableAdapters.AgentTableAdapter adap = new DSTableAdapters.AgentTableAdapter(); try { conn.Open(); adap.Connection = conn; adap.DeleteAgentByAgentGroupID(AgentGroupID); } catch (Exception ex) { Result = false; } finally { adap.Connection.Close(); conn.Close(); } return Result; }
/// <summary> /// /// </summary> /// <param name="agentID"></param> /// <returns></returns> internal bool CheckAgentExist(int agentID) { bool result = false; System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(DBConnection.DBConnection.Connection); DSTableAdapters.AgentTableAdapter adap = new DSTableAdapters.AgentTableAdapter(); try { conn.Open(); adap.Connection = conn; int resultCheck = int.Parse(adap.CheckAgentExist(agentID).ToString()); if(resultCheck>0) result = true; } catch (Exception ex) { return false; } finally { adap.Connection.Close(); conn.Close(); } return result; }