From efcffde735fa65ae34bae0bcc86313b74ed0e36c Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 20 五月 2024 13:47:38 +0800
Subject: [PATCH] 优化离线数据

---
 HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/CombinedDimmingListPage.cs |  313 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 312 insertions(+), 1 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/CombinedDimmingListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/CombinedDimmingListPage.cs
index 73e67bc..b630a7e 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/CombinedDimmingListPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/CombinedDimmingListPage.cs
@@ -1,10 +1,321 @@
 锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.Common;
+using HDL_ON.DAL.Server;
+using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Newtonsoft.Json;
+using Shared;
+
 namespace HDL_ON.UI
 {
-    public class CombinedDimmingListPage
+    public class CombinedDimmingListPage : FrameLayout
     {
+        FrameLayout bodyView;
+        VerticalScrolViewLayout contentView;
+
         public CombinedDimmingListPage()
         {
+            bodyView = this;
         }
+
+        public void LoadPage()
+        {
+
+            var topView = new TopViewDiv(bodyView, Language.StringByID(StringId.GroupControl));
+            topView.maginY = 10;
+            topView.LoadTopView_AddIcon("CombinedDimming",
+                (s, c) =>
+                {
+                    try
+                    {
+                        var page = new AddGroupControlPage(null,
+                            (newGC) =>
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    LoadGroupControlView();
+                                });
+                            }, () => { });
+                        MainPage.BasePageView.AddChidren(page);
+                        page.LoadPage();
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    }
+                    catch { }
+                });
+
+            contentView = new VerticalScrolViewLayout()
+            {
+                Y = Application.GetRealHeight(64+10),
+                Height = Application.GetRealHeight(667 - 64-10),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+            };
+            bodyView.AddChidren(contentView);
+
+            ReadGroupControlList();
+
+            #region 
+            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
+
+
+
+            #endregion
+
+        }
+        /// <summary>
+        /// 璇诲彇缁勬帶鏁版嵁
+        /// </summary>
+        private void ReadGroupControlList()
+        {
+
+            new System.Threading.Thread(() =>
+            {
+                var pack = ApiUtlis.Ins.HttpRequest.GetGroupControlList();
+                if (pack != null)
+                {
+                    if (pack.Code == StateCode.SUCCESS)
+                    {
+                        try
+                        {
+                            //FunctionList.List.groupControls.Clear();
+                            //FunctionList.List.groupControls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString());
+
+                            try
+                            {
+                                var groupControlList = JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString());
+                                var readSidList = new List<string>();
+                                foreach (var temp in groupControlList)
+                                {
+                                    FunctionList.List.groupControls.Clear();
+                                    readSidList.Add(temp.userDeviceGroupControlId);
+                                    if (readSidList.Count >= 20)
+                                    {
+                                        var data = ApiUtlis.Ins.HttpRequest.GetGroupControInfo(readSidList);
+                                        if (data != null)
+                                        {
+                                            if (data.Code == StateCode.SUCCESS)
+                                            {
+                                                var groupControlInfoList = JsonConvert.DeserializeObject<List<GroupControl>>(data.Data.ToString());
+                                                FunctionList.List.groupControls.AddRange(groupControlInfoList);
+                                            }
+                                            else
+                                            {
+                                                IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                                            }
+                                        }
+                                        readSidList.Clear();
+                                    }
+                                }
+                                if (readSidList.Count > 0)
+                                {
+                                    var data = ApiUtlis.Ins.HttpRequest.GetGroupControInfo(readSidList);
+                                    if (data != null)
+                                    {
+                                        if (data.Code == StateCode.SUCCESS)
+                                        {
+                                            var groupControlInfoList = JsonConvert.DeserializeObject<List<GroupControl>>(data.Data.ToString());
+                                            FunctionList.List.groupControls.AddRange(groupControlInfoList);
+                                        }
+                                        else
+                                        {
+                                            IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                                        }
+                                    }
+                                    readSidList.Clear();
+                                }
+                            }
+                            catch (Exception ex)
+                            {
+                                MainPage.Log($"璇诲彇缁勬帶鍒楄〃澶辫触:{ex.Message}");
+                            }
+
+                            Application.RunOnMainThread(() =>
+                            {
+                                LoadGroupControlView();
+                            });
+                        }
+                        catch (Exception ex)
+                        {
+                            MainPage.Log($"璇诲彇缁勬帶鍒楄〃澶辫触:{ex.Message}");
+                        }
+                    }
+                    else
+                    {
+                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                    }
+                }
+            })
+            { IsBackground = true }.Start();
+
+        }
+
+
+        private void LoadGroupControlView()
+        {
+            contentView.RemoveAll();
+
+            foreach (var groupControl in FunctionList.List.groupControls)
+            {
+                var functionRow = new RowLayout()
+                {
+                    Height = Application.GetRealHeight(65),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                    LineColor = 0x00000000
+                };
+                contentView.AddChidren(functionRow);
+
+                var btnRight = new Button()
+                {
+                    X = Application.GetRealWidth(339),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(16),
+                    Height = Application.GetMinRealAverage(16),
+                    UnSelectedImagePath = "Public/Right.png",
+                };
+                functionRow.AddChidren(btnRight);
+
+                var btnFunctionName = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Y = Application.GetRealHeight(10),
+                    Width = Application.GetRealWidth(308),
+                    Height = Application.GetRealHeight(24),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    Text = groupControl.name,
+                };
+                functionRow.AddChidren(btnFunctionName);
+
+                var btnFunctionLocationInfo = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Y = btnFunctionName.Bottom,
+                    Width = Application.GetRealWidth(308),
+                    Height = Application.GetRealHeight(21),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextColor = CSS_Color.PromptingColor1,
+                    Text = groupControl.GetRoomListName(),
+                };
+                functionRow.AddChidren(btnFunctionLocationInfo);
+
+
+
+                functionRow.AddChidren(
+                    new Button()
+                    {
+                        Gravity = Gravity.CenterHorizontal,
+                        Y = Application.GetRealHeight(64),
+                        Height = Application.GetRealHeight(1),
+                        Width = Application.GetRealWidth(343),
+                        BackgroundColor = CSS_Color.DividingLineColor,
+                    });
+
+                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+                {
+                    var page = new AddGroupControlPage(groupControl,
+                       (newGC) =>
+                       {
+                           try
+                           {
+                               if (newGC != null)
+                               {
+                                   Application.RunOnMainThread(() =>
+                                   {
+                                       var localTemp = FunctionList.List.groupControls.Find((obj) => obj.deviceId == newGC.deviceId);
+                                       localTemp.roomIds = newGC.roomIds;
+                                       localTemp.uids = newGC.uids;
+                                       localTemp.sids = newGC.sids;
+                                       localTemp.name = newGC.name;
+                                       btnFunctionLocationInfo.Text = newGC.GetUidListName();
+                                       btnFunctionName.Text = newGC.name;
+                                   });
+                               }
+                           }
+                           catch (Exception ex)
+                           {
+                               MainPage.Log($"鍒锋柊缇ゆ帶鎴块棿淇℃伅寮傚父:{ex.Message}");
+                           }
+                       }, () =>
+                       {
+                           LoadGroupControlView();
+                       });
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+                functionRow.MouseUpEventHandler = eventHandler;
+                btnRight.MouseUpEventHandler = eventHandler;
+                btnFunctionName.MouseUpEventHandler = eventHandler;
+                btnFunctionLocationInfo.MouseUpEventHandler = eventHandler;
+
+                var btnDelGroupControl = new Button()
+                {
+                    TextColor = CSS_Color.MainBackgroundColor,
+                    BackgroundColor = CSS_Color.WarningColor,
+                    TextID = StringId.Del,
+                    TextAlignment = TextAlignment.Center,
+                };
+                functionRow.AddRightView(btnDelGroupControl);
+                btnDelGroupControl.MouseUpEventHandler = (sender1, e1) =>
+                {
+                    var waitPage = new Loading();
+                    this.AddChidren(waitPage);
+                    waitPage.Start("");
+                    new System.Threading.Thread(() =>
+                    {
+                        try
+                        {
+                            var pack = ApiUtlis.Ins.HttpRequest.DelGroupControl(groupControl.userDeviceGroupControlId);
+                            if (pack != null)
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    try
+                                    {
+                                        if (pack.Code == StateCode.SUCCESS)
+                                        {
+                                            var delTemp = FunctionList.List.groupControls.Find((obj) => groupControl.sid == obj.sid);
+                                            FunctionList.List.groupControls.Remove(delTemp);
+                                            LoadGroupControlView();
+                                        }
+                                        else
+                                        {
+                                            IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                                        }
+                                    }
+                                    catch (Exception ex)
+                                    {
+                                        MainPage.Log($"鍒锋柊缁勬帶鏁版嵁寮傚父:{ex.Message}");
+                                    }
+                                });
+                            }
+                        }
+                        catch (Exception ex)
+                        {
+                            MainPage.Log($"鍒犻櫎缁勬帶寮傚父:{ex.Message}");
+                        }
+                        finally
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                if (waitPage != null)
+                                {
+                                    waitPage.Hide();
+                                    waitPage.RemoveFromParent();
+                                    waitPage = null;
+                                }
+                            });
+                        }
+                    })
+                    { IsBackground = true }.Start();
+                };
+
+            }
+
+        }
+
+
     }
 }

--
Gitblit v1.8.0