public void GetMultiLTradeOrderWithPage(string OrderType, string OrgName, string ProductName, string AccountName, string StockCode, DateTime startTime, DateTime endTime, int pageindex, int pagesize, ref int pageCount)
 {
     CxQueryConInfomation infomation = new CxQueryConInfomation
     {
         ProductName = ProductName,
         //UserType = (int)_accType,
         TradeAccount = AccountName,
         LoginID = _loginID,
         StartTime = startTime,
         EndTime = endTime,
         OrgName = OrgName,
         OrderType = OrderType,
         StockCode = StockCode
     };
      LTradeOrderInfo = _businessService.GetMultiLTradeOrderWithPage(infomation, "1", pageindex, pagesize,ref pageCount);
     if (!LTradeOrderInfo.Result)
     {
         MessageBox.Show(LTradeOrderInfo.Desc, "错误", MessageBoxButton.OK, MessageBoxImage.Warning);
     }
 }
        /// <summary>
        /// 有效定单分页查询
        /// </summary>
        /// <param name="StartTime"></param>
        /// <param name="EndTime"></param>
        /// <param name="pageCount"></param>
        /// <returns></returns>
        public void GetMultiTradeOrderWithPage(string OrderType, string OrgName, string ProductName, string AccountName, string StockCode, DateTime startTime,
            DateTime endTime, int pageindex, int pagesize, ref int pageCount)
        {
            CxQueryConInfomation infomation = new CxQueryConInfomation
            {
                OrgName=OrgName,
                ProductName = ProductName,
                TradeAccount = AccountName,
                LoginID = _loginID,
                StartTime = startTime,
                EndTime = endTime,
                OrderType = OrderType,
                StockCode = StockCode,
            };
            TradeOrderInfo = _businessService.GetMultiTradeOrderWithPage(infomation, pageindex, pagesize, ref pageCount);

            if (TradeOrderInfo.Result)
            {
                foreach (var item in TradeOrderInfo.TdOrderList)
                {
                    ProductInformation productInfo = GetProductInfoByName(item.ProductName);
                    item.OwnedProduct = productInfo;
                }

                //按时间排序处理
                TradeOrderInfo.TdOrderList.OrderByDescending(item => item.OrderTime).ToList();
               
            }
            else
                MessageBox.Show(TradeOrderInfo.Desc, "错误", MessageBoxButton.OK, MessageBoxImage.Warning);
          
        }
 /// <summary>
 /// 限价定单分页查询
 /// </summary>
 /// <param name="StartTime"></param>
 /// <param name="EndTime"></param>
 /// <param name="pageCount"></param>
 /// <returns></returns>
 public void GetMultiTradeHoldOrderWithPage(string OrderType, string OrgName, string ProductName, string AccountName, string StockCode, DateTime startTime, DateTime endTime, int pageindex, int pagesize, ref int pageCount)
 {
     CxQueryConInfomation infomation = new CxQueryConInfomation
     {
         ProductName = ProductName,
         //UserType = (int)_accType,
         TradeAccount = AccountName,
         LoginID = _loginID,
         StartTime = startTime,
         EndTime = endTime,
         OrgName = OrgName,
         OrderType = OrderType,
         StockCode = StockCode
     };
    
     TradeHoldOrderInfo = _businessService.GetMultiTradeHoldOrderWithPage(infomation, pageindex, pagesize, ref pageCount);
     foreach (var item in TradeHoldOrderInfo.TdHoldOrderList)
     {
         ProductInformation productInfo = GetProductInfoByName(item.ProductName);
         item.OwnedProduct = productInfo;
     }
     if (!TradeHoldOrderInfo.Result)
     {
         MessageBox.Show(TradeHoldOrderInfo.Desc, "错误", MessageBoxButton.OK, MessageBoxImage.Warning); 
     }
 }
        /// <summary>
        /// 交割单[买跌]分页查询 马友春
        /// </summary>
        public ErrType GetMultiTradeChcekWithPage(CxQueryConInfomation query, int pageindex,
            int pagesize, ref int pageCount, ref List<BzjRecoverOrder> bzjRecoverOrderList)
        {
            try
            {
                //Todo:金通网待处理
                #region MyRegion
                //bzjRecoverOrderList.Clear();
                //CxQueryCon Cxqc = MyConverter.ToCxQueryCon(query);
                //RecoverOrderInfo info = ManagerService.GetMultiTradeChcekWithPage(Cxqc, pageindex, pagesize, ref pageCount);
                //if (!info.Result)
                //    return new ErrType(ERR.SERVICE, info.Desc);
                //if (info.RecoverOrderList != null)
                //{
                //    bzjRecoverOrderList = info.RecoverOrderList.Select(MyConverter.ToBzjRecoverOrder).ToList();
                //    bzjRecoverOrderList.OrderByDescending(p => p.OverPrice);
                //} 
                #endregion

                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.QueryError);
            }
        }
 public ClientFundChangeInfo GetMultiFundChangeWithPage(CxQueryConInfomation Fcqc, int pageindex, int pagesize, ref int page)
 {
     throw new NotImplementedException();
 }
        public ClientTradeHoldOrderInfo GetMultiTradeHoldOrderWithPage(CxQueryConInfomation Cxqc, int pageindex, int pagesize, ref int pageCount)
        {
            ClientTradeHoldOrderInfo cinfo = new ClientTradeHoldOrderInfo();
            try
            {
                CxQueryCon con = MyConverter.ToCxQueryCon(Cxqc);
                TradeHoldOrderInfo info = ManagerService.GetMultiTradeHoldOrderWithPage(con, pageindex, pagesize, ref pageCount);
                if (!info.Result)
                {
                    cinfo.Result = false;
                }
                else
                {
                    cinfo.Desc = info.Desc;
                    cinfo.FrozenMoney = info.FrozenMoney;
                    cinfo.Quantity = info.Quantity;
                    cinfo.Result = info.Result;
                    info.TdHoldOrderList.ForEach(p => cinfo.TdHoldOrderList.Add(MyConverter.ToPendingOrderData(p)));

                }
            }
            catch (TimeoutException te)
            {
                cinfo.Result = false;
                cinfo.Desc = ErrorText.TimeoutException;
            }
            catch (Exception ex)
            {
                cinfo.Result = false;
                cinfo.Desc = ErrorText.GetPendingOrderList;
            }
            return cinfo;
        }
        /// <summary>
        /// 平仓历史分页查询
        /// </summary>
        /// <param name="Cxqc"></param>
        /// <param name="Ltype"></param>
        /// <param name="pageindex"></param>
        /// <param name="pagesize"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public ClientLTradeOrderInfo GetMultiLTradeOrderWithPage(CxQueryConInfomation Cxqc, string Ltype, int pageindex, int pagesize, ref int page)
        {
            ClientLTradeOrderInfo cinfo = new ClientLTradeOrderInfo();
            try
            {

                LQueryCon con = MyConverter.ToLQueryCon(Cxqc);

                LTradeOrderInfo info = ManagerService.GetMultiLTradeOrderWithPage(con, Ltype, pageindex, pagesize, ref page);
                cinfo.Result = info.Result;
                cinfo.Desc = info.Desc;
                cinfo.Quantity = info.Quantity;
                cinfo.ProfitValue = info.ProfitValue;
                cinfo.Storagefee = info.Storagefee;
                cinfo.Tradefee = info.Tradefee;
                info.LTdOrderList.ForEach(p => cinfo.TOrderLst.Add(MyConverter.ToMarketHistoryData(p)));
                return cinfo;
            }
            catch (TimeoutException te)
            {
                cinfo.Result = false;
                cinfo.Desc = ErrorText.TimeoutException;
                return cinfo;
            }
            catch (Exception ex)
            {
                cinfo.Result = false;
                cinfo.Desc = ErrorText.GetPendingOrderList;
                return cinfo;
            }
        }
        /// <summary>
        /// 有效定单分页查询GetMultiTradeOrderWithPage
        /// </summary>
        /// <param name="Cxqc">查询条件</param>
        /// <param name="pageindex">当前页</param>
        /// <param name="pagesize">页大小</param>
        /// <param name="pagesize">返回列表</param>
        /// <param name="page">输出参数:总页数</param>
        /// <returns></returns>
        public ClientTradeOrderInfo GetMultiTradeOrderWithPage(CxQueryConInfomation Cxqc, int pageindex, int pagesize, ref int pageCount)
        {
            ClientTradeOrderInfo cinfo = new ClientTradeOrderInfo();
            try
            {

                CxQueryCon con = MyConverter.ToCxQueryCon(Cxqc);

                TradeOrderInfo info = ManagerService.GetMultiTradeOrderWithPage(con, pageindex, pagesize, ref pageCount);
                cinfo.Desc = info.Desc;
                cinfo.OccMoney = info.OccMoney;
                cinfo.Quantity = info.Quantity;
                cinfo.Result = info.Result;
                cinfo.Storagefee = info.Storagefee;
                cinfo.Tradefee = info.Tradefee;
                info.TdOrderList.ForEach(p => cinfo.TdOrderList.Add(MyConverter.ToMarketOrderData(p)));
                return cinfo;
            }
            catch (TimeoutException te)
            {
                cinfo.Result = false;
                cinfo.Desc = ErrorText.TimeoutException;
                return cinfo;
            }
            catch (Exception ex)
            {
                cinfo.Result = false;
                cinfo.Desc = ErrorText.GetMarketOrderList;
                return cinfo;
            }
        }
 /// <summary>
 /// 获取买跌交割单数据
 /// </summary>
 public void GetDeliveryBackGoodsExecute()
 {
     if (DeliveryBackGoodsList != null && DeliveryBackGoodsList.Count > 0)
         DeliveryBackGoodsList.Clear();
     CxQueryConInfomation query = new CxQueryConInfomation();
     query.UserType = (int)_accType;
     query.TradeAccount = DeliveryBackGoodsCondition.Account;
     query.LoginID = _loginID;
     query.StartTime = DeliveryBackGoodsCondition.StartTime;
     query.EndTime = DeliveryBackGoodsCondition.EndTime.AddDays(1);
     int pageCount = 0;
     ErrType err = _businessService.GetMultiTradeChcekWithPage(query, DeliveryBackGoodsCondition.PageIndex,
                                                               DeliveryBackGoodsCondition.PageSize, ref pageCount,
                                                               ref _DeliveryBackGoodsList);
     if (err.Err != ERR.SUCCESS)
     {
         MessageBox.Show(err.ErrMsg, err.ErrTitle, MessageBoxButton.OK, MessageBoxImage.Error);
     }
     else
     {
         DeliveryBackGoodsCondition.PageCount = pageCount;
         DeliveryBackGoodsList = _DeliveryBackGoodsList;
     }
 }
        internal static LQueryCon ToLQueryCon(CxQueryConInfomation query)
        {
            return new LQueryCon
            {
                ProductName = query.ProductName,
                TradeAccount = query.TradeAccount,
                LoginID = query.LoginID,
                StartTime = query.StartTime,
                EndTime = query.EndTime,
                OrgName = query.OrgName,
                OrderType = query.OrderType,
                PriceCode = query.StockCode

            };
        }