From e22fdb94322e6cec38e5e4a9aec13d431a133fde Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期二, 28 四月 2020 16:32:35 +0800 Subject: [PATCH] 上传合并后的代码 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs | 256 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 220 insertions(+), 36 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs index 6e119bd..51837e9 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs @@ -1,4 +1,7 @@ 锘縰sing System; +using System.Collections.Generic; +using Shared.Common; +using ZigBee.Common; using ZigBee.Device; namespace Shared.Phone.UserCenter.DevicePanel @@ -18,8 +21,25 @@ /// 璁惧鐨勬煇涓�鍥炶矾 /// </summary> private CommonDevice deviceObj = null; + /// <summary> + /// 鏂伴鐩爣鍚嶅瓧 + /// </summary> + private string bindFreshAirName = string.Empty; + /// <summary> + /// 娓╁害鐩爣鍚嶅瓧 + /// </summary> + private string bindTemperatureName = string.Empty; + /// <summary> + /// 婀垮害鐩爣鍚嶅瓧 + /// </summary> + private string bindHumidityName = string.Empty; + /// <summary> + /// PM鐩爣鍚嶅瓧 + /// </summary> + private string bindPmName = string.Empty; #endregion + #region 鈻� 鍒濆鍖朹____________________________ /// <summary> @@ -29,6 +49,8 @@ public void ShowForm(CommonDevice i_device) { this.deviceObj = i_device; + //鑾峰彇鏁版嵁 + ReadDoorLockUserInfo(deviceObj); //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPanelSettion)); @@ -90,15 +112,55 @@ //娣诲姞鏂伴鐩爣 this.AddFreshAirRow(); //PM2.5鏉ユ簮 - //this.AddPMRow(); + this.AddPMRow(); //娣诲姞娓╁害鏉ユ簮 - //this.AddTemperatureSensorRow(); + this.AddTemperatureSensorRow(); //娣诲姞婀垮害鏉ユ簮 - //this.AddHumiditySourceRow(); - //娣诲姞鏂伴鐩爣 - //this.AddPMRow(); + this.AddHumiditySourceRow(); //浜害璋冭妭 this.AddLevelRow(); + } + #endregion + + #region 鈻� 鍒濆鍖栨暟鎹甠________________________ + + /// <summary> + /// 鍒濆鍖栨暟鎹� + /// </summary> + void ReadDoorLockUserInfo(CommonDevice curControlDev) + { + System.Threading.Tasks.Task.Run(async () => + { + try + { + Application.RunOnMainThread(() => + { + CommonPage.Loading.Start(""); + }); + + var result = await GetBindName(curControlDev); + if (!result) + { + + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } + } + catch (Exception ex) + { + var mess = ex.Message; + } + finally + { + Application.RunOnMainThread(() => + { + this.InitMenuRow(); + CommonPage.Loading.Hide(); + }); + } + }); } #endregion @@ -116,20 +178,88 @@ rowNewWind.AddBottomLine(); //鍙崇澶� rowNewWind.AddRightArrow(); + var msg = Language.StringByID(R.MyInternationalizationString.nothing); - // 鍥炶皟鏂伴缁戝畾鐩爣 + if (!string.IsNullOrEmpty(bindFreshAirName)) + { + msg = bindFreshAirName; + } var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700); + rowNewWind.ButtonClickEvent += (sender, e) => { - //var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 1); - //Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); - //Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - //addDevicePage.Show(); - var form = new PanelFangyueFreshAirTargetForm(); - form.AddForm(this.deviceObj, string.Empty, 3); + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 1); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addDevicePage.Show(); + + addDevicePage.actionFreshAirTarget += (bindName) => + { + Application.RunOnMainThread(() => + { + if (string.IsNullOrEmpty(bindName)) + { + btnNewWindStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing); + } + else + { + btnNewWindStatu.Text = bindName; + } + }); + }; + + //var form = new PanelFangyueFreshAirTargetForm(); + //form.AddForm(this.deviceObj, string.Empty, 3); }; } #endregion + + /// <summary> + /// 鑾峰彇缁戝畾鐩爣 + /// </summary> + /// <param name="curControlDev"></param> + /// <returns></returns> + private async System.Threading.Tasks.Task<bool> GetBindName(CommonDevice curDev) + { + bool result = false; + //鑾峰彇闈㈡澘涓瓨鍦ㄧ殑缁戝畾鐩爣 + FreshAir curControlDev = curDev as FreshAir; + var panelBindListRes = await curControlDev.GetDeviceBindAsync(); + if (panelBindListRes != null && panelBindListRes.getAllBindResponseData != null) + { + foreach (var bDev in panelBindListRes.getAllBindResponseData.BindList) + { + curControlDev.bindList.Add(bDev); + var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint); + + if (device.Type == DeviceType.FreshAir) + { + //鑾峰彇璁惧绫诲瀷鐨� + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device }); + //鏂伴闈㈡澘鐨勬柊椋庤澶囷紝鍒欎笉鏄剧ず + if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir) + { + continue; + } + bindFreshAirName = device.DeviceEpointName; + } + if (device.Type == DeviceType.TemperatureSensor) + { + bindTemperatureName = device.DeviceEpointName; + } + if (device.Type == DeviceType.FreshAirHumiditySensor) + { + bindHumidityName = device.DeviceEpointName; + } + //if (device.Type == DeviceType.FreshAir) + //{ + // bindPmName = device.DeviceEpointName; + //} + } + result = true; + } + return result; + } #region 鈻� PM2.5鏉ユ簮_________________________ /// <summary> @@ -138,22 +268,40 @@ private void AddPMRow() { //PM2.5 - var rowNewWind = new FrameRowControl(listview.rowSpace / 2); - listview.AddChidren(rowNewWind); - rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.PM25Source), 600); + var rowPM = new FrameRowControl(listview.rowSpace / 2); + listview.AddChidren(rowPM); + rowPM.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.PM25Source), 600); //搴曠嚎 - rowNewWind.AddBottomLine(); + rowPM.AddBottomLine(); //鍙崇澶� - rowNewWind.AddRightArrow(); + rowPM.AddRightArrow(); var msg = Language.StringByID(R.MyInternationalizationString.nothing); - // 鍥炶皟PM2.5鏉ユ簮缁戝畾鐩爣 - var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700); - rowNewWind.ButtonClickEvent += (sender, e) => + if (!string.IsNullOrEmpty(bindPmName)) + { + msg = bindPmName; + } + var btnPMStatu = rowPM.AddMostRightView(msg, 700); + rowPM.ButtonClickEvent += (sender, e) => { var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 4); Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addDevicePage.Show(); + + addDevicePage.actionPMTarget += (bindName) => + { + Application.RunOnMainThread(() => + { + if (string.IsNullOrEmpty(bindName)) + { + btnPMStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing); + } + else + { + btnPMStatu.Text = bindName; + } + }); + }; }; } #endregion @@ -165,22 +313,40 @@ private void AddTemperatureSensorRow() { //娓╁害鏉ユ簮 - var rowNewWind = new FrameRowControl(listview.rowSpace / 2); - listview.AddChidren(rowNewWind); - rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.TemperatureSource), 600); + var rowTemPerature = new FrameRowControl(listview.rowSpace / 2); + listview.AddChidren(rowTemPerature); + rowTemPerature.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.TemperatureSource), 600); //搴曠嚎 - rowNewWind.AddBottomLine(); + rowTemPerature.AddBottomLine(); //鍙崇澶� - rowNewWind.AddRightArrow(); + rowTemPerature.AddRightArrow(); var msg = Language.StringByID(R.MyInternationalizationString.nothing); - // 鍥炶皟娓╁害鏉ユ簮缁戝畾鐩爣 - var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700); - rowNewWind.ButtonClickEvent += (sender, e) => + if (!string.IsNullOrEmpty(bindTemperatureName)) + { + msg = bindTemperatureName; + } + var btnTemperatureStatu = rowTemPerature.AddMostRightView(msg, 700); + rowTemPerature.ButtonClickEvent += (sender, e) => { var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 2); Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addDevicePage.Show(); + + addDevicePage.actionTemperatureTarget += (bindName) => + { + Application.RunOnMainThread(() => + { + if (string.IsNullOrEmpty(bindName)) + { + btnTemperatureStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing); + } + else + { + btnTemperatureStatu.Text = bindName; + } + }); + }; }; } #endregion @@ -192,22 +358,40 @@ private void AddHumiditySourceRow() { //婀垮害 - var rowNewWind = new FrameRowControl(listview.rowSpace / 2); - listview.AddChidren(rowNewWind); - rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.HumiditySource), 600); + var rowHumidity = new FrameRowControl(listview.rowSpace / 2); + listview.AddChidren(rowHumidity); + rowHumidity.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.HumiditySource), 600); //搴曠嚎 - rowNewWind.AddBottomLine(); + rowHumidity.AddBottomLine(); //鍙崇澶� - rowNewWind.AddRightArrow(); + rowHumidity.AddRightArrow(); var msg = Language.StringByID(R.MyInternationalizationString.nothing); - // 鍥炶皟婀垮害鏉ユ簮缁戝畾鐩爣 - var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700); - rowNewWind.ButtonClickEvent += (sender, e) => + if (!string.IsNullOrEmpty(bindHumidityName)) + { + msg = bindHumidityName; + } + var btnHumidityStatu = rowHumidity.AddMostRightView(msg, 700); + rowHumidity.ButtonClickEvent += (sender, e) => { var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 3); Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addDevicePage.Show(); + + addDevicePage.actionHumidityTarget += (bindName) => + { + Application.RunOnMainThread(() => + { + if (string.IsNullOrEmpty(bindName)) + { + btnHumidityStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing); + } + else + { + btnHumidityStatu.Text = bindName; + } + }); + }; }; } #endregion -- Gitblit v1.8.0