gxc
2019-12-03 642fcdaeb496d9a8f3154e17fd76005be3fcf197
ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs
@@ -14,9 +14,8 @@
            Tag = "Logic";
        }
        Button selectedIcon = new Button();
        public static Action action;
        public static bool edit=false;
        VerticalScrolViewLayout middle;
        public async void Show(CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo=null)
        {
@@ -35,7 +34,7 @@
            var titleName = new Button
            {
                TextSize = 16,
                TextSize = 17,
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                TextAlignment = TextAlignment.CenterLeft,
                X = Application.GetRealWidth(176),
@@ -56,7 +55,6 @@
            clickBtn.MouseDownEventHandler += (sender, e) =>
            {
                RemoveFromParent();
                action();
            };
            var back = new Button
@@ -75,7 +73,7 @@
            };
            #endregion
            var middle = new VerticalScrolViewLayout
            middle = new VerticalScrolViewLayout
            {
                Y = topRowLayout.Bottom,
                Height = Application.GetRealHeight(1920 - 184),
@@ -96,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)
            {
@@ -110,11 +116,11 @@
                {
                    continue;
                }
                var userFramelayout = new RowLayout
                var userFramelayout = new FrameLayout
                {
                    Height = Application.GetRealHeight(160),
                    BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
                    LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
                    // LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
                };
                middle.AddChidren(userFramelayout);
@@ -134,6 +140,7 @@
                    Text = user.UserName,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                    TextSize = 14,
                };
                userRow.AddChidren(userBtn);
@@ -148,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);
@@ -191,6 +216,7 @@
                        Width = Application.GetRealWidth(200),
                        X = Application.GetRealWidth(80),
                        TextAlignment = TextAlignment.CenterLeft,
                TextSize = 14,
                    };
                    lockRow.AddChidren(Btncancel);
                    Btncancel.MouseUpEventHandler += (sender16, e16) =>
@@ -219,12 +245,16 @@
                        Width = Application.GetRealWidth(200),
                        TextAlignment = TextAlignment.CenterRight,
                        X = Btntitle.Right + Application.GetRealWidth(100),
                TextSize = 14,
                    };
                    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++)
@@ -253,27 +283,10 @@
                            TextAlignment = TextAlignment.CenterLeft,
                            TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                            Text= userifon.ModeName,
                    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),
@@ -299,7 +312,6 @@
                            openMode = userifon.OpenMode.ToString();
                            accountname = Btntitle.Text + doorlockBtn.Text;
                            //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                        };
                        doorlockRow.MouseUpEventHandler += doorlockclick;
                        doorlockBtn.MouseUpEventHandler += doorlockclick;
@@ -319,8 +331,6 @@
                        }
                    }
                    Btncomplete.MouseUpEventHandler += (sender3, e3) =>
                    {
                        string userIdstr = "", openModestr="";
@@ -350,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")
@@ -361,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
                        {
@@ -402,14 +420,7 @@
                    };
                };
                userBtn.MouseUpEventHandler += useridclick;
                userBack.MouseUpEventHandler += useridclick;
                userFramelayout.MouseUpEventHandler += useridclick;
                userRow.MouseUpEventHandler += useridclick;
            }
        }
    }
}