Exemple #1
0
        /// <summary>
        /// 获取交易订单的拍品列表
        /// </summary>
        /// <param name="tvaid">经销商id</param>
        /// <returns></returns>
        public List <BuyCarModel> GetBuyCarModelList(int tvaid)
        {
            //return null;
            string             key     = "CarList";
            AuctionMainFormBiz biz     = new AuctionMainFormBiz();
            List <BuyCarModel> bcmlist = base.CurrentContext.Session.Get <List <BuyCarModel> >(key);

            if (bcmlist == null)
            {
                bcmlist = new List <BuyCarModel>();
                bcmlist = biz.GetBuyCarModelList(tvaid);
                base.CurrentContext.Session.Set <List <BuyCarModel> >(key, bcmlist);
            }
            else if (bcmlist.Count >= 0)
            {
                bcmlist.ForEach(p => p.DataStatus = 0);
                List <BuyCarModel> middlelist = GetAllBuyCarModelList();
                foreach (BuyCarModel bcm in bcmlist.ToList())
                {
                    BuyCarModel buycarmodel = middlelist.Find(p => p.OrderId == bcm.OrderId);
                    if (buycarmodel != null)
                    {
                        if (bcm.OrderState != buycarmodel.OrderState || bcm.ArbState != buycarmodel.ArbState || bcm.TstResult != buycarmodel.TstResult)
                        {
                            bcmlist.RemoveAll(p => p.OrderId == bcm.OrderId);
                            buycarmodel.DataStatus = 1;
                            bcmlist.Add(buycarmodel);
                        }
                    }
                }
                List <BuyCarModel> entitylist = middlelist.FindAll(p => p.BuyTvaId == tvaid && p.TstResult == TstResult.交易中);
                List <BuyCarModel> tempList   = bcmlist.FindAll(p => p.TstResult == TstResult.交易中);
                if (entitylist != null && entitylist.Count > tempList.Count)
                {
                    var        idlist = (from c in entitylist select c.OrderId).Except(from d in tempList select d.OrderId);
                    List <int> ids    = idlist.ToList();
                    foreach (int orderid in ids)
                    {
                        BuyCarModel bcm = new BuyCarModel();
                        bcm            = middlelist.Find(p => p.OrderId == orderid);
                        bcm.DataStatus = 2;
                        bcmlist.Add(bcm);
                    }
                }
            }
            return(bcmlist.FindAll(p => p.DataStatus != 0));
        }