Пример #1
0
        //加载界面集合数据
        public void LoadGroupListData()
        {
            AsyncHandler.AsyncCall(Application.Current.Dispatcher, () =>
            {
                if (GroupInfoList != null && GroupInfoList.Count > 0)
                {
                    //var groupInfoLst = GroupInfoList.Where(m => m.GroupClassify == 0);
                    //if (groupInfoLst != null)
                    //{
                    //    var tempGroupLst = groupInfoLst.ToList();
                    //    for (int i = 0; i < tempGroupLst.Count; i++)
                    //    {
                    //        var groupInfo = tempGroupLst[i];
                    //        groupInfo.GetMembers();
                    //        tempGroupLst[i] = groupInfo;
                    //    }
                    //}

                    //我管理的
                    var tempGroupInfoLst    = GroupInfoList.Where(m => m.GroupClassify == 1);
                    var groupInfoViewModels = tempGroupInfoLst as IList <GroupInfoViewModel> ?? tempGroupInfoLst.ToList();
                    if (ManageGroupInfoList.Count == 0 || ManageGroupInfoList.Count != groupInfoViewModels.Count())
                    {
                        foreach (var groupInfo in groupInfoViewModels)
                        {
                            if (!ManageGroupInfoList.Contains(groupInfo) && !JoinGroupInfoList.Contains(groupInfo))
                            {
                                ManageGroupInfoList.Add(groupInfo);
                            }
                        }
                    }

                    //我加入的
                    var tempJoinGroupInfoLst = GroupInfoList.Where(m => m.GroupClassify == 2);
                    var joinGroupInfoLst     = tempJoinGroupInfoLst as IList <GroupInfoViewModel> ?? tempJoinGroupInfoLst.ToList();
                    if (JoinGroupInfoList.Count == 0 || JoinGroupInfoList.Count != joinGroupInfoLst.Count())
                    {
                        foreach (var groupInfo in joinGroupInfoLst)
                        {
                            if (!JoinGroupInfoList.Contains(groupInfo) && !ManageGroupInfoList.Contains(groupInfo))
                            {
                                JoinGroupInfoList.Add(groupInfo);
                            }
                        }
                    }
                    ManageGroupCount = ManageGroupInfoList.Count;
                    JoinGroupCount   = JoinGroupInfoList.Count;
                    IsManageGroup    = ManageGroupCount != 0;
                    IsJoinGroup      = JoinGroupCount != 0;
                }
            }, DispatcherPriority.Background);
        }