HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-03-06 a5b3c4bae726ef6770d4bfcbf2f4b50a37ed4a15
ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs
@@ -77,6 +77,8 @@
            this.newRoom = new Common.Room();
            newRoom.FloorId = this.floorKeys;
            newRoom.BackgroundImage = btnPic.ImagePath;
            newRoom.Humidity = -1000;
            newRoom.Temperatrue = -1000;
            //初始化桌布
            var tableContr = new InformationEditorControl();
@@ -178,18 +180,11 @@
                }
                newRoom.FloorId = this.floorKeys;
                var result = newRoom.AddRoom(newRoom);
                if (result == false)
                {
                    //提示用户添加失败
                    this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.FAIL));
                }
                else
                {
                    this.FinishEditorEvent?.Invoke();
                    this.CloseForm();
                }
                HdlRoomLogic.Current.AddRoom(newRoom);
                this.FinishEditorEvent?.Invoke();
                this.CloseForm();
            };
        }
@@ -203,7 +198,7 @@
        /// <param name="control"></param>
        private void ShowSelectFloor(FrameCaptionViewControl control)
        {
            var dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
            var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
            var listKeys = new List<string>();
            var listName = new List<string>();
@@ -277,8 +272,16 @@
            {
                return;
            }
            //获取中...
            btnTemper.Text = Language.StringByID(R.MyInternationalizationString.uGetting);
            if (newRoom.Temperatrue == -1000)
            {
                //没有获取得到过温度
                btnTemper.Text = Language.StringByID(R.MyInternationalizationString.Getting);
            }
            else
            {
                btnTemper.Text = this.newRoom.Temperatrue == 0 ? "0.0℃" : this.newRoom.Temperatrue.ToString() + "℃";
                btnTemper.Text += "  " + Language.StringByID(R.MyInternationalizationString.Getting);
            }
            HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
            HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A设备属性上报, ((report) =>
@@ -288,8 +291,6 @@
                {
                    return;
                }
                //移除掉事件
                HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
                foreach (var data in report.DeviceStatusReport.AttriBute)
                {
@@ -301,6 +302,7 @@
                            {
                                //0℃
                                btnTemper.Text = "0.0℃";
                                this.newRoom.Temperatrue = 0;
                            }
                            else if (data.AttriButeData > 32767)
                            {
@@ -308,14 +310,18 @@
                                string strValue = (data.AttriButeData - 65536).ToString();
                                //小数点需要一位
                                strValue = strValue.Substring(0, strValue.Length - 1);
                                btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "℃";
                                //记录温度
                                this.newRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
                                btnTemper.Text = this.newRoom.Temperatrue.ToString() + "℃";
                            }
                            else
                            {
                                //小数点需要一位
                                string strValue = data.AttriButeData.ToString();
                                strValue = strValue.Substring(0, strValue.Length - 1);
                                btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "℃";
                                //记录温度
                                this.newRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
                                btnTemper.Text = this.newRoom.Temperatrue.ToString() + "℃";
                            }
                        });
                    }
@@ -373,8 +379,16 @@
            {
                return;
            }
            //获取中...
            btnHumi.Text = Language.StringByID(R.MyInternationalizationString.uGetting);
            if (newRoom.Humidity == -1000)
            {
                //没有获取得到过湿度
                btnHumi.Text = Language.StringByID(R.MyInternationalizationString.Getting);
            }
            else
            {
                btnHumi.Text = this.newRoom.Humidity == 0 ? "0.0%" : this.newRoom.Humidity.ToString() + "%";
                btnHumi.Text += "  " + Language.StringByID(R.MyInternationalizationString.Getting);
            }
            HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
            HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice", ReceiveComandDiv.A设备属性上报, (report) =>
@@ -384,8 +398,6 @@
                {
                    return;
                }
                //移除掉事件
                HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
                foreach (var data in report.DeviceStatusReport.AttriBute)
                {
                    if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
@@ -396,13 +408,16 @@
                            {
                                //0
                                btnHumi.Text = "0.0%";
                                this.newRoom.Humidity = 0;
                            }
                            else
                            {
                                //小数点需要一位(湿度没有负数)
                                string strValue = data.AttriButeData.ToString();
                                strValue = strValue.Substring(0, strValue.Length - 1);
                                btnHumi.Text = strValue.Insert(strValue.Length - 1, ".") + "%";
                                //记录湿度
                                this.newRoom.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
                                btnHumi.Text = this.newRoom.Humidity.ToString() + "%";
                            }
                        });
                    }
@@ -511,7 +526,8 @@
            }
            if (string.IsNullOrEmpty(this.floorKeys) == true)
            {
                if (Shared.Common.Room.Lists.Find((obj) => obj.Name == this.newRoom.Name && obj.Id != this.newRoom.Id) != null)
                var listRoom = HdlRoomLogic.Current.GetAllListRooms();
                if (listRoom.Find((obj) => obj.Name == this.newRoom.Name && obj.Id != this.newRoom.Id) != null)
                {
                    this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uRoomNameIsExist));
                    return false;
@@ -519,7 +535,7 @@
            }
            else
            {
                var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(this.floorKeys);
                var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(this.floorKeys);
                if (listRoom.Find((obj) => obj.Name == this.newRoom.Name && obj.Id != this.newRoom.Id) != null)
                {
                    this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uRoomNameIsExist));