From d6b4e510f1430d19bc48da6894cf707bbe3c226d Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期二, 29 十月 2019 14:25:15 +0800 Subject: [PATCH] 2019.10.29-2 --- ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs | 1144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 1,144 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs new file mode 100755 index 0000000..37ff757 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs @@ -0,0 +1,1144 @@ +锘縰sing System; +using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using Shared; +using Shared.Common; +using Shared.Phone; +using Shared.R; +using ZigBee.Device; + +namespace Shared.Phone.Device.Logic.DoorLockLogic +{ + public class LockLogicCommunalPage : FrameLayout + { + + public LockLogicCommunalPage() + { + UserView.HomePage.Instance.RemoveViewByTag("LockLogic"); + Tag = "LockLogic"; + } + EditText logicTextBox; + public void Show(Action action) + { + + #region 鏈�涓婇潰鐨勫竷灞�浠g爜 + var topRowLayout = new RowLayout + { + BackgroundColor = ZigbeeColor.Current.LogicTopBackgroundColor, + Height = Application.GetRealHeight(184), + LineColor = ZigbeeColor.Current.LogicRowLayoutTopLineColor, + }; + this.AddChidren(topRowLayout); + + var titleName = new Button + { + TextSize = 16, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + TextAlignment = TextAlignment.CenterLeft, + X = Application.GetRealWidth(176), + Width = Application.GetRealWidth(400), + Height = Application.GetRealHeight(69), + Y = Application.GetRealHeight(92), + TextID = MyInternationalizationString.selection, + }; + topRowLayout.AddChidren(titleName); + if (Common.Logic.CurrentLogic.LogicId != 0) + { + titleName.Text = Language.StringByID(MyInternationalizationString.editlinkageevent); + } + else + { + titleName.Text = Language.StringByID(MyInternationalizationString.addlinkageevent); + } + + var clickBtn = new Button + { + Width = Application.GetRealWidth(81 + 51), + Height = Application.GetRealHeight(58 + 40), + Y = Application.GetRealHeight(98 - 40), + }; + topRowLayout.AddChidren(clickBtn); + clickBtn.MouseDownEventHandler += (sender, e) => + { + RemoveFromParent(); + }; + + var back = new Button + { + Width = Application.GetRealWidth(30), + Height = Application.GetRealHeight(51), + X = Application.GetRealWidth(81), + Y = Application.GetRealHeight(98), + //Gravity = Gravity.CenterVertical; + UnSelectedImagePath = "ZigeeLogic/back.png", + }; + topRowLayout.AddChidren(back); + back.MouseDownEventHandler += (sender, e) => + { + action(); + RemoveFromParent(); + }; + + #endregion + + + var middle = new VerticalScrolViewLayout + { + Y = topRowLayout.Bottom, + Height = Application.GetRealHeight(1920 - 184 - 180), + BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + this.AddChidren(middle); + + + #region -----鑷姩鍖栧悕绉� 璁剧疆鍚嶇О----- + var logicnamefl = new FrameLayout + { + Height = Application.GetRealHeight(130), + BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, + }; + middle.AddChidren(logicnamefl); + + var text = new Button + { + Width = Application.GetRealWidth(300), + Height = Application.GetRealHeight(60), + X = Application.GetRealWidth(58), + TextAlignment = TextAlignment.CenterLeft, + //Text = "鑷姩鍖栧悕绉�", + TextID = MyInternationalizationString.automationname, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + Y = Application.GetRealHeight(35), + }; + logicnamefl.AddChidren(text); + + logicTextBox = new EditText + { + Y = Application.GetRealHeight(35), + Width = Application.GetRealWidth(1080 - 58 - 300), + Height = Application.GetRealHeight(60), + X = text.Right, + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + TextSize = 13, + Text = Common.Logic.CurrentLogic.LogicName, + //TextID=MyInternationalizationString.automation1, + }; + logicnamefl.AddChidren(logicTextBox); + + var fraline = new FrameLayout + { + Height = Application.GetRealHeight(30), + }; + middle.AddChidren(fraline); + #endregion + + #region -----鏄剧ず閫昏緫鏉′欢----- + + + var conditionFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(160), + BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + }; + middle.AddChidren(conditionFrameLayout); + + + var conditionRowLayout = new RowLayout + { + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(965), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(58), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + }; + conditionFrameLayout.AddChidren(conditionRowLayout); + + + conditionRowLayout.AddChidren(new Button + { + + Text = Language.StringByID(MyInternationalizationString.ifcondition), + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + Width = Application.GetRealWidth(300), + Height = Application.GetRealHeight(60), + TextSize = 16, + Gravity = Gravity.CenterVertical, + }); + + var conditionadd1 = new Button + { + + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(57), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(965 + 58), + + }; + conditionFrameLayout.AddChidren(conditionadd1); + + var conditionadd = new Button + { + + Width = Application.GetRealWidth(58), + Height = Application.GetRealHeight(58), + UnSelectedImagePath = "ZigeeLogic/add.png", + X = Application.GetRealWidth(965 - 58), + Gravity = Gravity.CenterVertical, + + }; + conditionRowLayout.AddChidren(conditionadd); + ///娣诲姞鏉′欢鐨勭偣鍑讳簨浠� + EventHandler<MouseEventArgs> conditionaddclick = (sender, e) => + { + var addCondition = new AddCondition(); + addCondition.conditionsIndex = -1; + UserView.HomePage.Instance.AddChidren(addCondition); + UserView.HomePage.Instance.PageIndex += 1; + addCondition.Show(); + }; + conditionadd.MouseUpEventHandler += conditionaddclick; + conditionadd1.MouseUpEventHandler += conditionaddclick; + List<Dictionary<string, string>> ListConditions = new List<Dictionary<string, string>>(); + ListConditions.Clear(); + ListConditions.AddRange(Common.Logic.CurrentLogic.Conditions); + ListConditions.Add(new Dictionary<string, string>()); + for (int i = 0; i < ListConditions.Count; i++) + { + if (i == (ListConditions.Count - 1)) + { + + var addfl = new FrameLayout + { + Height = Application.GetRealHeight(160 + 30 + 50), + BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + }; + middle.AddChidren(addfl); + var addbtn = new Button + { + Height = Application.GetRealHeight(130 + 50), + Width = Application.GetRealWidth(908), + Y = Application.GetRealHeight(30), + X = Application.GetRealWidth(86), + UnSelectedImagePath = "ZigeeLogic/logicaddcolor.png", + }; + addfl.AddChidren(addbtn); + + + var addtextbtn = new Button + { + Height = Application.GetRealHeight(58), + Width = Application.GetRealWidth(300), + Y = Application.GetRealHeight(45 + 30), + TextColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + TextID = MyInternationalizationString.selectunlockingmode, + X = Application.GetRealWidth(390), + }; + addfl.AddChidren(addtextbtn); + + EventHandler<MouseEventArgs> addconditionsclick = (sender, e) => + { + var addCondition = new AddCondition(); + ///璁板綍绱㈠紩 + addCondition.conditionsIndex = -1; + UserView.HomePage.Instance.AddChidren(addCondition); + UserView.HomePage.Instance.PageIndex += 1; + addCondition.Show(); + }; + addbtn.MouseUpEventHandler += addconditionsclick; + addtextbtn.MouseUpEventHandler += addconditionsclick; + } + else + { + var devicesFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(130), + BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + }; + middle.AddChidren(devicesFrameLayout); + + ///鏄剧ず鍥炬爣 + var conditionIcon = new Button + { + Width = Application.GetRealWidth(81), + Height = Application.GetRealHeight(81), + X = Application.GetRealWidth(104), + Y = Application.GetRealHeight(25), + //UnSelectedImagePath = "ZigeeLogic/time.png", + + }; + devicesFrameLayout.AddChidren(conditionIcon); + + + var conditionsRowLayout = new RowLayout + { + Width = Application.GetRealWidth(800), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(222), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + }; + devicesFrameLayout.AddChidren(conditionsRowLayout); + + var Type = int.Parse(ListConditions[i]["Type"]); + var conditions = ListConditions[i]; + switch (Type) + { + case 1: + { + var deviceinof = Common.Logic.LogicDviceList.Find((obj) => { return obj.DeviceAddr == conditions["MacAddr"] && obj.DeviceEpoint.ToString() == conditions["Epoint"]; }); + if (deviceinof == null) + { + continue; + } + ///鏄剧ず璁惧鍚嶇О + var btndevice = new Button + { + Y = Application.GetRealHeight(20), + Height = Application.GetRealHeight(50), + Width = Application.GetRealWidth(400), + TextAlignment = TextAlignment.CenterLeft, + Text = deviceinof.DeviceEpointName, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + }; + conditionsRowLayout.AddChidren(btndevice); + + ///鍖哄煙(鎴块棿)鍚嶇ОButton + var btnregionname = new Button + { + Y = btndevice.Bottom + Application.GetRealHeight(10), + Width = Application.GetRealWidth(400), + TextAlignment = TextAlignment.CenterLeft, + Height = Application.GetRealHeight(50), + Text = "",//Language.StringByID(MyInternationalizationString.customroom), + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + }; + conditionsRowLayout.AddChidren(btnregionname); + ///閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О + Device.Logic.Send.RoomNmae(btnregionname, deviceinof); + + + var deviceedit = new Button + { + BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor1, + Text = Language.StringByID(MyInternationalizationString.edit), + TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + Tag=i, + }; + conditionsRowLayout.AddRightView(deviceedit); + deviceedit.MouseUpEventHandler += (sender, e) => + { + var addCondition = new AddCondition(); + ///璁板綍绱㈠紩 + addCondition.conditionsIndex = int.Parse(deviceedit.Tag.ToString()); + UserView.HomePage.Instance.AddChidren(addCondition); + UserView.HomePage.Instance.PageIndex += 1; + addCondition.Show(); + }; + + ///鏄剧ず璁惧鏉′欢鐘舵�佹帶浠� + var devicestatus = new Button + { + Width = Application.GetRealWidth(400), + Height = Application.GetRealHeight(130), + Gravity = Gravity.CenterVertical, + TextAlignment = TextAlignment.CenterRight, + X = Application.GetRealWidth(400), + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + }; + conditionsRowLayout.AddChidren(devicestatus); + + switch (deviceinof.Type) + { + case DeviceType.DoorLock: + { + conditionIcon.UnSelectedImagePath = "ZigeeLogic/doorlock.png"; + //for (int a = 0; a < Common.Logic.CurrentLogic.Accounts.Count; a++) + //{ + // if (Common.Logic.CurrentLogic.Accounts[a]["Type"] == "1") + // { + // if (Common.Logic.CurrentLogic.Accounts[a]["UserId"] == conditions["AttriButeData2"]) + // { + // devicestatus.Text = conditions["Account"]; + // break; + // } + // } + //} + + //(0鎸夐敭/3鍗�/15鎸囩汗) + switch (conditions["AttriButeId"]) + { + case "0": + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.lockpassword); + } + break; + case "3": + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.ic); + } + break; + case "15": + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.fingerprint); + } + break; + + } + + } + break; + } + + } + break; + } + ///鍒犻櫎鎺т欢 + var del = new Button + { + BackgroundColor = ZigbeeColor.Current.LogicDelBlackColor1, + Text = Language.StringByID(MyInternationalizationString.del), + }; + conditionsRowLayout.AddRightView(del); + + del.MouseUpEventHandler += (sender, e) => + { + + var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete), + Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim)); + alert.ResultEventHandler += (sender1, e1) => + { + if (e1) + { + var lockLogicCommunalPage = new LockLogicCommunalPage(); + UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage); + UserView.HomePage.Instance.PageIndex += 1; + lockLogicCommunalPage.Show(() => { }); + } + }; + alert.Show(); + + }; + + } + } + + + #endregion + + #region ----鏄剧ず鎵ц鐩爣---- + + var targetFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(160), + BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + }; + middle.AddChidren(targetFrameLayout); + + + var targetRowLayout = new RowLayout + { + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(965), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(58), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + }; + targetFrameLayout.AddChidren(targetRowLayout); + + + var btntargettitle = new Button + { + + Text = Language.StringByID(MyInternationalizationString.execute), + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + Width = Application.GetRealWidth(300), + Height = Application.GetRealHeight(60), + TextSize = 16, + Gravity = Gravity.CenterVertical, + }; + targetRowLayout.AddChidren(btntargettitle); + + var btntargetadd1 = new Button + { + + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(57), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(965 + 58), + }; + targetFrameLayout.AddChidren(btntargetadd1); + + var btntargetadd = new Button + { + Width = Application.GetRealWidth(58), + Height = Application.GetRealHeight(58), + UnSelectedImagePath = "ZigeeLogic/add.png", + X = Application.GetRealWidth(965 - 58), + Gravity = Gravity.CenterVertical, + }; + targetRowLayout.AddChidren(btntargetadd); + EventHandler<MouseEventArgs> btntargetaddclick = (sender, e) => + { + Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); + var addAction = new AddAction(); + UserView.HomePage.Instance.AddChidren(addAction); + UserView.HomePage.Instance.PageIndex += 1; + addAction.Show(); + }; + btntargetadd1.MouseUpEventHandler += btntargetaddclick; + btntargetadd.MouseUpEventHandler += btntargetaddclick; + + List<Dictionary<string, object>> ListActions = new List<Dictionary<string, object>>(); + ListActions.Clear(); + ListActions.AddRange(Common.Logic.CurrentLogic.Actions); + ListActions.Add(new Dictionary<string, object>()); + + for (int i = 0; i < ListActions.Count; i++) + { + if (i == (ListActions.Count - 1)) + { + + var addfl = new FrameLayout + { + Height = Application.GetRealHeight(160 + 30 + 50), + BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + }; + middle.AddChidren(addfl); + var addbtn = new Button + { + Height = Application.GetRealHeight(130 + 50), + Width = Application.GetRealWidth(908), + Y = Application.GetRealHeight(30), + X = Application.GetRealWidth(86), + UnSelectedImagePath = "ZigeeLogic/logicaddcolor.png", + }; + addfl.AddChidren(addbtn); + + + var addtextbtn = new Button + { + Height = Application.GetRealHeight(58), + Width = Application.GetRealWidth(300), + Y = Application.GetRealHeight(45 + 30), + TextColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + TextID = MyInternationalizationString.lockaddaction, + X = Application.GetRealWidth(390), + }; + addfl.AddChidren(addtextbtn); + EventHandler<MouseEventArgs> addfunctionclick = (sender, e) => + { + Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); + var addAction = new AddAction(); + UserView.HomePage.Instance.AddChidren(addAction); + UserView.HomePage.Instance.PageIndex += 1; + addAction.Show(); + }; + addbtn.MouseUpEventHandler += addfunctionclick; + addtextbtn.MouseUpEventHandler += addfunctionclick; + } + else + { + + var devicesFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(130), + BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + }; + middle.AddChidren(devicesFrameLayout); + + ///鏄剧ず鍥炬爣 + var actionsIcon = new Button + { + Width = Application.GetRealWidth(81), + Height = Application.GetRealHeight(81), + X = Application.GetRealWidth(104), + Y = Application.GetRealHeight(25), + // UnSelectedImagePath = "ZigeeLogic/time.png", + + }; + devicesFrameLayout.AddChidren(actionsIcon); + + + var actionsrowLayout = new RowLayout + { + Width = Application.GetRealWidth(800), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(222), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + }; + devicesFrameLayout.AddChidren(actionsrowLayout); + + + var linkType = int.Parse(ListActions[i]["LinkType"].ToString()); + var actions = ListActions[i]; + + switch (linkType) + { + case 0: + { + var obj1 = actions["DeviceAddr"].ToString(); + var obj2 = actions["Epoint"].ToString(); + var deviceinof = Common.Logic.LogicDviceList.Find((obj) => { return ((obj.DeviceAddr == obj1) && (obj.DeviceEpoint.ToString() == obj2)); }); + if (deviceinof == null) + { + continue; + } + + ///璁惧鍚嶇ОButton + var btndevicename = new Button + { + Y = Application.GetRealHeight(20), + Height = Application.GetRealHeight(50), + Width = Application.GetRealWidth(450), + TextAlignment = TextAlignment.CenterLeft, + Text = deviceinof.DeviceEpointName, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + }; + actionsrowLayout.AddChidren(btndevicename); + + ///鍖哄煙(鎴块棿)鍚嶇ОButton + var btnregionname = new Button + { + Y = btndevicename.Bottom + Application.GetRealHeight(10), + Width = Application.GetRealWidth(450), + TextAlignment = TextAlignment.CenterLeft, + Height = Application.GetRealHeight(50), + Text = "",//Language.StringByID(MyInternationalizationString.customroom), + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + }; + actionsrowLayout.AddChidren(btnregionname); + ///閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О + Device.Logic.Send.RoomNmae(btnregionname, deviceinof); + ///鏄剧ず璁惧鏉′欢鐘舵�佹帶浠� + var devicestatus = new Button + { + Width = Application.GetRealWidth(350), + Height = Application.GetRealHeight(130), + Gravity = Gravity.CenterVertical, + TextAlignment = TextAlignment.CenterRight, + X = Application.GetRealWidth(450), + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + }; + actionsrowLayout.AddChidren(devicestatus); + + ///缂栬緫璁惧鐘舵�丅utton + var deviceedit = new Button + { + BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor1, + Text = Language.StringByID(MyInternationalizationString.edit), + TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + }; + actionsrowLayout.AddRightView(deviceedit); + + ///缂栬緫鐐瑰嚮浜嬩欢 + deviceedit.MouseUpEventHandler += (sender, e) => + { + + var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; + this.AddChidren(flMain); + LockAddDevice.CurrentDeviceStateView(flMain, deviceinof, true); + }; + + + switch (deviceinof.Type) + { + case DeviceType.OnOffOutput: + { + actionsIcon.UnSelectedImagePath = "ZigeeLogic/light.png"; + + var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; + if (TaskList == null) + { + continue; + } + foreach (var status in TaskList) + { + if (status["TaskType"].ToString() == "1") + { + if (status["Data1"].ToString() == "0") + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.close); + + } + else if (status["Data1"].ToString() == "1") + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.open); + + } + else if (status["Data1"].ToString() == "2") + { + + devicestatus.Text = Language.StringByID(MyInternationalizationString.onoff); + } + } + + } + + } + break; + case DeviceType.DimmableLight: + { + actionsIcon.UnSelectedImagePath = "ZigeeLogic/dimmableLight.png"; + var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; + if (TaskList == null) + { + continue; + } + foreach (var status in TaskList) + { + if (status["TaskType"].ToString() == "3") + { + var intvalue = int.Parse(status["Data1"]); + var lightbrightnessvalue = (intvalue * 100) / 254; + devicestatus.Text = lightbrightnessvalue.ToString() + "%"; + } + else if (status["TaskType"].ToString() == "1") + { + + if (status["Data1"].ToString() == "0") + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.close); + } + else if (status["Data1"].ToString() == "2") + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.onoff); + } + } + + + } + + } + break; + case DeviceType.WindowCoveringDevice: + { + actionsIcon.UnSelectedImagePath = "ZigeeLogic/curtain.png"; + var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; + if (TaskList == null) + { + continue; + } + foreach (var status in TaskList) + { + if (status["TaskType"] == "6") + { + if (status["Data1"] == "0") + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.open); + } + else if (status["Data1"] == "1") + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.close); + } + else if (status["Data1"] == "5") + { + devicestatus.Text = status["Data2"] + "%"; + } + } + + } + } + break; + case DeviceType.AirSwitch: + { + actionsIcon.UnSelectedImagePath = "ZigeeLogic/airswitch.png"; + + var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; + if (TaskList == null) + { + continue; + } + foreach (var status in TaskList) + { + if (status["TaskType"].ToString() == "1") + { + if (status["Data1"].ToString() == "0") + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.close); + + } + else if (status["Data1"].ToString() == "1") + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.open); + + } + else if (status["Data1"].ToString() == "2") + { + + devicestatus.Text = Language.StringByID(MyInternationalizationString.onoff); + } + } + + } + + } + break; + case DeviceType.Thermostat: + { + actionsIcon.UnSelectedImagePath = "ZigeeLogic/ac.png"; + + var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; + if (TaskList == null) + { + continue; + } + string modetext = "", temperaturetext = "", speedtext = ""; + bool ifclose = false; + foreach (var status in TaskList) + { + if (status["TaskType"].ToString() == "1") + { + if (status["Data1"].ToString() == "0") + { + // devicestatus.Text = Language.StringByID(MyInternationalizationString.close); + + ifclose = false; + } + else if (status["Data1"].ToString() == "1") + { + //devicestatus.Text = Language.StringByID(MyInternationalizationString.open); + ifclose = true; + } + + } + else if (status["TaskType"].ToString() == "5") + { + if (status["Data1"] == "3") + {//3---璁剧疆宸ヤ綔妯″紡(1:鑷姩;3:鍒跺喎;4:鍒剁儹;7:閫侀;8:闄ゆ箍) + switch (status["Data2"]) + { + case "3": + { + modetext = Language.StringByID(MyInternationalizationString.logiccool); + } + break; + case "4": + { + modetext = Language.StringByID(MyInternationalizationString.logicheat); + } + break; + case "1": + { + modetext = Language.StringByID(MyInternationalizationString.logicauto); + } + break; + case "8": + { + modetext = Language.StringByID(MyInternationalizationString.logicdry); + } + break; + case "7": + { + modetext = Language.StringByID(MyInternationalizationString.logicfanonly); + } + break; + } + } + else if (status["Data1"] == "6") + {//6---璁剧疆椋庢墖妯″紡(1:浣庨;2:涓;3:楂橀;) + switch (status["Data2"]) + { + case "1": + { + speedtext = Language.StringByID(MyInternationalizationString.logiclow); + } + break; + + case "2": + { + speedtext = Language.StringByID(MyInternationalizationString.logicmedium); + } + break; + case "3": + { + speedtext = Language.StringByID(MyInternationalizationString.logichigh); + } + break; + + } + } + //4---璁剧疆鍔犵儹搴︽暟;5---璁剧疆鍒跺喎銆侀櫎婀垮害鏁�;7---璁剧疆鑷姩搴︽暟 + else if (status["Data1"] == "4" || status["Data1"] == "5" || status["Data1"] == "7") + { + var s = int.Parse(status["Data2"]) / 100; + temperaturetext = s.ToString(); + } + else if (status["Data1"] == "20") + { + temperaturetext = "鏃�"; + } + + + } + + } + if (ifclose) + { + devicestatus.Text = modetext + ";" + temperaturetext + "鈩�;" + speedtext; + } + else + { + devicestatus.Text = Language.StringByID(MyInternationalizationString.close); + + } + } + break; + + } + + + } + break; + case 2: + { + + var sceneinof = Common.Room.AllRoomSceneUIList.Find((obj) => { return obj.Id.ToString() == actions["DeviceAddr"].ToString(); }); + if (sceneinof == null) + { + continue; + } + + actionsIcon.UnSelectedImagePath = "ZigeeLogic/scene.png"; + ///璁惧鍚嶇ОButton + var btndevicename = new Button + { + Y = Application.GetRealHeight(20), + Height = Application.GetRealHeight(50), + Width = Application.GetRealWidth(500), + TextAlignment = TextAlignment.CenterLeft, + Text = sceneinof.Name, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + }; + actionsrowLayout.AddChidren(btndevicename); + + ///鍖哄煙(鎴块棿)鍚嶇ОButton + var btnregionname = new Button + { + Y = btndevicename.Bottom + Application.GetRealHeight(10), + Width = Application.GetRealWidth(500), + TextAlignment = TextAlignment.CenterLeft, + Height = Application.GetRealHeight(50), + Text = "",//Language.StringByID(MyInternationalizationString.customroom), + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + }; + actionsrowLayout.AddChidren(btnregionname); + /////閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О + Common.Room room = new Common.Room(); + btnregionname.Text = room.GetRoomNameBySceneId(sceneinof.Id); + //Send.RoomNmae(btnregionname, deviceinof); + + + + } + break; + + } + ///鍒犻櫎鎺т欢 + var del = new Button + { + BackgroundColor = ZigbeeColor.Current.LogicDelBlackColor1, + Text = Language.StringByID(MyInternationalizationString.del), + }; + actionsrowLayout.AddRightView(del); + + del.MouseUpEventHandler += (sender, e) => + { + var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete), + Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim)); + alert.ResultEventHandler += (sender1, e1) => + { + if (e1) + { + Common.Logic.CurrentLogic.Actions.Remove(actions); + } + }; + alert.Show(); + + }; + + } + } + + #endregion + + #region ----鎺ㄩ�佽缃�---- + + var fraline1 = new FrameLayout + { + Height = Application.GetRealHeight(30), + }; + middle.AddChidren(fraline1); + + var pushFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(160), + BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + }; + middle.AddChidren(pushFrameLayout); + + var pushswitchRowlayout = new RowLayout + { + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(965), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(58), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + }; + pushFrameLayout.AddChidren(pushswitchRowlayout); + + var btnswitchtxet = new Button + { + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + Width = Application.GetRealWidth(300), + Height = Application.GetRealHeight(60), + Gravity = Gravity.CenterVertical, + TextID = MyInternationalizationString.pushswitch, + }; + pushswitchRowlayout.AddChidren(btnswitchtxet); + + var btnswitch = new Button + { + Width = Application.GetMinRealAverage(104), + Height = Application.GetMinRealAverage(63), + UnSelectedImagePath = "ZigeeLogic/logicclose.png", + SelectedImagePath = "ZigeeLogic/logicopen.png", + X = Application.GetRealWidth(965 - 104), + Gravity = Gravity.CenterVertical, + }; + pushswitchRowlayout.AddChidren(btnswitch); + btnswitch.MouseUpEventHandler += (sender1, e1) => + { + btnswitch.IsSelected = !btnswitch.IsSelected; + if (btnswitch.IsSelected) + { + + } + else + { + + } + }; + + + var custompushFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(160), + BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + }; + middle.AddChidren(custompushFrameLayout); + + var custompushRowLayout = new RowLayout + { + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(965), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(58), + LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + }; + custompushFrameLayout.AddChidren(custompushRowLayout); + + var btncustompush = new Button + { + TextID = MyInternationalizationString.custompush, + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + Width = Application.GetRealWidth(300), + Height = Application.GetRealHeight(60), + Gravity = Gravity.CenterVertical, + }; + custompushRowLayout.AddChidren(btncustompush); + + + var custompushback = new Button + { + Width = Application.GetRealWidth(58), + Height = Application.GetRealHeight(58), + UnSelectedImagePath = "ZigeeLogic/next.png", + X = Application.GetRealWidth(965 - 58), + Gravity = Gravity.CenterVertical, + }; + custompushRowLayout.AddChidren(custompushback); + EventHandler<MouseEventArgs> customclick = (sender, e) => + { + var CustomText = new CustomText(); + UserView.HomePage.Instance.AddChidren(CustomText); + UserView.HomePage.Instance.PageIndex += 1; + CustomText.Show(); + + }; + btncustompush.MouseUpEventHandler += customclick; + custompushback.MouseUpEventHandler += customclick; + custompushRowLayout.MouseUpEventHandler += customclick; + + #endregion + + + var saveFrameLayout = new FrameLayout + { + Y = middle.Bottom, + Height = Application.GetRealHeight(180), + BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + this.AddChidren(saveFrameLayout); + + var btnsave = new Button + { + X = Application.GetRealWidth(85), + Height = Application.GetRealHeight(130),//194 + Width = Application.GetRealWidth(910), + Radius = (uint)Application.GetRealHeight(60), + BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor, + TextID = MyInternationalizationString.Save, + TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + }; + saveFrameLayout.AddChidren(btnsave); + btnsave.MouseUpEventHandler += async (sender, e) => + { + var name = logicTextBox.Text.Trim(); + if (string.IsNullOrEmpty(logicTextBox.Text.Trim())) + { + new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.PleaseEnterLogicName), Language.StringByID(MyInternationalizationString.Close)).Show(); + return; + } + var logicname = Common.Logic.LockLogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name); + if (logicname != null) + { + new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.Rename), Language.StringByID(MyInternationalizationString.Close)).Show(); + return; + } + + Common.Logic.CurrentLogic.LogicName = name; + + //鍒ゆ柇鏄柊娣诲姞閫昏緫(榛樿0)杩樻槸淇敼閫昏緫 + CommonPage.Loading.Start(); + if (Common.Logic.CurrentLogic.LogicId == 0) + { + //鍙戦�佹坊鍔犻�昏緫鍛戒护 + var logicifon = await Send.AddModifyLogic(Common.Logic.CurrentLogic); + if (logicifon != null && logicifon.LogicId != 0) + { + Common.Logic.CurrentLogic.LogicId = logicifon.LogicId; + Common.Logic.LockLogicList.Add(Common.Logic.CurrentLogic); + } + } + else + { + //鍙戦�佷慨鏀归�昏緫鍛戒护 + Send.AddModifyLogic(Common.Logic.CurrentLogic); + } + + CommonPage.Loading.Hide(); + UserView.HomePage.Instance.RemoveViewByTag("LockLogic"); + UserView.HomePage.Instance.RemoveViewByTag("LockLogicList"); + var doorLockLogicList = new LockLogicList(); + UserView.HomePage.Instance.AddChidren(doorLockLogicList); + UserView.HomePage.Instance.PageIndex += 1; + doorLockLogicList.Show(); + }; + + } + } +} -- Gitblit v1.8.0