/// <summary>
        /// 根据用户ID,判断密码是否正确
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="pwd">密码</param>
        /// <returns></returns>
        public bool ExistsBasicUserPWDByUserId(string userId, string pwd)
        {
            UA_UserBasicInformationTableInfo basicUser = null;

            if (basicUserCahce.Contains(userId))
            {
                basicUser = basicUserCahce.Get(userId);
            }
            if (basicUser == null)
            {
                try
                {
                    basicUser = basicUserDal.GetModel(userId);
                }
                catch (System.Exception ex)
                {
                    LogHelper.WriteError(ex.Message, ex);
                }

                if (basicUser != null)
                {
                    AddUserBasicInfo(basicUser);
                }
            }
            if (basicUser != null)
            {
                if (basicUser.Password == pwd)
                {
                    return(true);
                }
            }

            return(false);
        }
        /// <summary>期货资金情况查询
        /// 期货资金情况查询 包含盈亏相关信息在内
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="accountType">账号类型(注:这是账户类型不是类别,这里是有九种类型,而类别是五种)</param>
        /// <param name="currencyType"></param>
        /// <param name="userPassword"></param>
        /// <param name="strErrorMessage"></param>
        /// <returns></returns>
        public FuturesCapitalEntity PagingQueryFuturesCapital(string userId, int accountType, Types.CurrencyType currencyType, string userPassword, ref string strErrorMessage)
        {
            #region old code
            //AccountPair _AccountPair = CommonDataAgent.GeyAccountPair(userId, accountType, 0, ref userPassword);
            //strErrorMessage = userPassword;
            //if (_AccountPair == null) return null;

            //FuturesCapitalEntity result = null;
            //var aa = new CapitalAndHoldFindBLL();
            //result = aa.FuturesCapitalFind(_AccountPair.CapitalAccount.UserAccountDistributeLogo, currencyType, userPassword, ref strErrorMessage);
            //return result;
            #endregion
            AccountManager am = AccountManager.Instance;
            UA_UserAccountAllocationTableInfo userAccountInfo = am.GetAccountByUserIDAndAccountType(userId, accountType);
            UA_UserBasicInformationTableInfo  userInfo        = am.GetBasicUserByUserId(userId);
            if (userAccountInfo == null || userInfo == null)
            {
                strErrorMessage = "交易员对应类型的帐号不存在";
                return(null);
            }
            if (userInfo.Password != userPassword)
            {
                strErrorMessage = "交易员密码错误";
                return(null);
            }

            FuturesCapitalEntity result = null;
            var aa = new CapitalAndHoldFindBLL();
            result = aa.FuturesCapitalFind(userAccountInfo.UserAccountDistributeLogo, currencyType, userPassword, ref strErrorMessage);
            return(result);
        }
        /// <summary>
        /// 根据用户ID获取基础用户信息
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public UA_UserBasicInformationTableInfo GetBasicUserByUserId(string userId)
        {
            if (basicUserCahce.Contains(userId))
            {
                return(basicUserCahce.Get(userId));
            }

            UA_UserBasicInformationTableInfo basicUser = null;

            try
            {
                basicUser = basicUserDal.GetModel(userId);
            }
            catch (System.Exception ex)
            {
                LogHelper.WriteError(ex.Message, ex);
            }

            if (basicUser != null)
            {
                AddUserBasicInfo(basicUser);
                //basicUserCahce.Add(userId, basicUser);
                //basicUserList.Add(basicUser);
            }

            return(basicUser);
        }
        /// <summary>
        /// 向缓存数据添加一条用户基本信息记录
        /// </summary>
        /// <param name="userBasicInfo">要添加的用户基本信息实体</param>
        public void AddUserBasicInfo(UA_UserBasicInformationTableInfo userBasicInfo)
        {
            #region old code update 2009-11-25 李健华
            ////object obj = new object();
            ////lock (obj)
            ////{
            //if (basicUserCahce.Contains(userBasicInfo.UserID))
            //{

            //    basicUserCahce.Add(userBasicInfo.UserID, userBasicInfo);
            //    basicUserList.Add(userBasicInfo);
            //}
            ////}
            #endregion
            if (basicUserCahce.Contains(userBasicInfo.UserID))
            {
                basicUserCahce.Delete(userBasicInfo.UserID);
                //basicUserList.Remove(userBasicInfo);

                basicUserCahce.Add(userBasicInfo.UserID, userBasicInfo);
                //basicUserList.Add(userBasicInfo);
            }
            else
            {
                basicUserCahce.Add(userBasicInfo.UserID, userBasicInfo);
                //basicUserList.Add(userBasicInfo);
            }
        }
        /// <summary>
        /// 获取用户指定类型的账户
        /// </summary>
        /// <param name="user"></param>
        /// <param name="accountTypeID"></param>
        /// <returns></returns>
        public static List <UA_UserAccountAllocationTableInfo> GetAccountList(UA_UserBasicInformationTableInfo user, int accountTypeID)
        {
            string where = string.Format("UserID = '{0}' AND AccountTypeLogo= '{1}'",
                                         user.UserID, accountTypeID);
            UA_UserAccountAllocationTableDal ua_UserAccountAllocationTableDal = new UA_UserAccountAllocationTableDal();

            return(ua_UserAccountAllocationTableDal.GetListArray(where));
        }
        /// <summary>
        /// Create By:李健华
        /// Create Date:2010-05-21
        /// Title:更新缓存表中的数据用户账号密码
        /// Desc.:因为用户账户修改密码后如果缓存中不更新会出现不能同步查询一样
        /// </summary>
        /// <param name="userID">用户ID</param>
        /// <param name="newPwd">新密码</param>
        public void UpdateUserPWD(string userID, string newPwd)
        {
            UA_UserBasicInformationTableInfo ua = GetBasicUserByUserId(userID);

            if (ua != null)
            {
                ua.Password = newPwd;
            }
        }
Esempio n. 7
0
        /// <summary>
        /// 对象实体绑定数据
        /// </summary>
        public UA_UserBasicInformationTableInfo ReaderBind(IDataReader dataReader)
        {
            UA_UserBasicInformationTableInfo model = new UA_UserBasicInformationTableInfo();
            object ojb;

            model.UserID   = dataReader["UserID"].ToString();
            model.Password = dataReader["Password"].ToString();
            ojb            = dataReader["RoleNumber"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.RoleNumber = (int)ojb;
            }
            return(model);
        }
Esempio n. 8
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public void Update(UA_UserBasicInformationTableInfo model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update UA_UserBasicInformationTable set ");
            strSql.Append("Password=@Password,");
            strSql.Append("RoleNumber=@RoleNumber");
            strSql.Append(" where UserID=@UserID ");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "UserID", DbType.AnsiString, model.UserID);
            db.AddInParameter(dbCommand, "Password", DbType.AnsiString, model.Password);
            db.AddInParameter(dbCommand, "RoleNumber", DbType.Int32, model.RoleNumber);
            db.ExecuteNonQuery(dbCommand);
        }
Esempio n. 9
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public UA_UserBasicInformationTableInfo GetModel(string UserID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select UserID,Password,RoleNumber from UA_UserBasicInformationTable ");
            strSql.Append(" where UserID=@UserID ");
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "UserID", DbType.AnsiString, UserID);
            UA_UserBasicInformationTableInfo model = null;

            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                if (dataReader.Read())
                {
                    model = ReaderBind(dataReader);
                }
            }
            return(model);
        }
Esempio n. 10
0
        /// <summary>
        /// 开启事务向数据库增加一条数据
        /// </summary>
        public void Add(UA_UserBasicInformationTableInfo model, Database db, DbTransaction trm)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into UA_UserBasicInformationTable(");
            strSql.Append("UserID,Password,RoleNumber)");

            strSql.Append(" values (");
            strSql.Append("@UserID,@Password,@RoleNumber)");
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());

            db.AddInParameter(dbCommand, "UserID", DbType.AnsiString, model.UserID);
            db.AddInParameter(dbCommand, "Password", DbType.AnsiString, model.Password);
            db.AddInParameter(dbCommand, "RoleNumber", DbType.Int32, model.RoleNumber);
            if (trm != null)
            {
                db.ExecuteNonQuery(dbCommand, trm);
            }
            else
            {
                db.ExecuteNonQuery(dbCommand);
            }
        }
 /// <summary>
 /// 期货持仓查询 (根据交易员、密码及查询条件来查询) 包含盈亏
 /// </summary>
 /// <param name="userId">交易员</param>
 /// <param name="accountType">账号类型(注:这是账户类型不是类别,这里是有九种类型,而类别是五种)</param>
 /// <param name="strPassword">交易员密码</param>
 /// <param name="findCondition">查询条件实体对象</param>
 /// <param name="start">记录集页索引</param>
 /// <param name="pageLength">页长</param>
 /// <param name="count">查到的记录数</param>
 /// <param name="strErrorMessage"></param>
 /// <returns></returns>
 public List <FuturesHoldFindResultEntity> PagingQueryFuturesHold(string userId, int accountType, string userPassword,
                                                                  FuturesHoldConditionFindEntity findCondition, int start,
                                                                  int pageLength, out int count, ref string strErrorMessage)
 {
     #region old code
     //AccountPair _AccountPair = CommonDataAgent.GeyAccountPair(userId, accountType, 0, ref userPassword);
     //strErrorMessage = userPassword;
     //if (_AccountPair == null)
     //{
     //    count = 0;
     //    return null;
     //}
     //var result = new List<FuturesHoldFindResultEntity>();
     //count = 0;
     //var aa = new CapitalAndHoldFindBLL();
     //result = aa.FuturesHoldFind(_AccountPair.CapitalAccount.UserAccountDistributeLogo, userPassword, findCondition, start, pageLength, out count, ref strErrorMessage);
     //return result;
     #endregion
     count = 0;
     AccountManager am = AccountManager.Instance;
     UA_UserAccountAllocationTableInfo userAccountInfo = am.GetAccountByUserIDAndAccountType(userId, accountType);
     UA_UserBasicInformationTableInfo  userInfo        = am.GetBasicUserByUserId(userId);
     if (userAccountInfo == null || userInfo == null)
     {
         strErrorMessage = "交易员对应类型的帐号不存在";
         return(null);
     }
     if (userInfo.Password != userPassword)
     {
         strErrorMessage = "交易员密码错误";
         return(null);
     }
     var result = new List <FuturesHoldFindResultEntity>();
     var aa     = new CapitalAndHoldFindBLL();
     result = aa.FuturesHoldFind(userAccountInfo.UserAccountDistributeLogo, userPassword, findCondition, start, pageLength, out count, ref strErrorMessage);
     return(result);
 }
        /// <summary>
        /// 添加交易员基本信息表
        /// </summary>
        /// <param name="account">账户实体对象</param>
        /// <param name="outMessage">输出信息</param>
        /// <param name="db">数据操作基类对象</param>
        /// <param name="tm">操作开启事务,如果为null即不开启</param>
        public bool AddUserToUserBasicInformation(AccountEntity account, out string outMessage, Database db, DbTransaction tm)
        {
            outMessage = string.Empty;
            if (account == null)
            {
                outMessage = "帐户对象为空!";
                return(false);
            }
            try
            {
                //判断该交易员ID是否已经存在
                //var result = DataRepository.UaUserBasicInformationTableProvider.Find(tm, string.Format("UserID='{0}'", account.TraderID));
                UA_UserBasicInformationTableDal dal = new UA_UserBasicInformationTableDal();

                // if (result == null || result.Count > 0)
                if (dal.Exists(account.TraderID))
                {
                    outMessage = "该交易员ID已经存在!";
                    return(false);
                }
                //插入交易员信息到“用户基本信息表”中
                //var _UserBasicInformation = new SqlUaUserBasicInformationTableProvider(TransactionFactory.RC_ConnectionString, true, "");
                UA_UserBasicInformationTableInfo model = new UA_UserBasicInformationTableInfo();
                model.UserID     = account.TraderID;
                model.Password   = account.TraderPassWord;
                model.RoleNumber = account.RoleNumber;
                dal.Add(model, db, tm);
                return(true);
            }
            catch (Exception ex)
            {
                outMessage = ex.Message.ToString();
                LogHelper.WriteError(outMessage, ex);
                return(false);
            }
        }
Esempio n. 13
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public void Add(UA_UserBasicInformationTableInfo model)
        {
            Database db = DatabaseFactory.CreateDatabase();

            Add(model, db, null);
        }
Esempio n. 14
0
        /// <summary>
        ///  Title:根据用户和密码查询该用户所拥有的港股资金帐户今日期货委托信息
        ///  Des.:此方法因为一个用户(交易员)可能拥有多个港股资金账号(如:-商品港股资金帐号,-股指港股资金帐号)
        ///  所以返回的数据会回多个资金账号的数据
        /// </summary>
        /// <param name="userID">用户(交易员)ID</param>
        /// <param name="pwd">用户(交易员)密码--如果密码为空时不验证密码</param>
        /// <param name="accountType">账号类型(数据库中BD_AccountType的九种) 如果传为0时查询对应的港股持仓账号类别(3--证券股东代码,9--港股股东代码)</param>
        /// <param name="filter">过滤条件数据</param>
        /// <param name="pageInfo">分页信息</param>
        /// <param name="total">返回数页数</param>
        /// <param name="errorMsg">异常信息</param>
        /// <returns>返回当日期货委托信息</returns>
        public List <HK_TodayEntrustInfo> PagingHK_TodayEntrustByFilter(string userID, string pwd, int accountType, HKEntrustConditionFindEntity filter, PagingInfo pageInfo, out int total, out string errorMsg)
        {
            List <HK_TodayEntrustInfo> list = null;
            HK_TodayEntrustDal         dal  = new HK_TodayEntrustDal();

            errorMsg = "";
            total    = 0;

            #region 密码不为空时先验证用户
            if (string.IsNullOrEmpty(userID))
            {
                errorMsg = "查询失败!失败原因为:交易员ID不能为空!";
                return(list);
            }
            if (!string.IsNullOrEmpty(pwd))
            {
                #region 从数据库中判断
                //UA_UserBasicInformationTableDal usDal = new UA_UserBasicInformationTableDal();
                //if (!usDal.Exists(userID, pwd))
                //{
                //    errorMsg = "查询失败!失败原因为:交易员ID或密码输入错误 !";
                //    return list;
                //}
                #endregion

                #region 从缓存中判断
                UA_UserBasicInformationTableInfo userInfo = AccountManager.Instance.GetBasicUserByUserId(userID);
                if (userInfo == null)
                {
                    errorMsg = "交易员对应类型的帐号不存在";
                    return(list);
                }
                if (userInfo.Password != pwd)
                {
                    errorMsg = "交易员密码错误";
                    return(list);
                }
                #endregion
            }
            #endregion

            if (filter != null && !string.IsNullOrEmpty(filter.EntrustNumber))  //委托单号(当只根据委托单号查询时)
            {
                #region 如果有委托单号直接查询唯一记录
                try
                {
                    list = dal.GetListArray(" EntrustNumber='" + filter.EntrustNumber + "'");
                    if (!Utils.IsNullOrEmpty(list))
                    {
                        total = 1;
                    }
                }
                catch (Exception ex)
                {
                    errorMsg = ex.Message;
                    LogHelper.WriteError(ex.ToString(), ex);
                }
                #endregion
            }
            else //当不带委托单号时
            {
                #region 如果分页信息为空返回异常
                if (pageInfo == null)
                {
                    errorMsg = "分页信息不能为空!";
                    return(null);
                }
                #endregion

                #region 分页存储过程相关信息组装
                PagingProceduresInfo ppInfo = new PagingProceduresInfo();
                ppInfo.IsCount    = pageInfo.IsCount;
                ppInfo.PageNumber = pageInfo.CurrentPage;
                ppInfo.PageSize   = pageInfo.PageLength;
                ppInfo.Fields     = "  EntrustNumber,PortfolioLogo,EntrustPrice,EntrustAmount,Code,TradeAmount,TradeAveragePrice,CancelAmount,CancelLogo,BuySellTypeID,HoldAccount,CapitalAccount,OrderStatusID,OrderPriceType,OrderMessage,CurrencyTypeID,TradeUnitID,CallbackChannlID,McOrderID,HasDoneProfit,OfferTime,EntrustTime,IsModifyOrder,ModifyOrderNumber";

                ppInfo.PK = "EntrustNumber";
                if (pageInfo.Sort == 0)
                {
                    ppInfo.Sort = " EntrustTime asc ";
                }
                else
                {
                    ppInfo.Sort = " EntrustTime desc ";
                }
                ppInfo.Tables = "HK_TodayEntrust";
                #endregion

                #region 过滤条件组装
                ppInfo.Filter = BuildHKEntrustQueryWhere(filter, userID, accountType, true);
                #endregion

                #region 执行查询
                try
                {
                    CommonDALOperate <HK_TodayEntrustInfo> com = new CommonDALOperate <HK_TodayEntrustInfo>();
                    list = com.PagingQueryProcedures(ppInfo, out total, dal.ReaderBind);
                    //list = dal.PagingXH_TodayEntrustByFilter(ppInfo, out total);
                }
                catch (Exception ex)
                {
                    errorMsg = ex.Message;
                    LogHelper.WriteError(ex.ToString(), ex);
                }
                #endregion
            }
            return(list);
        }