/// <summary>
        /// 获取在线用户列表
        /// </summary>
        public void GetOnlineClientsExecute()
        {
            UserQueryConInfomation uqc = new UserQueryConInfomation
            {
                LoginID = _loginID,
                TradeAccount = OnlineAccountSelectCondition.Account,
                UserName = OnlineAccountSelectCondition.UserName,
                CardNum = OnlineAccountSelectCondition.CardNum,
                UserTypeInfo = UserTypeInfo.NormalType,
                OnLine = true,
            };
            int pageCount = 0;
            OnLineUserBaseInfo = _businessService.GetUserBaseInfoWithPage(uqc, OnlineAccountSelectCondition.PageIndex, OnlineAccountSelectCondition.PageSize, ref pageCount);

            if (OnLineUserBaseInfo.Result)
            {
                OnlineAccountSelectCondition.PageCount = pageCount;
            }
            else
            {
                MessageBox.Show(OnLineUserBaseInfo.Desc, "错误", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
        public void GetAccountsByGroupEx()
        {
            try
            {
                GroupAccounts.Clear();
                if (CurUserGroup == null)
                {
                    return;
                }
                UserQueryConInfomation uqc = new UserQueryConInfomation
                {
                    LoginID = _loginID,
                    TradeAccount = UserGroupSelectCon.Account,
                    UserName = UserGroupSelectCon.UserName,
                    CardNum = UserGroupSelectCon.CardNum,
                    OrgName = UserGroupSelectCon.OrgName,
                    UserTypeInfo = UserTypeInfo.NormalType,
                    GroupID = CurUserGroup.UserGroupId
                };
                int pageCount = 0;
                UserBaseInfo = _businessService.GetUserBaseInfoWithPage(uqc, UserGroupSelectCon.PageIndex, UserGroupSelectCon.PageSize, ref pageCount);

                if (UserBaseInfo.Result)
                {
                    UserGroupSelectCon.PageCount = pageCount;
                    foreach (var item in UserBaseInfo.TdUserList)
                    {
                        GroupAccounts.Add(item);
                    }
                }
                else
                {
                    MessageBox.Show(UserBaseInfo.Desc, "错误", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Warning);
            }

        }
 /// <summary>
 /// 获取管理员账户列表(采用异步方式)
 /// </summary>
 public void GetManagerListExecute()
 {
     UserQueryConInfomation uqc = new UserQueryConInfomation
     {
         LoginID = _loginID,
         TradeAccount = ManagerAccountSelectCondition.Account,
         UserName = ManagerAccountSelectCondition.UserName,
         CardNum = ManagerAccountSelectCondition.CardNum,
         UserTypeInfo = UserTypeInfo.AdminType,
     };
     List<ClientAccount> clientList;
     if (ManagerAccountList != null && ManagerAccountList.Count > 0)
         ManagerAccountList.Clear();
     else
         ManagerAccountList = new ObservableCollection<ClientAccount>();
     int pageCount = 0;
     ErrType err = _businessService.GetUserBaseInfoWithPage(uqc, ManagerAccountSelectCondition.PageIndex, ManagerAccountSelectCondition.PageSize,
         ref pageCount, out clientList);
     if (err == GeneralErr.Success)
     {
         if (clientList != null)
         {
             clientList.ForEach(item => ManagerAccountList.Add(item));
         }
         ManagerAccountSelectCondition.PageCount = pageCount;
     }
     else
     {
         MessageBox.Show(err.ErrMsg, err.ErrTitle, MessageBoxButton.OK, MessageBoxImage.Warning);
     }
 }
        /// <summary>
        /// 客户资料分页查询
        /// </summary>
        /// <param name="Cxqc">查询条件</param>
        /// <param name="pageindex">当前页</param>
        /// <param name="pagesize">页大小</param>
        /// <param name="pagesize">输出参数:总页数</param>
        /// <param name="page">返回列表</param>
        /// <returns></returns>
        public void GetUserBaseInfoWithPage()
        {
            if (CanGetUserBaseInfoWithPage == false)
            {
                return;
            }
          
            UserQueryConInfomation uqc = new UserQueryConInfomation
            {
                LoginID = _loginID,
                TradeAccount = ClientAccountSelectCondition.Account,
                UserName = ClientAccountSelectCondition.UserName,
                CardNum = ClientAccountSelectCondition.CardNum,
                OrgName = ClientAccountSelectCondition.OrgName,
                UserTypeInfo = UserTypeInfo.NormalType,
                TelPhone=ClientAccountSelectCondition.Phone,
                StartTime = ClientAccountSelectCondition.StartTime,
                Broker = ClientAccountSelectCondition.Broker,
                EndTime = ClientAccountSelectCondition.EndTime.AddDays(1)
            };
            if (string.IsNullOrEmpty(ClientAccountSelectCondition.IsBroker) || ClientAccountSelectCondition.IsBroker=="全部")
            {
                uqc.IsBroker = "0";
            }
            else if (ClientAccountSelectCondition.IsBroker == "是")
                uqc.IsBroker = "1";
            else
                uqc.IsBroker = "2";
                 
            int pageCount = 0;
            UserBaseInfo = _businessService.GetUserBaseInfoWithPage(uqc, ClientAccountSelectCondition.PageIndex, ClientAccountSelectCondition.PageSize, ref pageCount);

            if (UserBaseInfo.Result)
            {
                ClientAccountSelectCondition.PageCount = pageCount;
            }
            else
            {
                MessageBox.Show(UserBaseInfo.Desc, "错误", MessageBoxButton.OK, MessageBoxImage.Warning);
            }


        }
        /// <summary>
        /// 客户资料分页查询
        /// </summary>
        /// <param name="Cxqc">查询条件</param>
        /// <param name="pageindex">当前页</param>
        /// <param name="pagesize">页大小</param>
        /// <param name="pagesize">输出参数:总页数</param>
        /// <returns></returns>
        public ClientUserBaseInfo GetUserBaseInfoWithPage(UserQueryConInfomation Uqc, int pageindex, int pagesize, ref int pageCount)
        {
            ClientUserBaseInfo cinfo = new ClientUserBaseInfo();
            try
            {

                UserQueryCon query = MyConverter.ToUserQueryCon(Uqc);
                UserBaseInfo info = ManagerService.GetUserBaseInfoWithPage(query, pageindex, pagesize, ref pageCount);
                cinfo.Result = info.Result;
                cinfo.Desc = info.Desc;
                cinfo.FrozenMoney = info.FrozenMoney;
                cinfo.DongJieMoney = info.DongJieMoney;
                cinfo.Money = info.Money;
                cinfo.OccMoney = info.OccMoney;
                info.TdUserList.ForEach(p => cinfo.TdUserList.Add(MyConverter.ToClientAccount(p)));

            }
            catch (TimeoutException te)
            {
                cinfo.Result = false;
                cinfo.Desc = te.Message;
            }
            catch (Exception ex)
            {
                cinfo.Result = false;
                cinfo.Desc = ErrorText.GetClientInfoError;
            }
            return cinfo;

        }
        /// <summary>
        /// 客户资料分页查询
        /// </summary>
        /// <param name="Cxqc">查询条件</param>
        /// <param name="pageindex">当前页</param>
        /// <param name="pagesize">页大小</param>
        /// <param name="pagesize">输出参数:总页数</param>
        /// <param name="page">返回列表</param>
        /// <returns></returns>
        public ErrType GetUserBaseInfoWithPage(UserQueryConInfomation Uqc, int pageindex, int pagesize, ref int pageCount, out List<ClientAccount> clientList)
        {
            clientList = null;
            try
            {
                UserQueryCon query = MyConverter.ToUserQueryCon(Uqc);
                UserBaseInfo info = ManagerService.GetUserBaseInfoWithPage(query, pageindex, pagesize, ref pageCount);
                if (!info.Result)
                    return new ErrType(ERR.SERVICE, info.Desc);

                clientList = info.TdUserList.Select(MyConverter.ToClientAccount).ToList();
                return GeneralErr.Success;
            }
            catch (TimeoutException te)
            {
                FileLog.WriteLog("", Assembly.GetExecutingAssembly().GetName().Name, this.GetType().Name, new StackTrace().GetFrame(0).GetMethod().Name, te.Message);
                return new ErrType(ERR.EXEPTION, ErrorText.TimeoutException);
            }
            catch (Exception ex)
            {
                FileLog.WriteLog("", Assembly.GetExecutingAssembly().GetName().Name, this.GetType().Name, new StackTrace().GetFrame(0).GetMethod().Name, ex.Message);
                return new ErrType(ERR.EXEPTION, ErrorText.GetClientInfoError);
            }
        }
 internal static UserQueryCon ToUserQueryCon(UserQueryConInfomation query)
 {
     return new UserQueryCon
     {
         LoginId = query.LoginID,
         UType = EnumConverter.ConverterUserType(query.UserTypeInfo),
         TradeAccount = query.TradeAccount,
         UserName = query.UserName,
         CardNum = query.CardNum,
         OnLine = query.OnLine,
         OrgName = query.OrgName,
         UserGroupId = query.GroupID,
         TelPhone = query.TelPhone,
         StartTime = query.StartTime,
         EndTime = query.EndTime,
         IsBroker = query.IsBroker,
         Broker = query.Broker
     };
 }