From e90209beae6a4e822cecb18e6889f8bda23f630e Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 14 十二月 2020 11:16:06 +0800 Subject: [PATCH] 合并了晾衣架(非新云端) --- ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs | 243 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 219 insertions(+), 24 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs index f99f0f5..d8b96a3 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs @@ -88,6 +88,13 @@ { this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028); } + else if (this.deviceObj.Type == DeviceType.Airer) + { + //鏅捐。鏋惰澶囧彧瀛樺彇鍥炶矾1锛屽鏋滄槸鏅捐。鏋讹紝榛樿绔偣閮芥槸1锛� + this.deviceObj.DeviceEpoint = 1; + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1342); + } + else { this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1128); @@ -106,26 +113,37 @@ dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = frameDeviceName.Text.Trim(); foreach (var epoint in dicDeviceSaveName.Keys) { - var device = HdlDeviceCommonLogic.Current.GetDevice(deviceObj.DeviceAddr, epoint); + var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint); if (device == null || dicDeviceSaveName[epoint] == string.Empty) { //涓嶈兘鍏佽绌虹櫧鍚嶅瓧 continue; } string newName = dicDeviceSaveName[epoint]; - string oldName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device); + string oldName = Common.LocalDevice.Current.GetDeviceEpointName(device); if (oldName != newName) { //璁惧鍚嶇О淇敼 - var result = HdlDeviceCommonLogic.Current.ReName(device, newName); + var result = Common.LocalDevice.Current.ReName(device, newName); if (result == false) { return; } } } + + //濡傛灉鏄櫨琛f灦銆屾椂闂村厛涓嶅鐞嗐�� + //if (deviceObj.Type == DeviceType.Airer) + //{ + // var airer = deviceObj as Airer; + // SetAirerFunTimeDevice(airer); + //} + //else + //{ //鍏抽棴鑷韩 this.CloseForm(); + //} + }; //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欎笉鑳界紪杈� if (Common.Config.Instance.Home.IsShowTemplate == true) @@ -143,7 +161,8 @@ //鍥炶矾澶囨敞 string caption = Language.StringByID(R.MyInternationalizationString.uDeviceEpointNote); - string nameValue = HdlDeviceCommonLogic.Current.GetDeviceEpointName(nowSelectDevice); + string nameValue = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice); + if (dicDeviceSaveName.ContainsKey(nowSelectDevice.DeviceEpoint) == true) { nameValue = dicDeviceSaveName[nowSelectDevice.DeviceEpoint]; @@ -159,7 +178,7 @@ { frameDeviceName.txtInput.FinishInputEvent += () => { - string oldName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(nowSelectDevice); + string oldName = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice); if (frameDeviceName.Text.Trim() == string.Empty) { //灏嗗悕瀛楄繕鍘� @@ -168,7 +187,7 @@ if (oldName != frameDeviceName.Text.Trim()) { //璁惧鍚嶇О淇敼 - var result = HdlDeviceCommonLogic.Current.ReName(nowSelectDevice, frameDeviceName.Text.Trim()); + var result = Common.LocalDevice.Current.ReName(nowSelectDevice, frameDeviceName.Text.Trim()); if (result == false) { return; @@ -191,9 +210,20 @@ //鍙樻洿鎴块棿 HdlRoomLogic.Current.ChangedRoom(nowSelectDevice, roomKeys); }; - //娣诲姞鍔熻兘绫诲瀷琛� this.AddFunctionTypeRow(); + + if (this.deviceObj.Type == DeviceType.Airer) + { + var airer = this.deviceObj as Airer; + //娣诲姞鐑樺共鏃堕棿琛� + this.AddAirerDryTimeRow(airer); + //娣诲姞椋庡共鏃堕棿琛� + this.AddAirerWindTimeRow(airer); + //娣诲姞娑堟瘨鏃堕棿琛� + this.AddAirerDisinfectTimeRow(airer); + } + //鍒濆鍖栨甯冨畬鎴� tableContr.FinishInitControl(); } @@ -208,7 +238,7 @@ private void InitTopRightMenu() { //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘 - if (HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false + if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false || Common.Config.Instance.Home.IsShowTemplate == true) { return; @@ -232,7 +262,7 @@ int menuCount = 1; string deviceMenu = string.Empty; //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘 - bool canTest = HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(nowSelectDevice); + bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice); //if (canTest == true) //{ // menuCount = 2; @@ -245,7 +275,7 @@ frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () => { //鍙戦�佸畾浣嶅姛鑳� - HdlDeviceCommonLogic.Current.SetFixedPositionCommand(nowSelectDevice); + Common.LocalDevice.Current.SetFixedPositionCommand(nowSelectDevice); }); } @@ -276,7 +306,151 @@ //搴曠嚎 rowFunction.AddBottomLine(); } + #endregion + #region 鈻� 鏅捐。鏋朵笓鐢╛________________________ + #region 鈻� 鐑樺共鏃堕棿_________________________ + /// <summary> + /// 鐑樺共鏃堕棿琛� + /// </summary> + private void AddAirerDryTimeRow(Airer airer) + { + var rowAirer = new AiererTimeControl(listview.rowSpace / 2); + listview.AddChidren(rowAirer); + var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 3 + Language.StringByID(R.MyInternationalizationString.AirerHour); + if (airer.DryTime != 0) + { + double result = airer.DryTime / 60.0; + var hour = Math.Round(result, 2); + text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + } + rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1); + //搴曠嚎 + rowAirer.AddBottomLine(); + rowAirer.SelectTimeEvent += (v1, v2) => + { + //double result = second / 3600.0; + //var hour = Math.Round(result, 1); + //text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + //rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1); + }; + + } + #endregion + + #region 鈻� 椋庡共鏃堕棿_________________________ + /// <summary> + /// 椋庡共鏃堕棿琛� + /// </summary> + private void AddAirerWindTimeRow(Airer airer) + { + var rowAirer = new AiererTimeControl(listview.rowSpace / 2); + listview.AddChidren(rowAirer); + var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 3 + Language.StringByID(R.MyInternationalizationString.AirerHour); + if (airer.WindTime != 0) + { + double result = airer.WindTime / 60.0; + var hour = Math.Round(result, 1); + text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + } + rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerWindTime), text, 2); + //搴曠嚎 + rowAirer.AddBottomLine(); + rowAirer.SelectTimeEvent += (v1, v2) => + { + //double result = second / 3600.0; + //var hour = Math.Round(result, 1); + //text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + //rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1); + }; + } + #endregion + + #region 鈻� 娑堟瘨鏃堕棿_________________________ + /// <summary> + /// 娑堟瘨鏃堕棿琛� + /// </summary> + private void AddAirerDisinfectTimeRow(Airer airer) + { + var rowAirer = new AiererTimeControl(listview.rowSpace / 2); + listview.AddChidren(rowAirer); + var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 30 + Language.StringByID(R.MyInternationalizationString.AirerMin); + if (airer.DisinfectTime != 0) + { + text = airer.DisinfectTime + Language.StringByID(R.MyInternationalizationString.AirerMin); + } + rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDisinfectTime), text, 3); + //搴曠嚎 + rowAirer.AddBottomLine(); + rowAirer.SelectTimeEvent += (v1, v2) => + { + + }; + } + #endregion + + #region 鈻� 璇诲彇鏃堕棿鍛戒护___________________ + + /// <summary> + /// 璇诲彇鏃堕棿鍛戒护 + /// </summary> + public void ReadAirerFunTimeDevice() + { + + } + + #endregion + + /// <summary> + /// 璁惧鏃堕棿璁剧疆 + /// </summary> + private void SetAirerFunTimeDevice(Airer airer) + { + HdlThreadLogic.Current.RunThread(async () => + { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + + //鍒欒璁剧疆瀵瑰簲鐨勫姛鑳芥椂闂� + List<CommonDevice> listdevice = new List<CommonDevice>(); + + for (int i = 3; i < 6; i++) + { + int time = 0; + listdevice.Add(deviceObj); + switch (i) + { + case 3: + time = airer.WindTime; + break; + case 4: + time = airer.DryTime; + break; + case 5: + time = airer.DisinfectTime; + break; + } + bool result = await Common.LocalDevice.Current.SetAirerTimeDevice(listdevice, airer, time, i); + if (result == false) + { + airer.WindTime = airer.WindRemainTime = 0; + airer.DryTime = airer.DryRemainTime = 0; + airer.DisinfectTime = airer.DisinfectTime = 0; + HdlThreadLogic.Current.RunMainInThread(() => + { + this.InitMiddleFrame(); + }); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + } + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + //鍏抽棴鑷韩 + this.CloseForm(); + }); + } #endregion #region 鈻� 鍒濆鍖栬澶囧洖璺浘鏍嘷________________ @@ -354,6 +528,19 @@ frameBack.Y = Application.GetRealHeight(153); frameBack.Gravity = Gravity.Center; } + + //濡傛灉鏄櫨琛f灦 + if (deviceObj.Type == DeviceType.Airer) + { + frame.RemoveFromParent(); + frameBorder.Y = Application.GetRealHeight(0); + frameBorder.Height = Application.GetRealHeight(299); + frameBack.BackgroundImagePath = "Airer/Airer216.png"; + frameBack.Width = this.GetPictrueRealSize(207); + frameBack.Height = this.GetPictrueRealSize(207); + frameBack.Y = Application.GetRealHeight(92); + frameBack.Gravity = Gravity.CenterHorizontal; + } } else { @@ -361,16 +548,20 @@ } } - if (listIcon.Count > 2) + //濡傛灉鏄櫨琛f灦,鏈�5涓洖璺紝浣嗘槸5涓洖璺彧鏄唬琛ㄤ笉鍚屽姛鑳戒娇鐢紝涓嶆槸鐪熷疄鐨勫搴旇澶囷紝鎵�浠ラ粯璁ゅ彧鏄剧ず绗竴鍥炶矾 + if (deviceObj.Type != DeviceType.Airer) { - //璁$畻鐪熷疄楂樺害 - int realHeight = this.GetPictrueRealSize(58 + 58);//涓婁笅闂磋窛 - realHeight += frameBack.ChildrenCount * this.GetPictrueRealSize(124);//鍦嗗湀楂樺害 - realHeight += (frameBack.ChildrenCount - 1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛 - if (realHeight > frameBack.Height) + if (listIcon.Count > 2) { - //鍙樻洿楂樺害 - frameBack.Height = realHeight; + //璁$畻鐪熷疄楂樺害 + int realHeight = this.GetPictrueRealSize(58 + 58);//涓婁笅闂磋窛 + realHeight += frameBack.ChildrenCount * this.GetPictrueRealSize(124);//鍦嗗湀楂樺害 + realHeight += (frameBack.ChildrenCount - 1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛 + if (realHeight > frameBack.Height) + { + //鍙樻洿楂樺害 + frameBack.Height = realHeight; + } } } } @@ -424,7 +615,7 @@ private List<List<CommonDevice>> GetAllDeviceGroup() { bool hadDevice = false; - var listDevice = HdlDeviceCommonLogic.Current.GetDevicesByMac(deviceObj.DeviceAddr); + var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr); var listRelay = new List<CommonDevice>(); foreach (var device in listDevice) { @@ -440,8 +631,8 @@ } //鑾峰彇璁惧灞炰簬銆愮畝绾﹀鍔熻兘闈㈡澘銆� - var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice); - if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction) + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); + if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction) { if (device.Type == DeviceType.TemperatureSensor && device.DeviceEpoint == 1) { @@ -505,10 +696,14 @@ if (nowSelectControl != null) { //鍚屼竴涓笢瑗�,涓嶉笩浠� - if (nowSelectControl.Name == nowContr.Name) + if (this.deviceObj.Type != DeviceType.Airer) { - return; + if (nowSelectControl.Name == nowContr.Name) + { + return; + } } + //涓嶉�夋嫨鐘舵�� nowSelectControl.BorderColor = 0xff979797; nowSelectControl.TextSize = 13; @@ -522,7 +717,7 @@ nowContr.TextColor = UserCenterColor.Current.TextColor1; nowSelectControl = nowContr; - nowSelectDevice = HdlDeviceCommonLogic.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Name.Replace("btn", string.Empty))); + nowSelectDevice = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Name.Replace("btn", string.Empty))); //閲嶆柊鍒濆鍖栬彍鍗曡 this.InitMenuRow(); -- Gitblit v1.8.0