| | |
| | | Button selectedIcon = new Button(); |
| | | public static Action action; |
| | | public static bool edit=false; |
| | | Dictionary<string, string> deviceConditionsInfo = new Dictionary<string, string>(); |
| | | Dictionary<string, string> userdictionary = new Dictionary<string, string>(); |
| | | |
| | | |
| | | public async void Show(CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo=null) |
| | | { |
| | | |
| | | if (!edit) |
| | | { |
| | | deviceConditionsInfo.Add("Type", "1"); |
| | | deviceConditionsInfo.Add("IsValid", "1"); |
| | | deviceConditionsInfo.Add("MacAddr", common.DeviceAddr); |
| | | deviceConditionsInfo.Add("Epoint", common.DeviceEpoint.ToString()); |
| | | deviceConditionsInfo.Add("Cluster_ID", "64529"); |
| | | deviceConditionsInfo.Add("AttriButeData1", "2"); |
| | | deviceConditionsInfo.Add("Range", "0"); |
| | | editdeviceConditionsInfo = deviceConditionsInfo; |
| | | } |
| | | |
| | | UserView.HomePage.Instance.ScrollEnabled = false; |
| | | this.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; |
| | | #region 最上面的布局代码 |
| | |
| | | BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, |
| | | }; |
| | | this.AddChidren(middle); |
| | | if (Send.UserList.Count == 0) |
| | | |
| | | |
| | | bool d = false; |
| | | string macport = common.DeviceAddr + "_" + common.DeviceEpoint.ToString(); |
| | | for (int i = 0; i < Send.LockList.Count; i++) |
| | | { |
| | | if (Send.LockList[i].DoorLockMacPort == macport) |
| | | { |
| | | ///已经存在该门锁信息 |
| | | d = true; |
| | | break; |
| | | } |
| | | |
| | | } |
| | | |
| | | if (!d) |
| | | { |
| | | var allMemberslist = await Send.AllMembers(common.DeviceAddr); |
| | | Send.UserList.AddRange(allMemberslist); |
| | | Send.LockList.AddRange(allMemberslist); |
| | | } |
| | | foreach (var user in Send.UserList) |
| | | { |
| | | |
| | | |
| | | foreach (var user in Send.LockList) |
| | | { |
| | | if (user.DoorLockMacPort != macport) |
| | | { |
| | | continue; |
| | | } |
| | | var userFramelayout = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(160), |
| | |
| | | |
| | | var userBtn = new Button |
| | | { |
| | | Text = user.MembershipName, |
| | | Text = user.UserName, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = ZigbeeColor.Current.LogicTextBlackColor, |
| | | }; |
| | |
| | | TextAlignment = TextAlignment.Center, |
| | | X = Btncancel.Right + Application.GetRealWidth(100), |
| | | TextSize = 16, |
| | | Text = user.MembershipName, |
| | | Text = user.UserName, |
| | | }; |
| | | lockRow.AddChidren(Btntitle); |
| | | var Btncomplete = new Button |
| | |
| | | }; |
| | | lockRow.AddChidren(Btncomplete); |
| | | #endregion |
| | | |
| | | string SelectedDeviceStatuscondition = ""; |
| | | ///定两个变量记录之前的只值; |
| | | string userId = "", openMode = "", accountname="", SelectedDeviceStatuscondition = ""; |
| | | lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * user.UserIdMode.Count) - 20 - 50); |
| | | lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * user.UserIdMode.Count) + 20 + 50); |
| | | for (int i = 0; i < user.UserIdMode.Count; i++) |
| | |
| | | Width = Application.GetRealWidth(600), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, |
| | | Text= userifon.ModeName, |
| | | }; |
| | | doorlockRow.AddChidren(doorlockBtn); |
| | | //(1按键/3卡/15指纹) |
| | | switch (userifon.OpenMode.ToString()) |
| | | { |
| | | case "0": |
| | | { |
| | | doorlockBtn.Text = Language.StringByID(MyInternationalizationString.lockpassword); |
| | | } |
| | | break; |
| | | case "3": |
| | | { |
| | | doorlockBtn.Text = Language.StringByID(MyInternationalizationString.ic); |
| | | } |
| | | break; |
| | | case "15": |
| | | { |
| | | doorlockBtn.Text = Language.StringByID(MyInternationalizationString.fingerprint); |
| | | } |
| | | break; |
| | | } |
| | | //switch (userifon.OpenMode.ToString()) |
| | | //{ |
| | | // case "0": |
| | | // { |
| | | // doorlockBtn.Text = Language.StringByID(MyInternationalizationString.lockpassword); |
| | | // } |
| | | // break; |
| | | // case "3": |
| | | // { |
| | | // doorlockBtn.Text = Language.StringByID(MyInternationalizationString.ic); |
| | | // } |
| | | // break; |
| | | // case "15": |
| | | // { |
| | | // doorlockBtn.Text = Language.StringByID(MyInternationalizationString.fingerprint); |
| | | // } |
| | | // break; |
| | | //} |
| | | var doorlockSelected = new Button |
| | | { |
| | | X = Application.GetRealWidth(860), |
| | |
| | | selectedIcon.Visible = false; |
| | | selectedIcon = doorlockSelected; |
| | | doorlockSelected.Visible = true; |
| | | userId = userifon.UserId; |
| | | openMode = userifon.OpenMode.ToString(); |
| | | accountname = Btntitle.Text + doorlockBtn.Text; |
| | | //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | if (deviceConditionsInfo.ContainsKey("AttriButeId")) |
| | | { |
| | | deviceConditionsInfo.Remove("AttriButeId"); |
| | | } |
| | | if (deviceConditionsInfo.ContainsKey("AttriButeData2")) |
| | | { |
| | | deviceConditionsInfo.Remove("AttriButeData2"); |
| | | } |
| | | deviceConditionsInfo.Add("AttriButeId", userifon.OpenMode.ToString()); |
| | | deviceConditionsInfo.Add("AttriButeData2", userifon.UserId); |
| | | |
| | | if (userdictionary.ContainsKey("Account")) |
| | | { |
| | | userdictionary.Remove("Account"); |
| | | } |
| | | if (userdictionary.ContainsKey("Type")) |
| | | { |
| | | userdictionary.Remove("Type"); |
| | | } |
| | | if (userdictionary.ContainsKey("UserId")) |
| | | { |
| | | userdictionary.Remove("UserId"); |
| | | } |
| | | userdictionary.Add("Account", Btntitle.Text+doorlockBtn.Text); |
| | | userdictionary.Add("Type", "1"); |
| | | userdictionary.Add("UserId", userifon.UserId); |
| | | }; |
| | | doorlockRow.MouseUpEventHandler += doorlockclick; |
| | | doorlockBtn.MouseUpEventHandler += doorlockclick; |
| | | doorlockSelected.MouseUpEventHandler += doorlockclick; |
| | | doorlockfra.MouseUpEventHandler += doorlockclick; |
| | | if (edit&&editdeviceConditionsInfo!=null) |
| | | |
| | | if (edit && editdeviceConditionsInfo != null) |
| | | { |
| | | deviceConditionsInfo = editdeviceConditionsInfo; |
| | | |
| | | if (editdeviceConditionsInfo["AttriButeData2"] == userifon.UserId.ToString()) |
| | | { |
| | | selectedIcon.Visible = false; |
| | | selectedIcon = doorlockSelected; |
| | | doorlockSelected.Visible = true; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | Btncomplete.MouseUpEventHandler += (sender3, e3) => |
| | | { |
| | | |
| | | string userIdstr = "", openModestr=""; |
| | | var deviceConditionsInfo = new Dictionary<string, string>(); |
| | | var userdictionary = new Dictionary<string, string>(); |
| | | deviceConditionsInfo.Add("Type", "1"); |
| | | deviceConditionsInfo.Add("IsValid", "1"); |
| | | deviceConditionsInfo.Add("MacAddr", common.DeviceAddr); |
| | | deviceConditionsInfo.Add("Epoint", common.DeviceEpoint.ToString()); |
| | | deviceConditionsInfo.Add("Cluster_ID", "64529"); |
| | | deviceConditionsInfo.Add("AttriButeData1", "2"); |
| | | deviceConditionsInfo.Add("Range", "0"); |
| | | deviceConditionsInfo.Add("AttriButeId", openMode); |
| | | deviceConditionsInfo.Add("AttriButeData2", userId); |
| | | userdictionary.Add("Account",accountname); |
| | | userdictionary.Add("Type", "1"); |
| | | userdictionary.Add("UserId", userId); |
| | | if (edit) |
| | | { |
| | | openModestr = editdeviceConditionsInfo["AttriButeId"]; |
| | | userIdstr = editdeviceConditionsInfo["AttriButeData2"]; |
| | | } |
| | | else |
| | | { |
| | | openModestr = deviceConditionsInfo["AttriButeId"]; |
| | | userIdstr = deviceConditionsInfo["AttriButeData2"]; |
| | | } |
| | | if (SelectedDeviceStatuscondition != "") |
| | | { |
| | | bool add = false; |
| | |
| | | { |
| | | if ((Common.Logic.CurrentLogic.Conditions[i]["MacAddr"] == common.DeviceAddr) && (Common.Logic.CurrentLogic.Conditions[i]["Epoint"] == common.DeviceEpoint.ToString())) |
| | | { |
| | | if (Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"] == editdeviceConditionsInfo["AttriButeId"] && Common.Logic.CurrentLogic.Conditions[i]["AttriButeData2"] == editdeviceConditionsInfo["AttriButeData2"]) |
| | | if (Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"] == openModestr && Common.Logic.CurrentLogic.Conditions[i]["AttriButeData2"] == userIdstr) |
| | | { |
| | | Common.Logic.CurrentLogic.Conditions.RemoveAt(i); |
| | | Common.Logic.CurrentLogic.Conditions.Insert(i, deviceConditionsInfo); |
| | | for (int j = 0; j < Common.Logic.CurrentLogic.Accounts.Count; j++) |
| | | { |
| | | if (Common.Logic.CurrentLogic.Accounts[j]["UserId"] == editdeviceConditionsInfo["AttriButeData2"]) |
| | | if (Common.Logic.CurrentLogic.Accounts[j]["UserId"] == userIdstr) |
| | | { |
| | | Common.Logic.CurrentLogic.Accounts.RemoveAt(j); |
| | | Common.Logic.CurrentLogic.Accounts.Insert(j, userdictionary); |