WJC
2019-12-30 f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f
ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs
@@ -72,9 +72,10 @@
        public override void RemoveFromParent()
        {
            HdlDeviceAttributeLogic.Current.RemoveEvent("TemperatrueDevice");
            HdlDeviceAttributeLogic.Current.RemoveEvent("HumidityDevice");
            HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
            HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
            CommonPage.Instance.IsDrawerLockMode = false;
            base.RemoveFromParent();
        }
@@ -108,16 +109,6 @@
            };
            AddChidren(bodyFrameLayout);
            var imgFL = new Button
            {
                Y = Application.GetRealHeight(60),
                Width = Application.GetMinRealAverage(916),
                Height = Application.GetMinRealAverage(487),
                Gravity = Gravity.CenterHorizontal,
                UnSelectedImagePath = "Room/Room_Rectangle.png"
            };
            bodyFrameLayout.AddChidren(imgFL);
            backGround = new Button()
            {
                Y = Application.GetRealHeight(60),
@@ -128,6 +119,7 @@
                UnSelectedImagePath = room.BackgroundImage
            };
            bodyFrameLayout.AddChidren(backGround);
            backGround.SetViewShadow(true);
            backGround.MouseUpEventHandler += backGroundIMGHander;
            var infoFL = new FrameLayout
@@ -137,6 +129,8 @@
                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
            };
            bodyFrameLayout.AddChidren(infoFL);
            var rectCornerID = HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight;
            infoFL.SetCornerWithSameRadius(Application.GetRealHeight(50), rectCornerID);
            var infoEdit = new Button
            {
@@ -188,7 +182,6 @@
            var temperatureRow = new DeviceInfoRow(446);
            temperatureRow.Init();
            temperatureRow.SetTipTitle(R.MyInternationalizationString.Temperature);
            temperatureRow.SetTitle("26.8℃");
            temperatureRow.NameText.TextAlignment = TextAlignment.CenterRight;
            infoFL.AddChidren(temperatureRow);
            temperatureRow.ClickBtn.MouseUpEventHandler += (sender, e) =>
@@ -206,8 +199,8 @@
                    }
                    room.TemperatrueDevice = $"{selectTemp.DeviceAddr}{selectTemp.DeviceEpoint}";
                    HdlDeviceAttributeLogic.Current.RemoveEvent("TemperatrueDevice");
                    HdlDeviceAttributeLogic.Current.AddAttributeEvent("TemperatrueDevice", "DeviceStatusReport", (Action<ZigBee.Device.CommonDevice>)((report) =>
                    HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
                    HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice",  ReceiveComandDiv.A设备属性上报, ((report) =>
                    {
                        string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report);
                        if (room.TemperatrueDevice != mainKeys)
@@ -215,7 +208,7 @@
                            return;
                        }
                        //移除掉事件
                        HdlDeviceAttributeLogic.Current.RemoveEvent("TemperatrueDevice");
                        HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
                        foreach (var data in report.DeviceStatusReport.AttriBute)
                        {
@@ -251,8 +244,8 @@
            if (string.IsNullOrEmpty(room.TemperatrueDevice) == false)
            {
                HdlDeviceAttributeLogic.Current.RemoveEvent("TemperatrueDevice");
                HdlDeviceAttributeLogic.Current.AddAttributeEvent("TemperatrueDevice", "DeviceStatusReport", (Action<ZigBee.Device.CommonDevice>)((report) =>
                HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
                HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice",  ReceiveComandDiv.A设备属性上报, (Action<ZigBee.Device.CommonDevice>)((report) =>
                {
                    string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report);
                    if (room.TemperatrueDevice != mainKeys)
@@ -260,7 +253,7 @@
                        return;
                    }
                    //移除掉事件
                    HdlDeviceAttributeLogic.Current.RemoveEvent("TemperatrueDevice");
                    HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
                    foreach (var data in report.DeviceStatusReport.AttriBute)
                    {
@@ -300,7 +293,6 @@
            var humidityRow = new DeviceInfoRow(585);
            humidityRow.Init();
            humidityRow.SetTipTitle(R.MyInternationalizationString.Humidity);
            humidityRow.SetTitle("66.5%");
            humidityRow.NameText.TextAlignment = TextAlignment.CenterRight;
            infoFL.AddChidren(humidityRow);
            humidityRow.ClickBtn.MouseUpEventHandler += (sender, e) =>
@@ -308,6 +300,7 @@
                var tem = new RoomHumiditySetting { };
                HomePage.Instance.AddChidren(tem);
                HomePage.Instance.PageIndex += 1;
                tem.tempDevice = Common.LocalDevice.Current.GetDevice(room.HumidityDevice);
                tem.Show(room);
                tem.selectDeviceAction = (selectTemp) =>
                {
@@ -317,8 +310,8 @@
                    }
                    room.HumidityDevice = $"{selectTemp.DeviceAddr}{selectTemp.DeviceEpoint}";
                    HdlDeviceAttributeLogic.Current.RemoveEvent("HumidityDevice");
                    HdlDeviceAttributeLogic.Current.AddAttributeEvent("HumidityDevice", "DeviceStatusReport", (report) =>
                    HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
                    HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice",  ReceiveComandDiv.A设备属性上报, (report) =>
                    {
                        string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report);
                        if (room.HumidityDevice != mainKeys)
@@ -326,7 +319,7 @@
                            return;
                        }
                        //移除掉事件
                        HdlDeviceAttributeLogic.Current.RemoveEvent("HumidityDevice");
                        HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
                        foreach (var data in report.DeviceStatusReport.AttriBute)
                        {
                            if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
@@ -352,8 +345,8 @@
            };
            if (string.IsNullOrEmpty(room.HumidityDevice) == false)
            {
                HdlDeviceAttributeLogic.Current.RemoveEvent("HumidityDevice");
                HdlDeviceAttributeLogic.Current.AddAttributeEvent("HumidityDevice", "DeviceStatusReport", (report) =>
                HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
                HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice",  ReceiveComandDiv.A设备属性上报, (report) =>
                {
                    string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report);
                    if (room.HumidityDevice != mainKeys)
@@ -361,7 +354,7 @@
                        return;
                    }
                    //移除掉事件
                    HdlDeviceAttributeLogic.Current.RemoveEvent("HumidityDevice");
                    HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
                    foreach (var data in report.DeviceStatusReport.AttriBute)
                    {
                        if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
@@ -396,7 +389,7 @@
            confirm.MouseUpEventHandler += (sender, e) =>
            {
                var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
                var fileName = $"Room_{tradeTime}";
                var fileName = $"RoomIcon_{tradeTime}.png";
                room.Name = nameRow.NameText.Text.Trim();
                if (OldIconPathType != 1)
                {
@@ -515,6 +508,7 @@
                localPic.action = (imgPath) =>
                {
                    IconPathType = 0;
                    backGround.ImageBytes = null;
                    backGround.UnSelectedImagePath = imgPath;
                };
            };
@@ -522,7 +516,7 @@
            {
                selectFL.RemoveFromParent();
                var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
                var fileName = $"Room_{tradeTime}";
                var fileName = $"RoomIcon_{tradeTime}.png";
                //通过相机拍照裁剪
                CropImage.TakePicture((imagePath) =>
                {
@@ -543,7 +537,7 @@
            {
                selectFL.RemoveFromParent();
                var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
                var fileName = $"Room_{tradeTime}";
                var fileName = $"RoomIcon_{tradeTime}.png";
                //从相册选择图片裁剪
                CropImage.SelectPicture((imagePath) =>
                {