| | |
| | | #region ■ 变量声明___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 结束编辑名称的事件
|
| | | /// 结束编辑的事件
|
| | | /// </summary>
|
| | | public Action<string> FinishEditorEvent = null;
|
| | | /// <summary>
|
| | |
| | | /// <param name="i_editorRoom">编辑的房间对象</param>
|
| | | public void ShowForm(Common.Room i_editorRoom = null)
|
| | | {
|
| | | //弄一点初始值
|
| | | this.editorRoom = i_editorRoom;
|
| | | this.cloneRoom = i_editorRoom.CloneRoomClass();
|
| | | this.cloneRoom = HdlRoomLogic.Current.CloneRoomClass(i_editorRoom);
|
| | | if (i_editorRoom.HumidityDevice == string.Empty)
|
| | | {
|
| | | this.cloneRoom.Humidity = -1000;
|
| | | }
|
| | | if (i_editorRoom.TemperatrueDevice == string.Empty)
|
| | | {
|
| | | this.cloneRoom.Temperatrue = -1000;
|
| | | }
|
| | |
|
| | | //设置头部信息
|
| | | base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorRoom));
|
| | |
|
| | |
| | | editorRoom.FloorId = cloneRoom.FloorId;
|
| | | editorRoom.Name = cloneRoom.Name;
|
| | | editorRoom.HumidityDevice = cloneRoom.HumidityDevice;
|
| | | editorRoom.Humidity = cloneRoom.Humidity;
|
| | | editorRoom.TemperatrueDevice = cloneRoom.TemperatrueDevice;
|
| | | editorRoom.Temperatrue = cloneRoom.Temperatrue;
|
| | | editorRoom.BackgroundImage = cloneRoom.BackgroundImage;
|
| | | editorRoom.BackgroundImageType = cloneRoom.BackgroundImageType;
|
| | | editorRoom.Save();
|
| | |
| | | /// <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>();
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | //获取中...
|
| | | btnTemper.Text = Language.StringByID(R.MyInternationalizationString.uGetting);
|
| | | if (cloneRoom.Temperatrue == -1000)
|
| | | {
|
| | | //没有获取得到过温度
|
| | | btnTemper.Text = Language.StringByID(R.MyInternationalizationString.Getting);
|
| | | }
|
| | | else
|
| | | {
|
| | | btnTemper.Text = this.cloneRoom.Temperatrue == 0 ? "0.0℃" : this.cloneRoom.Temperatrue.ToString() + "℃";
|
| | | btnTemper.Text += " " + Language.StringByID(R.MyInternationalizationString.Getting);
|
| | | }
|
| | |
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
|
| | | HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A设备属性上报, ((report) =>
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | //移除掉事件
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
|
| | |
|
| | | foreach (var data in report.DeviceStatusReport.AttriBute)
|
| | | {
|
| | |
| | | {
|
| | | //0℃
|
| | | btnTemper.Text = "0.0℃";
|
| | | this.cloneRoom.Temperatrue = 0;
|
| | | }
|
| | | else if (data.AttriButeData > 32767)
|
| | | {
|
| | |
| | | string strValue = (data.AttriButeData - 65536).ToString();
|
| | | //小数点需要一位
|
| | | strValue = strValue.Substring(0, strValue.Length - 1);
|
| | | btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "℃";
|
| | | //记录温度
|
| | | this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
|
| | | btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "℃";
|
| | | }
|
| | | else
|
| | | {
|
| | | //小数点需要一位
|
| | | string strValue = data.AttriButeData.ToString();
|
| | | strValue = strValue.Substring(0, strValue.Length - 1);
|
| | | btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "℃";
|
| | | //记录温度
|
| | | this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
|
| | | btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "℃";
|
| | | }
|
| | | });
|
| | | }
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | //获取中...
|
| | | btnHumi.Text = Language.StringByID(R.MyInternationalizationString.uGetting);
|
| | | if (cloneRoom.Humidity == -1000)
|
| | | {
|
| | | //没有获取得到过湿度
|
| | | btnHumi.Text = Language.StringByID(R.MyInternationalizationString.Getting);
|
| | | }
|
| | | else
|
| | | {
|
| | | btnHumi.Text = this.cloneRoom.Humidity == 0 ? "0.0%" : this.cloneRoom.Humidity.ToString() + "%";
|
| | | btnHumi.Text += " " + Language.StringByID(R.MyInternationalizationString.Getting);
|
| | | }
|
| | |
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
|
| | | HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice", ReceiveComandDiv.A设备属性上报, (report) =>
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | //移除掉事件
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
|
| | | foreach (var data in report.DeviceStatusReport.AttriBute)
|
| | | {
|
| | | if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
|
| | |
| | | {
|
| | | //0
|
| | | btnHumi.Text = "0.0%";
|
| | | this.cloneRoom.Humidity = 0;
|
| | | }
|
| | | else
|
| | | {
|
| | | //小数点需要一位(湿度没有负数)
|
| | | string strValue = data.AttriButeData.ToString();
|
| | | strValue = strValue.Substring(0, strValue.Length - 1);
|
| | | btnHumi.Text = strValue.Insert(strValue.Length - 1, ".") + "%";
|
| | | //记录湿度
|
| | | this.cloneRoom.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
|
| | | btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%";
|
| | | }
|
| | | });
|
| | | }
|
| | |
| | | }
|
| | | if (string.IsNullOrEmpty(this.cloneRoom.FloorId) == true)
|
| | | {
|
| | | if (Shared.Common.Room.Lists.Find((obj) => obj.Name == this.cloneRoom.Name && obj.Id != this.cloneRoom.Id) != null)
|
| | | if (HdlRoomLogic.Current.GetAllListRooms().Find((obj) => obj.Name == this.cloneRoom.Name && obj.Id != this.cloneRoom.Id) != null)
|
| | | {
|
| | | this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.HadSameRoom));
|
| | | return false;
|
| | |
| | | }
|
| | | else
|
| | | {
|
| | | var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(this.cloneRoom.FloorId);
|
| | | var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(this.cloneRoom.FloorId);
|
| | | if (listRoom.Find((obj) => obj.Name == this.cloneRoom.Name && obj.Id != this.cloneRoom.Id) != null)
|
| | | {
|
| | | this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.HadSameRoom));
|