Esempio n. 1
0
 /// <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());
     }
 }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
 }
Esempio n. 5
0
 /// <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);
 }
Esempio n. 6
0
 /// <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));
 }
Esempio n. 7
0
        //===============================================提供给金融工程平台的方法=====================================
        #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);
        }