From 72be4f06a683de33ddd563c8447c39f7f17e5b7d Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 06 一月 2020 13:03:50 +0800
Subject: [PATCH] 合并代码

---
 ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs |  181 +++++++++++++++++++++++++--------------------
 1 files changed, 101 insertions(+), 80 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
index 2c2c8f8..518bdb0 100755
--- a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
@@ -4,6 +4,7 @@
 using Shared.Common;
 using Shared.Phone.Device.CommonForm;
 using Shared.Phone.Device.Room;
+using Shared.Phone.UserCenter;
 using static ZigBee.Device.Scene;
 
 namespace Shared.Phone.Device.Category
@@ -50,7 +51,7 @@
         /// <summary>
         /// 娣诲姞鐩爣鍚庣殑灞曠ず鍒楄〃
         /// </summary>
-        public VerticalScrolViewLayout TargetListScrolView;
+        public FrameLayout TargetListScrolView;
         /// <summary>
         /// The confirm button.
         /// </summary>
@@ -90,9 +91,15 @@
         /// <summary>
         /// selectedTimeAction
         /// </summary>
-        public Action<SceneTargetDeviceUI> selectedAction;
-
-
+        private Action<SceneTargetDeviceUI> selectedAction;
+        /// <summary>
+        /// 淇敼鍦烘櫙action
+        /// </summary>
+        public Action<SceneUI, Common.Room> EditorAction;
+        /// <summary>
+        /// 娣诲姞鍦烘櫙action
+        /// </summary>
+        public Action AddAction;
 
         #endregion
 
@@ -108,7 +115,7 @@
         /// </summary>
         public override void RemoveFromParent()
         {
-            Category.instance?.RefreshBodyView();
+            UserView.HomePage.Instance.ScrollEnabled = true;
             base.RemoveFromParent();
         }
         /// <summary>
@@ -116,17 +123,34 @@
         /// </summary>
         public void RefreshTargetListView()
         {
+            UserView.HomePage.Instance.ScrollEnabled = false;
             TargetListScrolView.RemoveAll();
+            TargetListScrolView.Height = Application.GetRealHeight(173);
+            var TargetListScrolBackView = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(173),
+                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
+            };
+            TargetListScrolView.AddChidren(TargetListScrolBackView);
 
             if (sceneTargetDevicesList.Count > 0)
             {
-                foreach (var targetDevice in sceneTargetDevicesList)
+                if (sceneTargetDevicesList.Count > 1)
                 {
+                    TargetListScrolView.Height = Application.GetRealHeight(140 * sceneTargetDevicesList.Count) + Application.GetRealHeight(200);
+                    TargetListScrolBackView.Height = Application.GetRealHeight(140 * sceneTargetDevicesList.Count + 13);
+                }
+
+                for (int i = 0; i < sceneTargetDevicesList.Count; i++)
+                {
+                    var targetDevice = sceneTargetDevicesList[i];
                     var targetRowLayout = new RowLayout()
                     {
-                        Height = Application.GetRealHeight(160),
-                        LineColor = ZigbeeColor.Current.GXCBackgroundColor,
-                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
+                        Y = Application.GetRealHeight(i * 140),
+                        Height = Application.GetRealHeight(140),
+                        LineColor = ZigbeeColor.Current.GXCClearColor,
+                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
+                        SubViewWidth = Application.GetRealWidth(184)
                     };
                     TargetListScrolView.AddChidren(targetRowLayout);
                     string devImgPath = string.Empty;
@@ -137,51 +161,53 @@
                         devImgPath = targetDevice.DeviceUI.IconPath;
                         devNameText = targetDevice.DeviceUI.CommonDevice.DeviceEpointName;
 
-                        var targetRow = new SceneTargetFunctionRow(23);
-                        targetRowLayout.AddChidren(targetRow);
+                        var targetRow = new SceneTargetFunctionRow(13);
                         targetRow.Init();
                         targetRow.SetIcon(devImgPath);
                         targetRow.SetNameText(devNameText);
                         targetRow.SetZoneText(targetDevice.DeviceUI.GetZone());
                         targetRow.SetStatuText(targetDevice.GetDeviceStatu());
+                        targetRowLayout.AddChidren(targetRow);
+                        if (i == sceneTargetDevicesList.Count - 1)
+                        {
+                            targetRow.HideLine(true);
+                        }
                     }
                     else if (targetDevice.Type == 2)
                     {
                         devNameText = CommonFormResouce.GetTimeString(targetDevice.DelayTime);
                         devNameText += Language.StringByID(R.MyInternationalizationString.Later);
-                        var targetRow = new SceneTargetTimeRow(23);
-                        targetRowLayout.AddChidren(targetRow);
+                        var targetRow = new SceneTargetTimeRow(13);
                         targetRow.Init();
                         targetRow.SetTitle(devNameText);
+                        targetRowLayout.AddChidren(targetRow);
+                        if (i == sceneTargetDevicesList.Count - 1)
+                        {
+                            targetRow.HideLine(true);
+                        }
                     }
                     else if (targetDevice.Type == 1)
                     {
                         devImgPath = "Scene/SceneIcon.png";
                         devNameText = targetDevice.SceneName;
 
-                        var targetRow = new SceneTargetFunctionRow(23);
-                        targetRowLayout.AddChidren(targetRow);
+                        var targetRow = new SceneTargetFunctionRow(13);
                         targetRow.Init();
                         targetRow.SetIcon(devImgPath);
                         targetRow.SetNameText(devNameText);
                         targetRow.SetZoneText(targetDevice.SceneUI.GetZone());
+                        targetRowLayout.AddChidren(targetRow);
+                        if (i == sceneTargetDevicesList.Count - 1)
+                        {
+                            targetRow.HideLine(true);
+                        }
                     }
 
-                    var editBtn = new Button()
-                    {
-                        BackgroundColor = ZigbeeColor.Current.GXCEditBackGroundColor,
-                        TextID = R.MyInternationalizationString.Edit,
-                        TextColor = ZigbeeColor.Current.GXCTextWhiteColor
-                    };
+                    var editBtn = new RowLayoutEditButton();
                     targetRowLayout.AddRightView(editBtn);
                     //缂栬緫璁惧
                     editBtn.MouseUpEventHandler += detailMouseUpEventHandler;
-                    var delBtn = new Button()
-                    {
-                        BackgroundColor = ZigbeeColor.Current.GXCRedColor,
-                        TextID = R.MyInternationalizationString.Delete,
-                        TextColor = ZigbeeColor.Current.GXCTextWhiteColor
-                    };
+                    var delBtn = new RowLayoutDeleteButton();
                     targetRowLayout.AddRightView(delBtn);
                     //鍒犻櫎璁惧
                     delBtn.MouseUpEventHandler += (sender, e) =>
@@ -254,17 +280,6 @@
                         }
                     }
                 }
-                
-                if (sceneTargetDevicesList.Count > 1)
-                {
-                    var targetRowLayout = new RowLayout()
-                    {
-                        Height = Application.GetRealHeight(300),
-                        LineColor = ZigbeeColor.Current.GXCBackgroundColor,
-                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
-                    };
-                    TargetListScrolView.AddChidren(targetRowLayout);
-                }
             }
         }
         /// <summary>
@@ -317,13 +332,20 @@
         /// </summary>
         private void AddBodyView()
         {
-            bodyFrameLayout = new FrameLayout()
+            var bodyScrolView=new VerticalScrolViewLayout()
             {
                 Y = Application.GetRealHeight(184),
                 Height = Application.GetRealHeight(1737),
                 BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
             };
-            AddChidren(bodyFrameLayout);
+            AddChidren(bodyScrolView);
+
+            bodyFrameLayout = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(1086+127),
+                BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
+            };
+            bodyScrolView.AddChidren(bodyFrameLayout);
 
             var imgFL = new FrameLayout
             {
@@ -345,8 +367,8 @@
 
             var infoFL = new FrameLayout
             {
-                Y = imgFL.Bottom + Application.GetRealHeight(23),
-                Height = Application.GetRealHeight(418),
+                Y = Application.GetRealHeight(588),
+                Height = Application.GetRealHeight(429),
                 BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
             };
             bodyFrameLayout.AddChidren(infoFL);
@@ -360,7 +382,7 @@
                 TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor,
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = 15,
-                IsBold=true
+                //IsBold=true
             };
             infoFL.AddChidren(infoEdit);
 
@@ -380,8 +402,8 @@
 
             var targetFL = new FrameLayout()
             {
-                Y = infoFL.Bottom + Application.GetRealHeight(23),
-                Height = Application.GetRealHeight(730)
+                Y = Application.GetRealHeight(1040),
+                Height = Application.GetRealHeight(346)
             };
             bodyFrameLayout.AddChidren(targetFL);
 
@@ -430,12 +452,13 @@
             };
             addTargetFL.AddChidren(targetLine);
 
-            TargetListScrolView = new VerticalScrolViewLayout()
+            TargetListScrolView = new FrameLayout()
             {
-                Y = Application.GetRealHeight(49+127),
-                Height = Application.GetRealHeight(730-127-49),
+                Height = Application.GetRealHeight(173)
             };
-            targetFL.AddChidren(TargetListScrolView);
+            bodyScrolView.AddChidren(TargetListScrolView);
+
+
 
             confirmBtn = new CommonForm.CompleteButton(1656, 907, 127);
             confirmBtn.TextID = R.MyInternationalizationString.Next;
@@ -577,7 +600,7 @@
                 {
                     selectFL.RemoveFromParent();
                     var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
-                    var fileName = $"SceneIcon_{tradeTime}";
+                    var fileName = $"SceneIcon_{tradeTime}.png";
                     //閫氳繃鐩告満鎷嶇収瑁佸壀
                     CropImage.TakePicture((imagePath) =>
                     {
@@ -586,6 +609,7 @@
                             if (IconPathType != 0)
                             {
                                 Global.DeleteFilebyHomeId(backGround.ImagePath);
+                                HdlAutoBackupLogic.DeleteFile(backGround.ImagePath);
                             }
                         }
 
@@ -601,7 +625,7 @@
                 {
                     selectFL.RemoveFromParent();
                     var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
-                    var fileName = $"SceneIcon_{tradeTime}";
+                    var fileName = $"SceneIcon_{tradeTime}.png";
                     //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀
                     CropImage.SelectPicture((imagePath) =>
                     {
@@ -610,6 +634,7 @@
                             if (IconPathType != 0)
                             {
                                 Global.DeleteFilebyHomeId(backGround.ImagePath);
+                                HdlAutoBackupLogic.DeleteFile(backGround.ImagePath);
                             }
                         }
 
@@ -851,7 +876,7 @@
                 }
                 if (curRoom.IsSharedRoom)
                 {
-                    RemoveFromParent();
+                    RoomCommon.ShowTipRoomIsShared();
                     return;
                 }
 
@@ -859,19 +884,15 @@
                 {
                     if (string.IsNullOrEmpty(nameRow.NameText.Text))
                     {
-                        var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.SceneNameCannotBeNull), Language.StringByID(R.MyInternationalizationString.Close));
-                        alert.Show();
-                        alert.ResultEventHandler += (sendAlert, eAlert) =>
-                        {
-                            return;
-                        };
+                        CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.SceneNameCannotBeNull));
+                        return;
                     }
                     else
                     {
                         try
                         {
                             var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
-                            var fileName = $"SceneIcon_{tradeTime}";
+                            var fileName = $"SceneIcon_{tradeTime}.png";
                             if (modifySceneUI.Name != nameRow.NameText.Text.Trim())
                             {
                                 if (Common.Room.CurrentRoom.GetSameFloorScenes(curRoom.FloorId).Find(s => s.Name == nameRow.NameText.Text.Trim()) != null)
@@ -898,10 +919,13 @@
                             if (OldIconPathType != 0)
                             {
                                 Shared.IO.FileUtils.DeleteFile(System.IO.Path.Combine(Config.Instance.FullPath, OldBackgroundImagePath));
+                                HdlAutoBackupLogic.DeleteFile(System.IO.Path.Combine(Config.Instance.FullPath, OldBackgroundImagePath));
+
                             }
                             if (IconPathType == 1 || IconPathType == 2)
                             {
                                 Shared.IO.FileUtils.WriteFileByBytes(System.IO.Path.Combine(Config.Instance.FullPath, fileName), backGround.ImageBytes);
+                                HdlAutoBackupLogic.AddOrEditorFile(System.IO.Path.Combine(Config.Instance.FullPath, fileName));
                                 modifySceneUI.IconPath = fileName;
                             }
                             else
@@ -930,7 +954,7 @@
                                         Epoint = sceneTarget.DeviceUI.CommonDevice.DeviceEpoint,
                                         TaskList = sceneTarget.TaskList,
                                         DelayTime = 0,
-                                        MemberNumber = i+1
+                                        MemberNumber = i + 1
                                     };
                                     memberDataList.Add(memberData);
                                 }
@@ -942,7 +966,7 @@
                                         ScenesId = 0,
                                         ElseScenesId = sceneTarget.ElseScenesId,
                                         DelayTime = 0,
-                                        MemberNumber = i+1
+                                        MemberNumber = i + 1
                                     };
                                     memberDataList.Add(memberData);
                                 }
@@ -953,7 +977,7 @@
                                         Type = 2,
                                         ScenesId = 0,
                                         DelayTime = sceneTarget.DelayTime,
-                                        MemberNumber = i+1
+                                        MemberNumber = i + 1
                                     };
                                     memberDataList.Add(memberData);
                                 }
@@ -994,8 +1018,8 @@
                                     var removeDevice = new ZigBee.Device.Scene.RemoveSceneDeviceListInfo
                                     {
                                         Type = 2,
-                                        DelayTime=sceneTarget.DelayTime,
-                                        MemberNumber=sceneTarget.DelayTimeSerialNumber
+                                        DelayTime = sceneTarget.DelayTime,
+                                        MemberNumber = sceneTarget.DelayTimeSerialNumber
                                     };
                                     removeSceneDeviceListInfoList.Add(removeDevice);
                                 }
@@ -1014,15 +1038,16 @@
                                     modifyRoom.Save();
                                     curRoom.Save();
                                 }
+                                EditorAction?.Invoke(modifySceneUI, curRoom);
                                 RemoveFromParent();
                             }
                             else if (result == 0)
                             {
-                                Common.CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.FailedPleaseTryAgain);
+                                CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain));
                             }
                             else if (result == -1)
                             {
-                                Common.CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneHadExist);
+                                CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneHadExist));
                             }
                         }
                         catch (Exception ex)
@@ -1040,12 +1065,8 @@
                     //鏂板
                     if (string.IsNullOrEmpty(nameRow.NameText.Text))
                     {
-                        var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.SceneNameCannotBeNull), Language.StringByID(R.MyInternationalizationString.Close));
-                        alert.Show();
-                        alert.ResultEventHandler += (sendAlert, eAlert) =>
-                        {
-                            return;
-                        };
+                        CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.SceneNameCannotBeNull));
+                        return;
                     }
                     else
                     {
@@ -1063,11 +1084,11 @@
                             {
                                 imgPath = backGround.ImagePath;
                             }
-                            if (Common.Room.CurrentRoom.GetSameFloorScenes(curRoom.FloorId).Find(s => s.Name == nameRow.NameText.Text.Trim()) != null)
-                            {
-                                Common.CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneHadExist);
-                                return;
-                            }
+                            //if (Common.Room.CurrentRoom.GetSameFloorScenes(curRoom.FloorId).Find(s => s.Name == nameRow.NameText.Text.Trim()) != null)
+                            //{
+                            //    CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneHadExist));
+                            //    return;
+                            //}
                             CommonPage.Loading.Start();
                             var memberDataList = new List<ZigBee.Device.Scene.AddSceneMemberData>();
                             for (int i = 0; i < sceneTargetDevicesList.Count; i++)
@@ -1120,15 +1141,16 @@
                             var result = await curRoom.AddScene(nameRow.NameText.Text, imgPath, memberDataList);
                             if (result == 1)
                             {
+                                AddAction?.Invoke();
                                 RemoveFromParent();
                             }
                             else if (result == 0)
                             {
-                                CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.AddSceneFail);
+                                CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.AddSceneFail));
                             }
                             else if (result == -1)
                             {
-                                CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneHadExist);
+                                CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneHadExist));
                             }
                         }
                         catch (Exception ex)
@@ -1139,7 +1161,6 @@
                         {
                             CommonPage.Loading.Hide();
                         }
-
                     }
                 }
 

--
Gitblit v1.8.0