From 9508510f0b27da3278fa1161eb2ba3dd1e3e2030 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 26 七月 2023 13:14:00 +0800
Subject: [PATCH] 2023年07月26日13:12:21

---
 HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs |  112 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 96 insertions(+), 16 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
index b5a8776..b5f70fd 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
@@ -2,6 +2,7 @@
 using System;
 using System.Collections.Generic;
 using System.Threading;
+using HDL_ON.Common;
 using HDL_ON.DAL.Server;
 using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
@@ -50,7 +51,8 @@
         /// <summary>
         /// 鍥炶皟鍒锋柊
         /// </summary>
-        Action<GroupControl> backActon;
+        Action<GroupControl> addActon;
+        Action delAction;
         /// <summary>
         /// 鏄惁鏂板缇ゆ帶
         /// </summary>
@@ -64,7 +66,7 @@
 
         GroupControlType groupControlType = new GroupControlType();
 
-        public AddGroupControlPage(GroupControl groupControl, Action<GroupControl> action)
+        public AddGroupControlPage(GroupControl groupControl, Action<GroupControl> addAction,Action delAction)
         {
             bodyView = this;
             if(groupControl == null)
@@ -78,15 +80,82 @@
                 editDataString = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl);
             }
             groupControlLightList = new List<Function>();
-            backActon = action;
+            this.addActon = addAction;
+
+            this.delAction = delAction;
+
             lightList = FunctionList.List.GetLightList();
         }
 
         public void LoadPage()
         {
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-            new TopViewDiv(bodyView, Language.StringByID(StringId.CombinedDimming)).LoadTopView();
+            if (isAdd)
+            {
+                new TopViewDiv(bodyView, Language.StringByID(StringId.GroupControl)).LoadTopView();
+            }
+            else
+            {
+                new TopViewDiv(bodyView, "").LoadTopView_SettingText(()=> {
 
+                    Action action = () => {
+                        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);
+                                                //list.Remove(groupControl);
+                                                this.RemoveFromParent();
+                                                delAction?.Invoke();
+                                            }
+                                            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();
+
+                    };
+                    new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DoYouWantDelCombinedDimming, action);
+
+                }, Language.StringByID(StringId.DelGroupControl),true);
+            }
             var contentView = new FrameLayout()
             {
                 Y = Application.GetRealHeight(64),
@@ -384,13 +453,15 @@
                                     try
                                     {
                                         var addTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString());
-                                        FunctionList.List.groupControls.AddRange(addTemp);
+                                        if (addTemp != null && addTemp.Count > 0)
+                                            groupControl.userDeviceGroupControlId = addTemp[0].userDeviceGroupControlId;
+                                        FunctionList.List.groupControls.Add(groupControl);
                                     }
                                     catch (Exception ex)
                                     {
-                                        MainPage.Log($"娣诲姞缇ゆ帶鎴愬姛锛岃浆璇戣繑鍥炴暟鎹け璐�:{ex.Message}");
+                                        MainPage.Log($"娣诲姞缇ゆ帶寮傚父锛岃浆璇戣繑鍥炴暟鎹け璐�:{ex.Message}");
                                     }
-                                    backActon?.Invoke(groupControl);
+                                    addActon?.Invoke(groupControl);
                                     this.RemoveFromParent();
                                 }
                                 else
@@ -408,13 +479,15 @@
                     {
                         try
                         {
-                            var newEditDataString = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl);
-                            //娌℃湁鏇存柊鏁版嵁鍒欑洿鎺ラ��鍑�
-                            if (newEditDataString == editDataString)
-                            {
-                                this.RemoveFromParent();
-                                return;
-                            }
+                            //var newEditDataString = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl);
+                            //var newEditDataString1 = Newtonsoft.Json.JsonConvert.SerializeObject(groupControlLightList);
+                            //var newEditDataString2 = Newtonsoft.Json.JsonConvert.SerializeObject(this.groupControl.sids);
+                            ////娌℃湁鏇存柊鏁版嵁鍒欑洿鎺ラ��鍑�
+                            //if (newEditDataString == editDataString && newEditDataString1 == newEditDataString2)
+                            //{
+                            //    this.RemoveFromParent();
+                            //    return;
+                            //}
                             groupControl.sids.Clear();
                             foreach (var light in groupControlLightList)
                             {
@@ -441,7 +514,7 @@
                                     {
                                         temp = groupControl;
                                     }
-                                    backActon?.Invoke(temp);
+                                    addActon?.Invoke(temp);
                                     this.RemoveFromParent();
                                 }
                                 else
@@ -479,6 +552,12 @@
                                 var groupControlTypes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControlType>>(pack.Data.ToString());
                                 if (groupControlTypes != null && groupControlTypes.Count > 0)
                                 {
+                                    //groupControlType = new GroupControlType {
+                                    //      type = "LIGHT",
+                                    //        typeName ="鐏厜鎺у埗",
+                                    //        spks = new List<string> { "light.switch" },
+                                    //         spkAttrs = new List<string> { "on_off" }
+                                    //};
                                     groupControlType = groupControlTypes[0];
                                     Application.RunOnMainThread(() => {
                                         LoadLightRow(lightList);
@@ -681,7 +760,7 @@
                     btnChooseAll.TextID = StringId.SelectAll;
                     btnConfrim.IsSelected = false;
                     btnChooseAll.MouseUpEventHandler = (sender2, e2) => {
-                        if (groupControlLightList.Count > 0)
+                        if (groupControlLightList.Count == listFunc.Count)
                         {
                             groupControlLightList.Clear();
                             btnChooseAll.TextID = StringId.SelectAll;
@@ -689,6 +768,7 @@
                         }
                         else
                         {
+                            groupControlLightList.Clear();
                             groupControlLightList.AddRange(listFunc);
                             btnChooseAll.TextID = StringId.Cancel;
                             btnConfrim.IsSelected = true;

--
Gitblit v1.8.0