/// <summary> /// 页面加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UserInfoForm_Load(object sender, EventArgs e) { try { if (m_EditType == 1) { m_InitFund = new InitFund(); m_currentUser = new UM_UserInfo(); } SetControlsIsEnabled(); BinData(); InitTreeView(); if (m_EditType == 2) { InitUserInfo(); InitOriginationFund(); } if (this.dll_CouterID.Properties.Items.Count < 1) { ShowMessageBox.ShowInformation("请先添加柜台信息!"); } } catch (Exception ex) { string errCode = "GL-0300"; string errMsg = "交易员信息页面加载失败。"; VTException vte = new VTException(errCode, errMsg, ex); LogHelper.WriteError(vte.ToString(), vte.InnerException); ShowMessageBox.ShowInformation(vte.ToString()); } }
/// <summary> /// 追加资金(此方法之前是没有实现的,这里实现只是用于验证管理员是否正确,为了测试工具使用,如果日后要用再 /// 作修改,因为这里也要验证管理员) /// </summary> /// <param name="UserID">交易员ID</param> /// <param name="initFund"></param> /// <param name="MLoginName">管理员登陆名称</param> /// <param name="ManagerPWd">管理员密码</param> /// <param name="message"></param> /// <returns></returns> public bool AddFund(int UserID, InitFund initFund, string MLoginName, string ManagerPWd, out string message) { message = string.Empty; Out_TransactionManage outTran = new Out_TransactionManage(); bool login = outTran.AdminLoginConfirmation(MLoginName, ManagerPWd, out message); return(login); }
/// <summary> /// 测试开户方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAddUser_Click(object sender, EventArgs e) { TransactionManageClient transactionManageClient = new TransactionManageClient(); string mess = string.Empty; List <AccountEntity> accountEntities; UM_UserInfo umUserInfo = new UM_UserInfo(); InitFund initFund = new InitFund(); initFund.HK = 1; initFund.RMB = 1; initFund.US = 1; umUserInfo.UserName = "******"; umUserInfo.Password = "******"; UM_UserInfo userInfo = transactionManageClient.AddTransactionFP(out accountEntities, out mess, "admin", "pwhWQFzLWcw=", umUserInfo, initFund); UM_UserInfo uu = userInfo; List <AccountEntity> accountEntitiesList = accountEntities; MessageBox.Show("A"); }
/// <summary> /// 保存初始资金 /// </summary> /// <param name="initfund">初始化资金</param> /// <param name="Tran">Transaction</param> /// <param name="db">Database</param> /// <param name="BackAccount">银行帐号</param> /// <returns></returns> private bool SaveFund(InitFund initfund, DbTransaction Tran, Database db, string BackAccount) { try { if (initfund.HK != decimal.MaxValue) { UM_OriginationFund OriginationFund = new UM_OriginationFund(); OriginationFund.DealerAccoutID = BackAccount; OriginationFund.FundMoney = (decimal)initfund.HK; OriginationFund.TransactionCurrencyTypeID = (int)GTA.VTS.Common.CommonObject.Types.CurrencyType.HK; StaticDalClass.OriginationFundDAL.Add(OriginationFund, Tran, db); } if (initfund.RMB != decimal.MaxValue) { UM_OriginationFund OriginationFund = new UM_OriginationFund(); OriginationFund.DealerAccoutID = BackAccount; OriginationFund.FundMoney = (decimal)initfund.RMB; OriginationFund.TransactionCurrencyTypeID = (int)GTA.VTS.Common.CommonObject.Types.CurrencyType.RMB; StaticDalClass.OriginationFundDAL.Add(OriginationFund, Tran, db); } if (initfund.US != decimal.MaxValue) { UM_OriginationFund OriginationFund = new UM_OriginationFund(); OriginationFund.DealerAccoutID = BackAccount; OriginationFund.FundMoney = (decimal)initfund.US; OriginationFund.TransactionCurrencyTypeID = (int)GTA.VTS.Common.CommonObject.Types.CurrencyType.US; StaticDalClass.OriginationFundDAL.Add(OriginationFund, Tran, db); } } catch (Exception Ex) { string errCode = "GL-0206"; string errMsg = "SaveFund()方法失败,帐号:" + BackAccount; VTException vte = new VTException(errCode, errMsg, Ex); LogHelper.WriteError(vte.ToString(), vte.InnerException); return(false); } return(true); }
/// <summary> /// 添加交易员 /// </summary> /// <param name="tUserInfo">交易员列表</param> /// <param name="initFund"></param> /// <param name="MLoginName">管理员登陆名称</param> /// <param name="ManagerPWd">管理员密码</param> /// <param name="message">返回的信息</param> /// <returns></returns> public List <Entity.UM_UserInfo> BatchAddTransactionList(List <Entity.UM_UserInfo> tUserInfo, InitFund initFund, string MLoginName, string ManagerPWd, out string message) { message = string.Empty; return(null); }
/// <summary> /// 添加交易员 /// </summary> /// <param name="Number">数目</param> /// <param name="initFund"></param> /// <param name="MLoginName">管理员登陆名称</param> /// <param name="ManagerPWd">管理员密码</param> /// <param name="message">返回的信息</param> /// <returns></returns> public List <Entity.UM_UserInfo> BatchAddTransaction(int Number, InitFund initFund, string MLoginName, string ManagerPWd, out string message) { UserManage.Out_TransactionManage tm = new Out_TransactionManage(); return(tm.BatchAddTransaction(Number, initFund, MLoginName, ManagerPWd, out message)); }
//===============================================提供给金融工程平台的方法===================================== #region 提供给金融工程平台的方法 #region 金融工程平台调用的添加交易员 /// <summary> /// 金融工程平台调用的添加交易员 /// </summary> /// <param name="MLoginName">登陆名称(管理员角色)</param> /// <param name="ManagerPWd">登陆密码(管理员密码)</param> /// <param name="UserInfo">用户基本信息</param> /// <param name="initfund">初始化资金</param> /// <param name="l_AccountEntity">账户列表实体</param> /// <param name="message">输出信息</param> /// <returns></returns> public UM_UserInfo AddTransactionFP(string MLoginName, string ManagerPWd, UM_UserInfo UserInfo, InitFund initfund, out List <AccountEntity> l_AccountEntity, out string message) { UserManage.Out_TransactionManage tm = new Out_TransactionManage(); return(tm.AddTransactionFP(MLoginName, ManagerPWd, UserInfo, initfund, out l_AccountEntity, out message)); }
/// <summary> /// 添加交易员 /// </summary> /// <param name="dt">权限列表</param> /// <param name="UserInfo">交易员实体</param> /// <param name="initfund">初始资金实体</param> /// <param name="mess"></param> /// <returns></returns> public bool AddTransaction(DataTable dt, UM_UserInfo UserInfo, InitFund initfund, out string mess) { try { List <AccountEntity> l_AccountEntity = new List <AccountEntity>(); string BackAccount = string.Empty; int UserID; Database db = DatabaseFactory.CreateDatabase(); DbConnection Conn = db.CreateConnection(); if (Conn.State != ConnectionState.Open) { Conn.Open(); } DbTransaction Tran = Conn.BeginTransaction(); try { //添加用户基本信息表 UserID = StaticDalClass.UserInfoDAL.Add(UserInfo, Tran, db); if (UserID < 1) { mess = "GL-0200:添加用户基本信息失败"; //写调试信息 LogHelper.WriteDebug(mess); return(false); } //添加用户交易品种权限表 for (int i = 0; i < dt.Rows.Count; i++) { UM_DealerTradeBreedClass DealerTradeBreedClass = new UM_DealerTradeBreedClass(); DealerTradeBreedClass.UserID = UserID; DealerTradeBreedClass.BreedClassID = int.Parse(dt.Rows[i]["BreedClassID"].ToString()); StaticDalClass.DealerTradeBreedClassDAL.Add(DealerTradeBreedClass, Tran, db); } //分配帐号列表 List <UM_AccountType> AccountType = StaticDalClass.AccountTypeDAL.GetListArray(string.Empty); if (AccountType == null || AccountType.Count == 0) { mess = "GL-0201:获取帐号类型列表失败"; //写调试信息 LogHelper.WriteDebug(mess); return(false); } //传加密后的密码给柜台开户 string DesPassWord = UtilityClass.DesEncrypt(UserInfo.Password, string.Empty); foreach (UM_AccountType type in AccountType) { UM_DealerAccount DealerAccount = new UM_DealerAccount(); DealerAccount.AccountTypeID = type.AccountTypeID; DealerAccount.DealerAccoutID = ProductionAccount.FormationAccount((int)UserInfo.CouterID, UserID, (int) DealerAccount.AccountTypeID); DealerAccount.IsDo = true; DealerAccount.AccountAttributionType = type.AccountAttributionType; DealerAccount.UserID = UserID; StaticDalClass.DealerAccountDAL.Add(DealerAccount, Tran, db); //添加到调用柜台接口的参数类表 { AccountEntity Element = new AccountEntity(); Element.Account = DealerAccount.DealerAccoutID; Element.AccountAAttribution = (int)DealerAccount.AccountAttributionType; Element.AccountType = (int)DealerAccount.AccountTypeID; Element.CurrencyHK = initfund.HK; Element.CurrencyRMB = initfund.RMB; Element.CurrencyUS = initfund.US; Element.RoleNumber = (int)GTA.VTS.Common.CommonObject.Types.UserId.Trader; Element.TraderID = UserID.ToString(); Element.TraderPassWord = DesPassWord; l_AccountEntity.Add(Element); } if (type.AccountAttributionType == (int)GTA.VTS.Common.CommonObject.Types.AccountAttributionType.BankAccount) { BackAccount = DealerAccount.DealerAccoutID; } } //保存初始资金 if (!SaveFund(initfund, Tran, db, BackAccount)) { mess = "GL-0202:初始化资金失败!"; //写调试信息 LogHelper.WriteDebug(mess); return(false); } Tran.Commit(); } catch (Exception ex) { Tran.Rollback(); string errCode = "GL-0203"; string errMsg = "添加交易员失败!"; VTException vte = new VTException(errCode, errMsg, ex); LogHelper.WriteError(vte.ToString(), vte.InnerException); mess = vte.ToString(); return(false); } finally { if (Conn.State == ConnectionState.Open) { Conn.Close(); } } //调用柜台开户方法 string s; try { CT_Counter T = StaticDalClass.CounterDAL.GetModel((int)UserInfo.CouterID); if ( !ServiceIn.AccountManageServiceProxy.GetInstance().SingleTraderOpenAccount(T, l_AccountEntity, out s)) { mess = "GL-0204:调用柜台开户方法SingleTraderOpenAccount失败!" + s; //写调试信息 LogHelper.WriteDebug(mess); DelTransaction(UserID, out s); return(false); } } catch (VTException ex) { mess = ex.ToString(); LogHelper.WriteError(ex.ToString(), ex.InnerException); DelTransaction(UserID, out s); //写错误信息 return(false); } mess = "GL-0232:开户成功!"; return(true); } catch (Exception Ex) { string errCode = "GL-0205"; string errMsg = "数据库连接失败!"; VTException vte = new VTException(errCode, errMsg, Ex); LogHelper.WriteError(vte.ToString(), vte.InnerException); mess = vte.ToString(); return(false); } }
/// <summary> /// 开始批量开户并处理初始化资金 /// </summary> /// <param name="capital">初始化资金</param> /// <param name="amount">批开户数</param> /// <returns></returns> public static bool StartIni(decimal capital, int amount, bool isInitHold) { time = DateTime.Now; string message = ""; //WCFManager.GetAllCM_Commodity(); //WCFManager.GetAllHKCommodity(); List <UM_UserInfo> list = new List <UM_UserInfo>(); using (TransactionManageClient client = GetManageClient()) { lableMsg.Text = "正在调用管理中心开始开户请稍后......."; #region 管理中心开户 InitFund inifund = new InitFund(); inifund.HK = capital; inifund.RMB = capital; inifund.US = capital; //list = client.BatchAddTransaction(out message, amount, inifund, "FrontManager", "fzjQ37ynndk="); //只开后台交易员用户(因验证前台管理员身份) list = client.BatchAddTransaction(out message, amount, inifund, "FrontManager", "fzjQ37ynndk="); if (!string.IsNullOrEmpty(message)) { lableMsg.Text = message; //"调用管理中心开始开户完成......."; } else { lableMsg.Text = "调用管理中心开始开户完成......."; } } #endregion string userIDsStr = ""; StringBuilder userIDs = new StringBuilder(""); #region 更新柜台资金可用资金 lableMsg.Text = "开始调用柜台数据库初始化可用资金......."; foreach (var item in list) { userIDs.Append(" , '" + item.UserID.ToString() + "'"); WCFManager.InsertCapitalAccountInfo(capital, item.UserID.ToString()); } lableMsg.Text = "柜台初始化可用资金完成......."; #endregion #region 更新所有用户添加类型和初始密码为888888 userIDsStr = userIDs.ToString(); lableMsg.Text = "更新管理中心添加交易员类型更为后台交易员和把密码初始化为888888并更新柜台交易员密码......."; if (!string.IsNullOrEmpty(userIDsStr)) { userIDsStr = userIDsStr.Substring(userIDsStr.IndexOf(',') + 1); WCFManager.UpdateAddType(userIDsStr); } lableMsg.Text = "完成密码更新......."; #endregion #region 初始化持仓表 //if (isInitHold) //{ // lableMsg.Text = "正在调用柜台初始化持仓量(线程开始开启分发)......."; // foreach (var item in list) // { // Thread th = new Thread(delegate() { WCFManager.InsertHoldAccount(item.UserID.ToString()); }); // th.Start(); // WCFManager.AddThread(); // th.Join(100); // //WCFManager.InsertHoldAccount(item.UserID.ToString()); // } // lableMsg.Text = "正在调用柜台初始化持仓量(线程开启完)各线程正在执行初始中请稍后......."; //} #endregion return(true); }