黄学彪
2019-11-25 160785587667cc0d927f85e44c139ec9dde13a9e
ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs
@@ -15,7 +15,7 @@
        }
        Button selectedIcon = new Button();
        public static bool edit=false;
        VerticalScrolViewLayout middle;
        public async void Show(CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo=null)
        {
@@ -73,7 +73,7 @@
            };
            #endregion
            var middle = new VerticalScrolViewLayout
            middle = new VerticalScrolViewLayout
            {
                Y = topRowLayout.Bottom,
                Height = Application.GetRealHeight(1920 - 184),
@@ -94,13 +94,21 @@
                }
            }
            CommonPage.Loading.Start();
            if (!d)
            {
                var allMemberslist = await Send.AllMembers(common.DeviceAddr);
                Send.LockList.AddRange(allMemberslist);
            }
            UserList(macport, common, editdeviceConditionsInfo);
            CommonPage.Loading.Hide();
        }
        /// <summary>
        /// 成员列表的方法
        /// </summary>
        /// <param name="macport"></param>
        void UserList(string macport, CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo)
        {
       
            foreach (var user in Send.LockList)
            {
@@ -147,6 +155,24 @@
                userRow.AddChidren(userBack);
                EventHandler<MouseEventArgs> useridclick = (sender, e) =>
                {
                    User(user, common, editdeviceConditionsInfo);
                };
                userBtn.MouseUpEventHandler += useridclick;
                userBack.MouseUpEventHandler += useridclick;
                userFramelayout.MouseUpEventHandler += useridclick;
                userRow.MouseUpEventHandler += useridclick;
            }
        }
        /// <summary>
        /// 当前成员信息的方法
        /// </summary>
        /// <param name="user"></param>
        void User(Send.MembershipIfon user, CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo)
                {
                    var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
                    this.AddChidren(flMain);
@@ -225,7 +251,10 @@
                    lockRow.AddChidren(Btncomplete);
                    #endregion
                    ///定两个变量记录之前的只值;
                    string userId = "", openMode = "", accountname="", SelectedDeviceStatuscondition = "";
            string userId = "";
            string openMode = "";
            string accountname = "";
            string 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++)
@@ -257,25 +286,7 @@
                            TextSize = 14,
                        };
                        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;
                        //}
                        var doorlockSelected = new Button
                        {
                            X = Application.GetRealWidth(860),
@@ -301,7 +312,6 @@
                            openMode = userifon.OpenMode.ToString();
                            accountname = Btntitle.Text + doorlockBtn.Text;
                            //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                        };
                        doorlockRow.MouseUpEventHandler += doorlockclick;
                        doorlockBtn.MouseUpEventHandler += doorlockclick;
@@ -321,8 +331,6 @@
                        }
                    }
                    Btncomplete.MouseUpEventHandler += (sender3, e3) =>
                    {
                        string userIdstr = "", openModestr="";
@@ -352,7 +360,8 @@
                        }
                        if (SelectedDeviceStatuscondition != "")
                        {
                            bool add = false;
                    bool addConditions = false;
                    bool addAccounts = false;
                            for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++)
                            {
                                if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "1")
@@ -363,26 +372,33 @@
                                        {
                                            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"] == userIdstr)
                                                {
                                                    Common.Logic.CurrentLogic.Accounts.RemoveAt(j);
                                                    Common.Logic.CurrentLogic.Accounts.Insert(j, userdictionary);
                                                }
                                            }
                                            add = true;
                                    addConditions = true;
                                            break;
                                        }
                                    }
                                }
                            }
                            if (!add)
                    for (int j = 0; j < Common.Logic.CurrentLogic.Accounts.Count; j++)
                            {
                                Common.Logic.CurrentLogic.Accounts.Add(userdictionary);
                        if (Common.Logic.CurrentLogic.Accounts[j]["Type"] == "1")
                        {
                            if (Common.Logic.CurrentLogic.Accounts[j]["UserId"] == userIdstr)
                            {
                                Common.Logic.CurrentLogic.Accounts.RemoveAt(j);
                                Common.Logic.CurrentLogic.Accounts.Insert(j, userdictionary);
                                addAccounts = true;
                                break;
                            }
                        }
                    }
                    if (!addConditions)
                    {
                                Common.Logic.CurrentLogic.Conditions.Add(deviceConditionsInfo);
                            }
                    if (!addAccounts)
                    {
                        Common.Logic.CurrentLogic.Accounts.Add(userdictionary);
                    }
                        }
                        else
                        {
@@ -404,14 +420,7 @@
                    };
                };
                userBtn.MouseUpEventHandler += useridclick;
                userBack.MouseUpEventHandler += useridclick;
                userFramelayout.MouseUpEventHandler += useridclick;
                userRow.MouseUpEventHandler += useridclick;
            }
        }
    }
}