From eb424d24e39bab4a245725f35deab3f234ea0f13 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 13 十二月 2019 10:48:50 +0800
Subject: [PATCH] 2019.12.13

---
 ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs |  137 ++++++++++++++++++++++++---------------------
 1 files changed, 72 insertions(+), 65 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
index 9763cd1..7f1a2e0 100644
--- a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
@@ -36,7 +36,7 @@
         /// </summary>
         private string ImagePath="SceneIcon/1.png";
         /// <summary>
-        /// 鍥剧墖鏉ユ簮 0--鏈湴鍥惧簱 1--鎷嶇収 2--绯荤粺鍥惧簱 
+        /// 鍥剧墖鏉ユ簮 0--鏈湴鍥惧簱 1--鎷嶇収 2--绯荤粺鍥惧簱
         /// </summary>
         public int IconPathType = 0;
         /// <summary>
@@ -59,7 +59,7 @@
         /// <summary>
         /// backGround
         /// </summary>
-        private Button backGround;
+        private ImageView backGround;
 
         /// <summary>
         /// 鏄惁淇敼
@@ -78,6 +78,14 @@
         /// </summary>
         public Common.Room modifyRoom;
 
+        /// <summary>
+        /// OldBackgroundImagePath
+        /// </summary>
+        private string OldBackgroundImagePath;
+        /// <summary>
+        /// OldIconPathType
+        /// </summary>
+        public int OldIconPathType;
 
         #endregion
 
@@ -151,7 +159,7 @@
                         targetRow.SetNameText(devNameText);
                         targetRow.SetZoneText(targetDevice.SceneUI.GetZone());
                     }
-                    
+
                     var editBtn = new Button()
                     {
                         BackgroundColor = ZigbeeColor.Current.GXCEditBackGroundColor,
@@ -178,7 +186,6 @@
                     //璁惧璇︾粏璁剧疆鐣岄潰
                     void detailMouseUpEventHandler(object sender, MouseEventArgs e)
                     {
-                        //璁惧
                         if (targetDevice.Type == 0)
                         {
                             if (targetDevice.DeviceUI == null || targetDevice.DeviceUI.CommonDevice == null)
@@ -204,7 +211,6 @@
                             };
 
                         }
-                        //鏃堕棿闂撮殧
                         else if (targetDevice.Type == 2)
                         {
                             var delayTimeView = new SelectDelayTime();
@@ -223,7 +229,6 @@
                                 RefreshTargetListView();
                             };
                         }
-                        //鍦烘櫙
                         else if (targetDevice.Type == 1)
                         {
                             var sceneView = new SelectScene();
@@ -245,8 +250,17 @@
                             };
                         }
                     }
+                }
 
-                    
+                if (sceneTargetDevicesList.Count > 2)
+                {
+                    var targetRowLayout = new RowLayout()
+                    {
+                        Height = Application.GetRealHeight(300),
+                        LineColor = ZigbeeColor.Current.GXCBackgroundColor,
+                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
+                    };
+                    TargetListScrolView.AddChidren(targetRowLayout);
                 }
             }
         }
@@ -270,16 +284,7 @@
         /// </summary>
         private void Init()
         {
-            //foreach (var floor in Config.Instance.Home.FloorDics)
-            //{
-            //    floorIds.Add(floor.Key);
-            //    floorNames.Add(floor.Value);
-            //    if(Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key).Count>0)
-            //    {
-            //        roomNames.Add(Common.Room.CurrentRoom.GetRoomNamesByFloorId(floor.Key));
-            //        rooms.Add(Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key));
-            //    }
-            //}
+
         }
 
         /// <summary>
@@ -324,14 +329,13 @@
             };
             bodyFrameLayout.AddChidren(imgFL);
 
-            backGround = new Button()
+            backGround = new ImageView()
             {
                 Width = Application.GetMinRealAverage(930),
                 Height = Application.GetMinRealAverage(464),
                 Gravity = Gravity.Center,
                 Radius = (uint)Application.GetMinRealAverage(CommonFormResouce.BigFormRadius),
-                //UnSelectedImagePath = ImagePath
-                UnSelectedImagePath = "SceneIcon/3.jpg"
+                ImagePath = "SceneIcon/3.jpg"
             };
             imgFL.AddChidren(backGround);
             backGround.SetViewShadow(true);
@@ -421,12 +425,10 @@
             };
             addTargetFL.AddChidren(targetLine);
 
-            //娣诲姞鐩爣鍚庣殑灞曠ず鍒楄〃
             TargetListScrolView = new VerticalScrolViewLayout()
             {
                 Y = Application.GetRealHeight(49+127),
                 Height = Application.GetRealHeight(730-127-49),
-                //BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
             };
             targetFL.AddChidren(TargetListScrolView);
 
@@ -435,10 +437,22 @@
 
             if(isModify)
             {
-                backGround.UnSelectedImagePath = modifySceneUI.IconPath;
+                IconPathType = modifySceneUI.IconPathType;
+                OldIconPathType = modifySceneUI.IconPathType;
+                if (IconPathType != 0)
+                {
+                    OldBackgroundImagePath = modifySceneUI.IconPath;
+                }
+                if (modifySceneUI.IconPathType==0)
+                {
+                    backGround.ImagePath = modifySceneUI.IconPath;
+                }
+                else
+                {
+                    backGround.ImagePath = System.IO.Path.Combine(Config.Instance.FullPath, modifySceneUI.IconPath);
+                }
                 nameRow.SetTitle(modifySceneUI.Name);
                 zoneRow.SetTitle($"{Config.Instance.Home.GetFloorNameById(modifyRoom.FloorId)},{modifyRoom.Name}");
-                IconPathType = modifySceneUI.IconPathType;
                 curRoom = modifyRoom;
                 sceneTargetDevicesList.AddRange(modifySceneTargetDevicesList);
             }
@@ -447,7 +461,6 @@
 
             #region event
 
-            //閫夋嫨鑳屾櫙鍥�
             EventHandler<MouseEventArgs> backGroundIMGHander = (sender, e) =>
             {
                 if (curRoom != null && curRoom.IsSharedRoom)
@@ -540,14 +553,14 @@
                     {
                         IconPathType = 0;
                         backGround.ImageBytes = null;
-                        backGround.UnSelectedImagePath = imgPath;
+                        backGround.ImagePath = imgPath;
                     };
                 };
                 selectPhotographBtn.MouseUpEventHandler += (send, ee) =>
                 {
                     selectFL.RemoveFromParent();
                     var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
-                    var fileName = $"Scene_{tradeTime}";
+                    var fileName = $"SceneIcon_{tradeTime}";
                     //閫氳繃鐩告満鎷嶇収瑁佸壀
                     CropImage.TakePicture((imagePath) =>
                     {
@@ -555,23 +568,23 @@
                         {
                             if (IconPathType != 0)
                             {
-                                Global.DeleteFilebyHomeId(backGround.UnSelectedImagePath);
+                                Global.DeleteFilebyHomeId(backGround.ImagePath);
                             }
                         }
 
                         IconPathType = 1;
                         backGround.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath);
-                        backGround.UnSelectedImagePath = imagePath;
+                        backGround.ImagePath = imagePath;
                         System.IO.File.Delete(imagePath);
-                        
+
                     }, fileName, 2, 1);
                 };
-               
+
                 selectAblumsBtn.MouseUpEventHandler += (send, ee) =>
                 {
                     selectFL.RemoveFromParent();
                     var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
-                    var fileName = $"Scene_{tradeTime}";
+                    var fileName = $"SceneIcon_{tradeTime}";
                     //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀
                     CropImage.SelectPicture((imagePath) =>
                     {
@@ -579,13 +592,13 @@
                         {
                             if (IconPathType != 0)
                             {
-                                Global.DeleteFilebyHomeId(backGround.UnSelectedImagePath);
+                                Global.DeleteFilebyHomeId(backGround.ImagePath);
                             }
                         }
 
                         IconPathType = 2;
                         backGround.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath);
-                        backGround.UnSelectedImagePath = imagePath;
+                        backGround.ImagePath = imagePath;
                         System.IO.File.Delete(imagePath);
 
                     }, fileName, 2,1);
@@ -627,7 +640,7 @@
                     {
                         curRoom = rooms[index1][index2];
                         zoneRow.SetTitle($"{Config.Instance.Home.GetFloorNameById(floorIds[index1])} , {rooms[index1][index2].Name}");
-                    }, 0, 0, Language.StringByID(R.MyInternationalizationString.BelongFloor),
+                    }, 0, 0, Language.StringByID(R.MyInternationalizationString.BelongZone),
                    Language.StringByID(R.MyInternationalizationString.Confrim),
                    Language.StringByID(R.MyInternationalizationString.Cancel));
                 }
@@ -647,7 +660,7 @@
                     {
                         curRoom = rs[index1];
                         zoneRow.SetTitle(rs[index1].Name);
-                    }, 0, Language.StringByID(R.MyInternationalizationString.BelongFloor),
+                    }, 0, Language.StringByID(R.MyInternationalizationString.BelongZone),
                    Language.StringByID(R.MyInternationalizationString.Confrim),
                    Language.StringByID(R.MyInternationalizationString.Cancel));
                 }
@@ -658,15 +671,18 @@
             EventHandler<MouseEventArgs> targetAddHander = (sender, e) =>
             {
 
-                if (curRoom == null)
+                //if (curRoom == null)
+                //{
+                //    RoomCommon.ShowTipNoRoom();
+                //    return;
+                //}
+                if(curRoom != null)
                 {
-                    RoomCommon.ShowTipNoRoom();
-                    return;
-                }
-                if (curRoom.IsSharedRoom)
-                {
-                    RoomCommon.ShowTipRoomIsShared();
-                    return;
+                    if (curRoom.IsSharedRoom)
+                    {
+                        RoomCommon.ShowTipRoomIsShared();
+                        return;
+                    }
                 }
 
                 int selectRow_Height = 150;
@@ -772,7 +788,7 @@
                         sceneTargetDevicesList.Add(selectedScene);
                         RefreshTargetListView();
                     };
-                    
+
                 };
                 //娣诲姞鏃堕棿闂撮殧
                 selectedTimerBtn.MouseUpEventHandler += (send, ee) =>
@@ -832,44 +848,42 @@
                         try
                         {
                             var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
-                            var fileName = $"Scene_{tradeTime}";
-                            //鏀瑰悕
+                            var fileName = $"SceneIcon_{tradeTime}";
                             if (modifySceneUI.Name != nameRow.NameText.Text.Trim())
                             {
                                 if (Common.Room.CurrentRoom.GetSameFloorScenes(curRoom.FloorId).Find(s => s.Name == nameRow.NameText.Text.Trim()) != null)
                                 {
-                                    Common.CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneHadExist);
+                                    CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneHadExist));
                                     return;
                                 }
-                                //淇敼鍚嶅瓧
                                 var r = await ZigBee.Device.Scene.RenameSceneAsync(modifySceneUI.Id, nameRow.NameText.Text.Trim());
                                 var reName = r.sceneRenameResponseData.Result;
                                 if (reName == 0)
                                 {
-                                    //澶辫触
                                     return;
                                 }
                                 else if (reName == 1)
                                 {
-                                    //鎴愬姛
                                     modifySceneUI.Name = nameRow.NameText.Text.Trim();
 
                                 }
                                 else if (reName == 2)
                                 {
-                                    //娌℃湁璇ュ満鏅�
                                     return;
                                 }
                             }
-                            //鍥剧墖
-                            if(IconPathType==1 || IconPathType ==2)
+                            if (OldIconPathType != 0)
+                            {
+                                Shared.IO.FileUtils.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);
-                                modifySceneUI.IconPath = System.IO.Path.Combine(Config.Instance.FullPath, fileName);
+                                modifySceneUI.IconPath = fileName;
                             }
                             else
                             {
-                                modifySceneUI.IconPath = backGround.UnSelectedImagePath;
+                                modifySceneUI.IconPath = backGround.ImagePath;
                             }
                             modifySceneUI.IconPathType = IconPathType;
 
@@ -970,7 +984,6 @@
                             {
                                 if (modifyRoom != curRoom)
                                 {
-                                   
                                     modifyRoom.SceneUIList.Remove(modifySceneUI);
                                     modifyRoom.SceneUIFilePathList.Remove(modifySceneUI.FileName);
                                     curRoom.SceneUIList.Add(modifySceneUI);
@@ -982,12 +995,10 @@
                             }
                             else if (result == 0)
                             {
-                                //澶辫触
                                 Common.CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.FailedPleaseTryAgain);
                             }
                             else if (result == -1)
                             {
-                                //宸插瓨鍦�
                                 Common.CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneHadExist);
                             }
                         }
@@ -1020,15 +1031,14 @@
                             var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
                             var fileName = $"SceneIcon_{tradeTime}.png";
                             string imgPath;
-                            //鍥剧墖
                             if (IconPathType == 1 || IconPathType == 2)
                             {
                                 Shared.IO.FileUtils.WriteFileByBytes(System.IO.Path.Combine(Config.Instance.FullPath, fileName), backGround.ImageBytes);
-                                imgPath = System.IO.Path.Combine(Config.Instance.FullPath, fileName);
+                                imgPath = fileName;
                             }
                             else
                             {
-                                imgPath = backGround.UnSelectedImagePath;
+                                imgPath = backGround.ImagePath;
                             }
                             if (Common.Room.CurrentRoom.GetSameFloorScenes(curRoom.FloorId).Find(s => s.Name == nameRow.NameText.Text.Trim()) != null)
                             {
@@ -1091,12 +1101,10 @@
                             }
                             else if (result == 0)
                             {
-                                //澶辫触
                                 CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.AddSceneFail);
                             }
                             else if (result == -1)
                             {
-                                //宸插瓨鍦�
                                 CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneHadExist);
                             }
                         }
@@ -1112,7 +1120,6 @@
                     }
                 }
 
-                
             };
             #endregion
         }

--
Gitblit v1.8.0