From e41577d72b90fcd17999ffdd614072ecf313a733 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期三, 18 三月 2020 14:51:03 +0800
Subject: [PATCH] 2020-03-18-1
---
ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs | 158 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 102 insertions(+), 56 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
index 685a2ac..05ce2f0 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
@@ -12,7 +12,7 @@
#region 鈻� 鍙橀噺澹版槑___________________________
/// <summary>
- /// 缁撴潫缂栬緫鍚嶇О鐨勪簨浠�
+ /// 缁撴潫缂栬緫鐨勪簨浠�
/// </summary>
public Action<string> FinishEditorEvent = null;
/// <summary>
@@ -42,8 +42,18 @@
/// <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));
@@ -59,23 +69,32 @@
//娓呯┖bodyFrame
this.ClearBodyFrame();
+ //鎴块棿鍥剧墖
var btnPic = new ImageView();
btnPic.Y = Application.GetRealHeight(60);
btnPic.Width = Application.GetMinRealAverage(887);
btnPic.Height = Application.GetMinRealAverage(444);
+ btnPic.Radius = (uint)Application.GetRealHeight(17);
btnPic.Gravity = Gravity.CenterHorizontal;
- btnPic.Radius = 17;
- btnPic.ImagePath = this.editorRoom.BackgroundImage;
+ if (this.editorRoom.BackgroundImageType == 0)
+ {
+ btnPic.ImagePath = this.editorRoom.BackgroundImage;
+ }
+ else
+ {
+ btnPic.ImageBytes = Common.Global.ReadFileByHomeId(this.editorRoom.BackgroundImage);
+ }
bodyFrameLayout.AddChidren(btnPic);
- btnPic.MouseUpEventHandler += (sender, e) =>
+ var btnShadow = new PicViewControl(916, 487);
+ btnShadow.Y = btnPic.Y;
+ btnShadow.Gravity = Gravity.CenterHorizontal;
+ btnShadow.UnSelectedImagePath = "Room/RoomShadow.png";
+ bodyFrameLayout.AddChidren(btnShadow);
+ btnShadow.ButtonClickEvent += (sender, e) =>
{
//鎴块棿鍥剧墖閫夋嫨
this.RoomPictrueSelect(btnPic);
};
- //娣诲姞闃村奖鐗规晥
- var btnTemp = new ButtonBase();
- btnTemp.AddBottomShadow(btnPic, true);
- btnTemp = null;
//鍒濆鍖栨甯�
var tableContr = new InformationEditorControl();
@@ -181,13 +200,12 @@
if (editorRoom.BackgroundImageType == 1 || editorRoom.BackgroundImageType == 2)
{
//鍒犻櫎鎺夊師鏉ョ殑鑷畾涔夊浘鐗�
- if (System.IO.File.Exists(editorRoom.BackgroundImage) == true)
+ if (Common.Global.IsExistsByHomeId(editorRoom.BackgroundImage) == true)
{
- System.IO.File.Delete(editorRoom.BackgroundImage);
+ Common.Global.DeleteFilebyHomeId(editorRoom.BackgroundImage);
}
//澶囦唤
- string[] MyArry = editorRoom.BackgroundImage.Split(new string[] { "/", @"\" }, StringSplitOptions.RemoveEmptyEntries);
- HdlAutoBackupLogic.DeleteFile(MyArry[MyArry.Length - 1]);
+ HdlAutoBackupLogic.DeleteFile(editorRoom.BackgroundImage);
}
//鑷畾涔夊浘鐗�
if (cloneRoom.BackgroundImageType == 1 || cloneRoom.BackgroundImageType == 2)
@@ -196,7 +214,7 @@
string picName = $"RoomIcon_{DateTime.Now.ToString("yyyyMMddHHmmss")}.png";
string picFullName = System.IO.Path.Combine(Common.Config.Instance.FullPath, picName);
Shared.IO.FileUtils.WriteFileByBytes(picFullName, btnPic.ImageBytes);
- cloneRoom.BackgroundImage = picFullName;
+ cloneRoom.BackgroundImage = picName;
//澶囦唤
HdlAutoBackupLogic.AddOrEditorFile(picName);
}
@@ -205,7 +223,9 @@
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();
@@ -225,7 +245,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>();
@@ -299,44 +319,58 @@
{
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璁惧灞炴�т笂鎶�, (Action<ZigBee.Device.CommonDevice>)((report) =>
+ HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, ((report) =>
{
string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report);
if (cloneRoom.TemperatrueDevice != mainKeys || btnTemper == null)
{
return;
}
- //绉婚櫎鎺変簨浠�
- HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
foreach (var data in report.DeviceStatusReport.AttriBute)
{
if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
{
- if (data.AttriButeData == 0)
+ HdlThreadLogic.Current.RunMain(() =>
{
- //0鈩�
- btnTemper.Text = "0.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, ".") + "鈩�";
- }
- else
- {
- //灏忔暟鐐归渶瑕佷竴浣�
- string strValue = data.AttriButeData.ToString();
- strValue = strValue.Substring(0, strValue.Length - 1);
- btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�";
- }
+ if (data.AttriButeData == 0)
+ {
+ //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);
+ //璁板綍娓╁害
+ 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);
+ //璁板綍娓╁害
+ this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
+ btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�";
+ }
+ });
}
}
}));
@@ -392,8 +426,16 @@
{
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) =>
@@ -403,24 +445,28 @@
{
return;
}
- //绉婚櫎鎺変簨浠�
- HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
foreach (var data in report.DeviceStatusReport.AttriBute)
{
if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
{
- if (data.AttriButeData == 0)
+ HdlThreadLogic.Current.RunMain(() =>
{
- //0
- btnHumi.Text = "0.0%";
- }
- else
- {
- //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟)
- string strValue = data.AttriButeData.ToString();
- strValue = strValue.Substring(0, strValue.Length - 1);
- btnHumi.Text = strValue.Insert(strValue.Length - 1, ".") + "%";
- }
+ if (data.AttriButeData == 0)
+ {
+ //0
+ btnHumi.Text = "0.0%";
+ this.cloneRoom.Humidity = 0;
+ }
+ else
+ {
+ //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟)
+ string strValue = data.AttriButeData.ToString();
+ strValue = strValue.Substring(0, strValue.Length - 1);
+ //璁板綍婀垮害
+ this.cloneRoom.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
+ btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%";
+ }
+ });
}
}
});
@@ -530,7 +576,7 @@
}
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;
@@ -538,7 +584,7 @@
}
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));
--
Gitblit v1.8.0