From 72e397e4550177496288503ab15d74ba077c5b78 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 15 八月 2023 15:14:27 +0800
Subject: [PATCH] 2023年08月15日15:14:20

---
 HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs |  118 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 78 insertions(+), 40 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs
index 926232b..f2d5ab6 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs
@@ -35,7 +35,7 @@
         /// <summary>
         /// 褰辩墖鍒楄〃
         /// </summary>
-        List<MovieLibrary> mMovieLibraryList;
+        List<MovieLibrary> mMovieLibraryList=new List<MovieLibrary>();
         /// <summary>
         /// 椤堕儴甯冨眬
         /// </summary>
@@ -111,14 +111,14 @@
         /// </summary>
         private void LoadFTypeLayout()
         {
-           
+
             fLayout.RemoveAll();
             int count = this.mFilterCategoryList == null ? 0 : this.mFilterCategoryList.Count;
             horizontalFl = new CornerFramLayout(375, count * 75);
             fLayout.AddChidren(horizontalFl);
             horizontalFl.LoadHorizontalPage(this.mFilterCategoryList);
             horizontalFl.AdjustRealHeight(20);
-            
+
             vv = new VerticalRefreshLayout()
             {
                 Y = horizontalFl.Bottom,
@@ -129,32 +129,7 @@
             horizontalFl.selectKeyAction += (filters) =>
             {
                 AddMemoryFilters(filters);
-                CommonMethod.Current.Loading.Start();
-                CommonMethod.Current.SunThread(() =>
-                {
-                    try
-                    {
-                        this.mMovieLibraryList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, this.FiltersList.Values.ToList(), pageNo, SendMethod.pageSize);
-                        for (int i = 0; i < this.mMovieLibraryList.Count; i++)
-                        {
-                            var mMovieLibrary = this.mMovieLibraryList[i];
-                            var bytes = SendMethod.Current.GetImage(mMovieLibrary.posterUrl);
-                            mMovieLibrary.imageBytes = bytes;
-
-                        }
-                    }
-                    catch { }
-                    finally
-                    {
-                        CommonMethod.Current.MainThread(() =>
-                        {
-                            CommonMethod.Current.Loading.Hide();
-                            this.LoadImageFLayout();
-
-                        });
-                    }
-                });
-
+                UpdateData();
             };
 
         }
@@ -191,11 +166,12 @@
             {
                 //鍏抽棴鍒锋柊View锛�
                 vv.EndHeaderRefreshing();
+                UpdateData();
             };
         }
 
         /// <summary>
-        /// 鍒濆鏁版嵁
+        /// 鍒濆鍖栨暟鎹�
         /// </summary>
         private void ReadData()
         {
@@ -205,15 +181,8 @@
                 try
                 {
                     this.mFilterCategoryList = SendMethod.Current.GetFilterCategoryLits(this.remoteControl.deviceId, this.remoteControl.rcId);
-
-                    this.mMovieLibraryList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, new List<Filters>(), pageNo, SendMethod.pageSize);
-                    for (int i = 0; i < this.mMovieLibraryList.Count; i++)
-                    {
-                        var mMovieLibrary = this.mMovieLibraryList[i];
-                        var bytes = SendMethod.Current.GetImage(mMovieLibrary.posterUrl);
-                        mMovieLibrary.imageBytes = bytes;
-
-                    }
+                    var newList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, new List<Filters>(), pageNo, SendMethod.pageSize);
+                    DataTreating(newList);
                 }
                 catch { }
                 finally
@@ -230,8 +199,77 @@
 
         }
 
+        /// <summary>
+        /// 涓诲姩鏇存柊鏁版嵁
+        /// </summary>
+        private void UpdateData()
+        {
 
-        private void AddMemoryFilters(Filters filters) {
+            CommonMethod.Current.Loading.Start();
+            CommonMethod.Current.SunThread(() =>
+            {
+                try
+                {
+                    var newList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, this.FiltersList.Values.ToList(), pageNo, SendMethod.pageSize);
+                    DataTreating(newList);
+                }
+                catch { }
+                finally
+                {
+                    CommonMethod.Current.MainThread(() =>
+                    {
+                        CommonMethod.Current.Loading.Hide();
+                        this.LoadImageFLayout();
+                    });
+                }
+            });
+
+        }
+
+        /// <summary>
+        /// 椤甸潰澶勭悊閫昏緫
+        /// </summary>
+        /// <param name="newList">鏂板垪琛ㄦ暟鎹�</param>
+        private void DataTreating(List<MovieLibrary> newList)
+        {
+            if (newList == null)
+            {
+                return;
+            }
+            for (int i = 0; i < newList.Count; i++)
+            {
+                var mMovieLibrary = newList[i];
+                //鍥剧墖鐨勫瓧鑺傛祦
+                var bytes = SendMethod.Current.GetImage(mMovieLibrary.posterUrl);
+                //鏇存柊鍊�
+                mMovieLibrary.imageBytes = bytes;
+
+            }
+            for (int i = 0; i < newList.Count; i++)
+            {
+                //鍘婚噸
+                var mMovieLibrary = this.mMovieLibraryList.Find((o) => o.movieId == newList[i].movieId);
+                if (mMovieLibrary == null)
+                {
+                    //鏂板垪琛ㄩ粯璁ゅ姞鍦ㄥ墠闈�
+                    this.mMovieLibraryList.Insert(0, newList[i]);
+                }
+            }
+            if (newList.Count == SendMethod.pageSize)
+            {
+                //鏁版嵁鍥炲鏇存柊椤垫暟
+                pageNo++;
+            }
+
+        }
+
+
+        /// <summary>
+        /// 娣诲姞杩囨护鏁版嵁
+        /// </summary>
+        /// <param name="filters">杩囨护鏉′欢</param>
+        private void AddMemoryFilters(Filters filters)
+        {
 
             if (FiltersList.ContainsKey(filters.category))
             {

--
Gitblit v1.8.0