From 3bc0b933b0bbcd7e8672ca6888ec1a090f52e277 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期一, 01 四月 2019 14:14:41 +0800
Subject: [PATCH] 3335 拍卖行修改

---
 System/Auction/AuctionModel.cs |   90 +++++++++++++++++++++-----------------------
 1 files changed, 43 insertions(+), 47 deletions(-)

diff --git a/System/Auction/AuctionModel.cs b/System/Auction/AuctionModel.cs
index 367993c..45d92e8 100644
--- a/System/Auction/AuctionModel.cs
+++ b/System/Auction/AuctionModel.cs
@@ -55,7 +55,6 @@
         public event Action myFocusAuctionRefresh;//鎷嶅崠琛屽叧娉ㄤ腑鐨勬媿鍝佷俊鎭彉鏇达紙淇℃伅姣忔閲嶇疆锛�
         public event Action auctionItemRefresh;//鎷嶅崠琛屾暟鎹埛鏂�(浠呯敤浜庢暟鎹埛鏂�)
         public event Action onAuctionRemove;//鎷嶅崠琛岀墿鍝佹竻闄�
-        public event Action onFairyAuctionRemove;//娓呴櫎浠欑洘鐗╁搧
         public event Action AddAuctionItemInfoUpdate;
 
         AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
@@ -114,9 +113,9 @@
             if (PlayerDatas.Instance.baseData.FamilyId == 0)
             {
                 m_FairyAuctionItemGuids.Clear();
-                if (onFairyAuctionRemove != null)
+                if (fairyAuctionRefresh != null)
                 {
-                    onFairyAuctionRemove();
+                    fairyAuctionRefresh();
                 }
             }
         }
@@ -343,11 +342,8 @@
                 item.itemId = (int)data.ItemID;
                 item.itemCount = (int)data.ItemCount;
                 item.putAwayTime = DateTime.Parse(data.AddTime);
-                var str = UIHelper.ServerStringTrim(data.BiddingTime);
-                if (!str.Equals(string.Empty))
-                {
-                    item.biddingTime = DateTime.Parse(str);
-                }
+                var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime);
+                item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel);
                 item.biddingPrice = data.BidderPrice;
                 item.customData = data.UserData;
 
@@ -400,11 +396,8 @@
                 item.itemId = (int)data.ItemID;
                 item.itemCount = (int)data.ItemCount;
                 item.putAwayTime = DateTime.Parse(data.AddTime);
-                var str = UIHelper.ServerStringTrim(data.BiddingTime);
-                if (!str.Equals(string.Empty))
-                {
-                    item.biddingTime = DateTime.Parse(str);
-                }
+                var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime);
+                item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel);
                 item.biddingPrice = data.BidderPrice;
                 item.customData = data.UserData;
 
@@ -496,11 +489,8 @@
                 item.itemId = (int)data.ItemID;
                 item.itemCount = (int)data.ItemCount;
                 item.putAwayTime = DateTime.Parse(data.AddTime);
-                var str = UIHelper.ServerStringTrim(data.BiddingTime);
-                if (!str.Equals(string.Empty))
-                {
-                    item.biddingTime = DateTime.Parse(str);
-                }
+                var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime);
+                item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel);
                 item.biddingPrice = data.BidderPrice;
                 item.customData = data.UserData;
                 item.familyPlayers = new List<int>();
@@ -538,11 +528,8 @@
                 item.itemId = (int)data.ItemID;
                 item.itemCount = (int)data.ItemCount;
                 item.putAwayTime = DateTime.Parse(data.AddTime);
-                var str = UIHelper.ServerStringTrim(data.BiddingTime);
-                if (!str.Equals(string.Empty))
-                {
-                    item.biddingTime = DateTime.Parse(str);
-                }
+                var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime);
+                item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel);
                 item.biddingPrice = data.BidderPrice;
                 item.customData = data.UserData;
 
@@ -577,6 +564,8 @@
 
         public void ReceivePackage(HB508_tagGCRefreshAuctionItemInfo package)//鎷嶅崠琛屽埛鏂版媿鍝�(鍙繘琛屽埛鏂�)
         {
+            var refreshFairyAuction = false;
+
             for (int i = 0; i < package.RefreshCount; i++)
             {
                 var data = package.RefreshAuctionItemList[i];
@@ -586,37 +575,43 @@
                 AuctionItem item;
                 if (!TryGetAuctionItem(guid, out item))
                 {
-                    continue;
+                    item = new AuctionItem(guid);
+                    PushAuctionItem(item);
                 }
+
+                var _autionType = item.auctionType;
 
                 item.auctionType = data.AuctionType;
                 item.putAwayTime = DateTime.Parse(data.AddTime);
-                item.biddingTime = DateTime.Parse(data.BiddingTime);
+                var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime);
+                item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel);
                 item.biddingPlayer = (int)data.BidderID;
                 item.biddingPrice = (int)data.BidderPrice;
-                var str = UIHelper.ServerStringTrim(data.BiddingTime);
-                if (!str.Equals(string.Empty))
-                {
-                    item.biddingTime = DateTime.Parse(str);
-                }
 
-                if (m_FairyAuctionItemGuids.Contains(guid) && item.auctionType != 1)// 鎷嶅崠琛屼粰鐩熸媿鍗栦腑鐨勭墿鍝佷俊鎭�
+                if (_autionType == 1 && item.auctionType != 1)// 鎷嶅崠琛屼粰鐩熸媿鍗栦腑鐨勭墿鍝佷俊鎭�
                 {
-                    m_FairyAuctionItemGuids.Remove(guid);
-                    if (onFairyAuctionRemove != null)
-                    {
-                        onFairyAuctionRemove();
-                    }
+                    refreshFairyAuction = true;
                 }
-                if (auctionItemRefresh != null)
+            }
+
+            if (refreshFairyAuction)
+            {
+                if (fairyAuctionRefresh != null)
                 {
-                    auctionItemRefresh();
+                    fairyAuctionRefresh();
                 }
+            }
+
+            if (auctionItemRefresh != null)
+            {
+                auctionItemRefresh();
             }
         }
 
         public void ReceivePackage(HB509_tagGCClearAuctionItemInfo package)//鎷嶅崠琛屾竻闄ゆ媿鍝� 
         {
+            var refreshFairyAuction = false;
+
             for (int i = 0; i < package.ClearCount; i++)
             {
                 var ItemGUIDList = package.ClearAuctionItemList[i];
@@ -629,10 +624,7 @@
                 if (m_FairyAuctionItemGuids.Contains(guid))// 娓呴櫎鎷嶅崠琛屼粰鐩熸媿鍗栦腑鐨勭墿鍝佷俊鎭�
                 {
                     m_FairyAuctionItemGuids.Remove(guid);
-                    if (onFairyAuctionRemove != null)
-                    {
-                        onFairyAuctionRemove();
-                    }
+                    refreshFairyAuction = true;
                 }
                 var index = m_ServerAuctionItemGuids.IndexOf(guid);
                 if (index != -1)//娓呴櫎鍏ㄦ湇鎷嶅搧鐨勬煇涓�浠剁墿鍝�
@@ -649,6 +641,13 @@
                 }
 
                 RemoveAuctionItem(guid);
+            }
+            if (refreshFairyAuction)
+            {
+                if (fairyAuctionRefresh != null)
+                {
+                    fairyAuctionRefresh();
+                }
             }
             if (onAuctionRemove != null)
             {
@@ -675,11 +674,8 @@
                 item.itemCount = data.ItemCount;
                 item.familyId = (int)data.FamilyID;
                 item.putAwayTime = DateTime.Parse(data.AddTime);
-                var str = UIHelper.ServerStringTrim(data.BiddingTime);
-                if (!str.Equals(string.Empty))
-                {
-                    item.biddingTime = DateTime.Parse(str);
-                }
+                var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime);
+                item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel);
                 item.biddingPrice = data.BidderPrice;//绔炴媿鐜╁鍑轰环
                 item.biddingPlayer = (int)data.BidderID;//绔炴媿鐜╁ID锛屼篃灏辨槸褰撳墠鏈�楂樼珵浠风帺瀹禝D
                 item.customData = data.UserData;

--
Gitblit v1.8.0