WJC
2019-11-13 a4d525d08da7b6fb985b0069c539c11b06306a9b
ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs
@@ -82,14 +82,34 @@
                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),
@@ -111,7 +131,7 @@
                var userBtn = new Button
                {
                    Text = user.MembershipName,
                    Text = user.UserName,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                };
@@ -188,7 +208,7 @@
                        TextAlignment = TextAlignment.Center,
                        X = Btncancel.Right + Application.GetRealWidth(100),
                        TextSize = 16,
                        Text = user.MembershipName,
                        Text = user.UserName,
                    };
                    lockRow.AddChidren(Btntitle);
                    var Btncomplete = new Button
@@ -232,27 +252,28 @@
                            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),
@@ -302,6 +323,7 @@
                    Btncomplete.MouseUpEventHandler += (sender3, e3) =>
                    {
                        string userIdstr = "", openModestr="";
                        var deviceConditionsInfo = new Dictionary<string, string>();
                        var userdictionary = new Dictionary<string, string>();
                        deviceConditionsInfo.Add("Type", "1");
@@ -316,7 +338,16 @@
                        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;
@@ -326,13 +357,13 @@
                                {
                                    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);