From fdbcb1f7463cb766f90bd29dd715485ba9d88524 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 06 九月 2023 17:55:03 +0800
Subject: [PATCH] Merge branch 'wxr-2.0' into Dev-Branch

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

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
index b5f70fd..1066e2f 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
@@ -441,92 +441,137 @@
                                 MainPage.Log($"鏂板缇ゆ帶杞崲鏁版嵁寮傚父:{ex.Message}");
                             }
                         }
-                        try
+                        var waitPage = new Loading();
+                        bodyView.AddChidren(waitPage);
+                        waitPage.Start("");
+                        new Thread(() =>
                         {
-                            groupControl.type = groupControlType.type;
-                            groupControl.sid = groupControl.NewGroupControlSid();
-                            var pack = Common.ApiUtlis.Ins.HttpRequest.AddGroupControl(new List<GroupControl>() { groupControl });
-                            if (pack != null)
+                            try
                             {
-                                if (pack.Code == StateCode.SUCCESS)
+                                groupControl.type = groupControlType.type;
+                                groupControl.sid = groupControl.NewGroupControlSid();
+                                var pack = ApiUtlis.Ins.HttpRequest.AddGroupControl(new List<GroupControl>() { groupControl });
+                                if (pack != null)
                                 {
+                                    if (pack.Code == StateCode.SUCCESS)
+                                    {
+                                        try
+                                        {
+                                            var addTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString());
+                                            if (addTemp != null && addTemp.Count > 0)
+                                                groupControl.userDeviceGroupControlId = addTemp[0].userDeviceGroupControlId;
+                                            FunctionList.List.groupControls.Add(groupControl);
+                                        }
+                                        catch (Exception ex)
+                                        {
+                                            MainPage.Log($"娣诲姞缇ゆ帶寮傚父锛岃浆璇戣繑鍥炴暟鎹け璐�:{ex.Message}");
+                                        }
+                                        Application.RunOnMainThread(() =>
+                                        {
+                                            addActon?.Invoke(groupControl);
+                                            this.RemoveFromParent();
+                                        });
+                                    }
+                                    else
+                                    {
+                                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                                    }
+                                }
+
+                            }
+                            catch (Exception ex)
+                            {
+                                MainPage.Log($"鏂板缇ゆ帶寮傚父:{ex.Message}");
+                            }
+                            finally
+                            {
+                                Application.RunOnMainThread(() => {
                                     try
                                     {
-                                        var addTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString());
-                                        if (addTemp != null && addTemp.Count > 0)
-                                            groupControl.userDeviceGroupControlId = addTemp[0].userDeviceGroupControlId;
-                                        FunctionList.List.groupControls.Add(groupControl);
+                                        waitPage.Hide();
+                                        waitPage = null;
                                     }
-                                    catch (Exception ex)
-                                    {
-                                        MainPage.Log($"娣诲姞缇ゆ帶寮傚父锛岃浆璇戣繑鍥炴暟鎹け璐�:{ex.Message}");
-                                    }
-                                    addActon?.Invoke(groupControl);
-                                    this.RemoveFromParent();
-                                }
-                                else
-                                {
-                                    IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
-                                }
+                                    catch { }
+                                });
                             }
-                        }
-                        catch (Exception ex)
-                        {
-                            MainPage.Log($"鏂板缇ゆ帶寮傚父:{ex.Message}");
-                        }
+                        })
+                        { IsBackground = true }.Start();
                     }
                     else
                     {
-                        try
+                        var waitPage = new Loading();
+                        bodyView.AddChidren(waitPage);
+                        waitPage.Start("");
+                        new Thread(() =>
                         {
-                            //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)
+                            try
                             {
-                                try
+                                //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)
                                 {
-                                    var gc = new GroupControlFunction();
-                                    gc.sid = light.sid;
-                                    gc.spk = light.spk;
-                                    groupControl.sids.Add(gc);
-                                }
-                                catch (Exception ex)
-                                {
-                                    MainPage.Log($"鏂板缇ゆ帶杞崲鏁版嵁寮傚父:{ex.Message}");
-                                }
-                            }
-
-                            var pack = Common.ApiUtlis.Ins.HttpRequest.EditGroupControl(new List<GroupControl>() { groupControl });
-                            if (pack != null)
-                            {
-                                if (pack.Code == StateCode.SUCCESS)
-                                {
-                                    var temp = FunctionList.List.groupControls.Find((obj) => obj.userDeviceGroupControlId == groupControl.userDeviceGroupControlId);
-                                    if(temp!= null)
+                                    try
                                     {
-                                        temp = groupControl;
+                                        var gc = new GroupControlFunction();
+                                        gc.sid = light.sid;
+                                        gc.spk = light.spk;
+                                        groupControl.sids.Add(gc);
                                     }
-                                    addActon?.Invoke(temp);
-                                    this.RemoveFromParent();
+                                    catch (Exception ex)
+                                    {
+                                        MainPage.Log($"鏂板缇ゆ帶杞崲鏁版嵁寮傚父:{ex.Message}");
+                                    }
                                 }
-                                else
+
+                                var pack = ApiUtlis.Ins.HttpRequest.EditGroupControl(new List<GroupControl>() { groupControl });
+                                if (pack != null)
                                 {
-                                    IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                                    if (pack.Code == StateCode.SUCCESS)
+                                    {
+                                        var temp = FunctionList.List.groupControls.Find((obj) => obj.userDeviceGroupControlId == groupControl.userDeviceGroupControlId);
+                                        if (temp != null)
+                                        {
+                                            temp = groupControl;
+                                        }
+                                        Application.RunOnMainThread(() =>
+                                        {
+                                            addActon?.Invoke(temp);
+                                            this.RemoveFromParent();
+                                        });
+                                    }
+                                    else
+                                    {
+                                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                                    }
                                 }
                             }
-                        }
-                        catch (Exception ex)
-                        {
-                            MainPage.Log($"缂栬緫缇ゆ帶寮傚父:{ex.Message}");
-                        }
+                            catch (Exception ex)
+                            {
+                                MainPage.Log($"缂栬緫缇ゆ帶寮傚父:{ex.Message}");
+                            }
+                            finally
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    try
+                                    {
+                                        waitPage.Hide();
+                                        waitPage = null;
+                                    }
+                                    catch { }
+                                });
+
+                            }
+                        })
+                        { IsBackground = true }.Start();
 
                     }
                 }

--
Gitblit v1.8.0