WJC
2019-10-31 276b14dffead08293e951cc761be87436bdcf921
ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs
@@ -14,7 +14,7 @@
        Button selectedIcon = new Button();
       
        public int conditionsIndex = -1;
        public async  void  Show()
        public async void Show()
        {
            #region  最上面的布局代码
            var topRowLayout = new RowLayout
@@ -76,85 +76,25 @@
            };
            this.AddChidren(middle);
            var userlist = new List<Send.MembershipIfon>();
            ///判断APP登录进来用户身份(主人,管理员,成员)
            var doorlockifonlist = await Send.UserListIfon(LockIfon.DoorLock.DeviceAddr);
            if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3)
            if (Send.LinkageventLockList.Count == 0)
            {
                Send.MembershipIfon membershipIfon = new Send.MembershipIfon();
                foreach (var o in doorlockifonlist)
                {
                    if (o.CloudAccountId == LockIfon.UserMemberInfoRes.SubAccountDistributedMark)
                    {
                        Send.LockMode lockMode = new Send.LockMode();
                        lockMode.OpenMode = o.OpenLockMode;
                        lockMode.UserId = o.DoorLockLocalUserId;
                        membershipIfon.UserIdMode.Add(lockMode);
                        membershipIfon.MembershipId = LockIfon.UserMemberInfoRes.SubAccountDistributedMark;
                        if (string.IsNullOrEmpty(LockIfon.UserMemberInfoRes.UserName))
                        {
                            membershipIfon.MembershipName = LockIfon.UserMemberInfoRes.Account;
                        }
                        else
                        {
                            membershipIfon.MembershipName = LockIfon.UserMemberInfoRes.UserName;
                        }
                    }
                }
                userlist.Add(membershipIfon);
                var allMemberslist = await Send.AllMembers(Send.CurrentDoorLock.DeviceAddr);
                Send.LinkageventLockList.AddRange(allMemberslist);
            }
            else
            UserAllView(middle);
        }
        /// <summary>
        /// 显示所有用户
        /// </summary>
        /// <param name="middle"></param>
        void UserAllView(VerticalScrolViewLayout middle)
        {
            for (int i = 0; i < Send.LinkageventLockList.Count; i++)
            {
                var pra = new UserCenter.MemberListInfoPra();
                string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
                var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result);
                for (int i = 0; i < listInfo.Count; i++)
                {
                    var membership = new Send.MembershipIfon();
                    var membershipifon = listInfo[i];
                    for (int j = 0; j < doorlockifonlist.Count; j++)
                    {
                        ///查找成员以及成员门锁触发源(1按键/3卡/15指纹)
                        if (doorlockifonlist[j].CloudAccountId == membershipifon.SubAccountDistributedMark)
                        {
                            Send.LockMode lockMode = new Send.LockMode();
                            lockMode.OpenMode = doorlockifonlist[j].OpenLockMode;
                            lockMode.UserId = doorlockifonlist[j].DoorLockLocalUserId;
                            membership.UserIdMode.Add(lockMode);
                            membership.MembershipId = membershipifon.SubAccountDistributedMark;
                            if (string.IsNullOrEmpty(membershipifon.UserName))
                            {
                                membership.MembershipName = membershipifon.Account;
                            }
                            else
                            {
                                membership.MembershipName = membershipifon.UserName;
                            }
                        }
                    }
                    if (membership.UserIdMode.Count != 0)
                    {
                        ///过滤掉重复数据;
                        var str = userlist.Find((c) => { return c.MembershipId == membershipifon.SubAccountDistributedMark; });
                        if (str == null)
                        {
                            userlist.Add(membership);
                        }
                    }
                }
            }
            for (int i = 0; i < userlist.Count; i++)
            {
                var user = userlist[i];
                var user = Send.LinkageventLockList[i];
                var userFramelayout = new FrameLayout
                {
                    Height = Application.GetRealHeight(160),
@@ -179,7 +119,7 @@
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                    Width = Application.GetRealWidth(600),
                    Height = Application.GetRealHeight(130),
                    Tag = userlist[i],
                    Tag = Send.LinkageventLockList[i],
                };
                userRow.AddChidren(usernameBtn);
@@ -206,13 +146,12 @@
            }
        }
        /// <summary>
        /// 选择某个用户
        /// </summary>
        /// <param name="membershipIfon">触发源列表</param>
        /// <param name="userName">用户名字</param>
         void SelectedUserID(List<Send.LockMode> membershipIfon, string userName) {
        void SelectedUserID(List<Send.LockMode> membershipIfon, string userName) {
           var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
            this.AddChidren(flMain);
@@ -391,8 +330,8 @@
                var lockConditionsInfo = new Dictionary<string, string>();
                lockConditionsInfo.Add("Type", "1");
                lockConditionsInfo.Add("IsValid", "1");
                lockConditionsInfo.Add("MacAddr", LockIfon.DoorLock.DeviceAddr);
                lockConditionsInfo.Add("Epoint", LockIfon.DoorLock.DeviceEpoint.ToString());
                lockConditionsInfo.Add("MacAddr", Send.CurrentDoorLock.DeviceAddr);
                lockConditionsInfo.Add("Epoint", Send.CurrentDoorLock.DeviceEpoint.ToString());
                lockConditionsInfo.Add("Cluster_ID", "64529");
                lockConditionsInfo.Add("AttriButeId", attriButeId);
                lockConditionsInfo.Add("AttriButeData2", attriButeData2);
@@ -428,82 +367,6 @@
                lockLogicCommunalPage.Show(() => { });
            };
        }
        /*
        public async  List<Send.MembershipIfon> readuserlist(){
            var userlist = new List<Send.MembershipIfon>();
            ///判断APP登录进来用户身份(主人,管理员,成员)
            var doorlockifonlist = await Send.UserListIfon(LockIfon.DoorLock.DeviceAddr);
            if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3)
            {
                Send.MembershipIfon membershipIfon = new Send.MembershipIfon();
                //var list = LockIfon.GetUserIfon(LockIfon.UserMemberInfoRes.SubAccountDistributedMark);
                foreach (var o in doorlockifonlist)
                {
                    if (o.CloudAccountId == LockIfon.UserMemberInfoRes.SubAccountDistributedMark)
                    {
                        membershipIfon.MembershipId = LockIfon.UserMemberInfoRes.SubAccountDistributedMark;
                        membershipIfon.UserIdMode.Add(o.OpenLockMode.ToString());
                        if (string.IsNullOrEmpty(LockIfon.UserMemberInfoRes.UserName))
                        {
                            membershipIfon.MembershipName = LockIfon.UserMemberInfoRes.Account;
                        }
                        else
                        {
                            membershipIfon.MembershipName = LockIfon.UserMemberInfoRes.UserName;
                        }
                    }
                }
                userlist.Add(membershipIfon);
            }
            else
            {
                var pra = new UserCenter.MemberListInfoPra();
                string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
                var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result);
                for (int i = 0; i < listInfo.Count; i++)
                {
                    var membership = new Send.MembershipIfon();
                    var membershipifon = listInfo[i];
                    for (int j = 0; j < doorlockifonlist.Count; j++)
                    {
                        ///查找成员以及成员门锁触发源(1按键/3卡/15指纹)
                        if (doorlockifonlist[j].CloudAccountId == membershipifon.SubAccountDistributedMark)
                        {
                            membership.UserIdMode.Add(doorlockifonlist[j].UserIdMode);
                            membership.MembershipId = membershipifon.SubAccountDistributedMark;
                            if (string.IsNullOrEmpty(membershipifon.UserName))
                            {
                                membership.MembershipName = membershipifon.Account;
                            }
                            else
                            {
                                membership.MembershipName = membershipifon.UserName;
                            }
                        }
                    }
                    if (membership.UserIdMode.Count != 0)
                    {
                        ///过滤掉重复数据;
                        var str = userlist.Find((c) => { return c.MembershipId == membership.MembershipId; });
                        if (str == null)
                        {
                            userlist.Add(membership);
                        }
                    }
                }
            }
            return userlist;
        }
        */
    }
}