gxc
2020-02-28 66a9965c44ecc32a6696abca876ab9d1cd091584
ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs
@@ -46,9 +46,9 @@
        /// </summary>
        public int OldIconPathType;
        CommonDevice temperDevice;
        public CommonDevice temperDevice;
        CommonDevice humidDevice;
        public CommonDevice humidDevice;
        DeviceInfoRow temperatureRow;
@@ -107,7 +107,7 @@
                        //是否为当前设备
                        if ((temperDevice?.DeviceEpoint != common.DeviceEpoint || temperDevice?.DeviceAddr != common.DeviceAddr) && (humidDevice?.DeviceEpoint != common.DeviceEpoint || humidDevice?.DeviceAddr != common.DeviceAddr))
                        {
                            //return;
                            return;
                        }
                        //if (common.Type == DeviceType.TemperatureSensor)
@@ -131,7 +131,7 @@
                                        //小数点需要一位
                                        strValue = strValue.Substring(0, strValue.Length - 1);
                                        temperatureRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "℃";
                                        room.Temperatrue = int.Parse(strValue) * 0.1;
                                        room.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
                                    }
                                    else
                                    {
@@ -139,7 +139,7 @@
                                        string strValue = data.AttriButeData.ToString();
                                        strValue = strValue.Substring(0, strValue.Length - 1);
                                        temperatureRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "℃";
                                        room.Temperatrue = int.Parse(strValue) * 0.1;
                                        room.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
                                    }
                                }
                            }
@@ -162,7 +162,7 @@
                                        string strValue = data.AttriButeData.ToString();
                                        strValue = strValue.Substring(0, strValue.Length - 1);
                                        humidityRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "%";
                                        room.Humidity = int.Parse(strValue) * 0.1;
                                        room.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
                                    }
                                }
                            }
@@ -193,7 +193,7 @@
        {
            room = r;
            IconPathType = r.BackgroundImageType;
            OldIconPathType= r.BackgroundImageType;
            OldIconPathType = r.BackgroundImageType;
            if (IconPathType != 0)
            {
                OldBackgroundImagePath = r.BackgroundImage;
@@ -204,11 +204,11 @@
        }
        public override void RemoveFromParent()
        public override void RemoveFromParent()
        {
            ZbGateway.StatusList.Remove(this);
            CommonPage.Instance.IsDrawerLockMode = false;
            base.RemoveFromParent();
            ZbGateway.StatusList.Remove(this);
            CommonPage.Instance.IsDrawerLockMode = false;
            base.RemoveFromParent();
        }
        #region Add____________________________________
@@ -241,17 +241,27 @@
            };
            AddChidren(bodyFrameLayout);
            var backGround1 = new ImageView()
            {
                Y = Application.GetRealHeight(60),
                Width = Application.GetMinRealAverage(916),
                Height = Application.GetMinRealAverage(487),
                Gravity = Gravity.CenterHorizontal,
                ImagePath = "Room/Room_Rectangle.png"
            };
            bodyFrameLayout.AddChidren(backGround1);
            backGround = new ImageView()
            {
                Y = Application.GetRealHeight(60),
                Width = Application.GetMinRealAverage(887),
                Height = Application.GetMinRealAverage(444),
                Gravity = Gravity.CenterHorizontal,
                Radius = (uint)Application.GetRealHeight(CommonFormResouce.BigFormRadius),
                Radius = (uint)Application.GetMinRealAverage(CommonFormResouce.BigFormRadius),
                ImagePath = room.BackgroundImageType == 0 ? room.BackgroundImage : System.IO.Path.Combine(Config.Instance.FullPath, room.BackgroundImage)
            };
            bodyFrameLayout.AddChidren(backGround);
            backGround.SetViewShadow(true);
            if (room.BackgroundImageType != 0)
            {
                backGround.ImageBytes = Shared.IO.FileUtils.ReadFile(backGround.ImagePath);
@@ -286,7 +296,7 @@
            nameRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.RoomName)} :");
            nameRow.SetTitle(room.Name);
            infoFL.AddChidren(nameRow);
            if(room.IsLove)
            if (room.IsLove)
            {
                nameRow.NameText.Enable = false;
            }
@@ -339,6 +349,7 @@
                        return;
                    }
                    room.TemperatrueDevice = $"{selectTemp.DeviceAddr}{selectTemp.DeviceEpoint}";
                    temperDevice=Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice);
                    temperatureRow.SetTitle(R.MyInternationalizationString.Getting);
                    //发送获取温度的命令
                    ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(selectTemp);
@@ -346,10 +357,10 @@
            };
            if (string.IsNullOrEmpty(room.TemperatrueDevice) == false)
            {
                temperatureRow.SetTitle(R.MyInternationalizationString.Getting);
                temperatureRow.SetTitle(room.Temperatrue == 0 ? "--℃" : $"{room.Temperatrue}℃");
                //发送获取温度的命令
                var dev = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice);
                ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(dev);
                temperDevice = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice);
                ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(temperDevice);
            }
            else
            {
@@ -376,6 +387,7 @@
                        return;
                    }
                    room.HumidityDevice = $"{selectTemp.DeviceAddr}{selectTemp.DeviceEpoint}";
                    humidDevice = Common.LocalDevice.Current.GetDevice(room.HumidityDevice);
                    humidityRow.SetTitle(R.MyInternationalizationString.Getting);
                    //发送获取湿度的命令
@@ -384,10 +396,10 @@
            };
            if (string.IsNullOrEmpty(room.HumidityDevice) == false)
            {
                humidityRow.SetTitle(R.MyInternationalizationString.Getting);
                humidityRow.SetTitle(room.Humidity == 0 ? "--%" : $"{room.Humidity}%");
                //发送获取湿度的命令
                var dev = Common.LocalDevice.Current.GetDevice(room.HumidityDevice);
                ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(dev);
                humidDevice = Common.LocalDevice.Current.GetDevice(room.HumidityDevice);
                ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(humidDevice);
            }
            else
            {
@@ -397,11 +409,11 @@
            if (Config.Instance.Home.FloorDics.Count == 0 || room.IsLove)
            {
                temperatureRow.Y = Application.GetRealHeight(308);
                humidityRow.Y= Application.GetRealHeight(446);
                humidityRow.Y = Application.GetRealHeight(446);
            }
            var confirm = new Device.CommonForm.CompleteButton(1700, 900, 127);
            confirm.SetTitle(R.MyInternationalizationString.Confrim);
            confirm.SetTitle(R.MyInternationalizationString.Save);
            AddChidren(confirm);
            confirm.MouseUpEventHandler += (sender, e) =>
            {
@@ -410,7 +422,8 @@
                room.Name = nameRow.NameText.Text.Trim();
                if (OldIconPathType != 0)
                {
                    Shared.IO.FileUtils.DeleteFile(System.IO.Path.Combine(Config.Instance.FullPath,OldBackgroundImagePath));
                    Shared.IO.FileUtils.DeleteFile(System.IO.Path.Combine(Config.Instance.FullPath, OldBackgroundImagePath));
                    HdlAutoBackupLogic.DeleteFile(OldBackgroundImagePath);
                }
                if (IconPathType == 0)
                {
@@ -419,6 +432,7 @@
                else
                {
                    Shared.IO.FileUtils.WriteFileByBytes(System.IO.Path.Combine(Config.Instance.FullPath, fileName), backGround.ImageBytes);
                    HdlAutoBackupLogic.AddOrEditorFile(fileName);
                    room.BackgroundImage = fileName;
                }
                room.BackgroundImageType = IconPathType;
@@ -540,6 +554,10 @@
                //通过相机拍照裁剪
                CropImage.TakePicture((imagePath) =>
                {
                    if (string.IsNullOrEmpty(imagePath))
                    {
                        return;
                    }
                    if (IconPathType != 0)
                    {
                        Global.DeleteFilebyHomeId(backGround.ImagePath);
@@ -561,6 +579,10 @@
                //从相册选择图片裁剪
                CropImage.SelectPicture((imagePath) =>
                {
                    if (string.IsNullOrEmpty(imagePath))
                    {
                        return;
                    }
                    if (IconPathType != 0)
                    {
                        Global.DeleteFilebyHomeId(backGround.ImagePath);