Beispiel #1
0
        private void FilterGroupsBySearch()
        {
            Grouped.Clear();
            GroupedFriendModel csg = new GroupedFriendModel()
            {
                LongName = "Your Contacts", ShortName = "C"
            };
            GroupedFriendModel pg = new GroupedFriendModel()
            {
                LongName = "Pending Friend Requests", ShortName = "P"
            };
            GroupedFriendModel mg = new GroupedFriendModel()
            {
                LongName = "Mutual Friends", ShortName = "M"
            };
            GroupedFriendModel ig = new GroupedFriendModel()
            {
                LongName = "Waiting for Response", ShortName = "W"
            };

            if (String.IsNullOrEmpty(SearchEntry))
            {
                if (_includeImportedContacts)
                {
                    foreach (var mv in ContactSearchRequestFriends.OrderBy(m => m.FirstAndLastName))
                    {
                        csg.Add(mv);
                    }
                }
                foreach (var pv in PendingFriends.OrderBy(m => m.FirstAndLastName))
                {
                    pg.Add(pv);
                }
                foreach (var mv in MutualFriends.OrderBy(m => m.FirstAndLastName))
                {
                    mg.Add(mv);
                }
                foreach (var iv in InitiatedRequestFriends.OrderBy(m => m.FirstAndLastName))
                {
                    ig.Add(iv);
                }
            }
            else
            {
                if (_includeImportedContacts)
                {
                    foreach (var mv in ContactSearchRequestFriends
                             .Where(p => p.UserName
                                    .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                    p.FirstName
                                    .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                    p.LastName
                                    .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                    p.PhoneNumber
                                    .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase))
                             .OrderBy(m => m.FirstAndLastName))
                    {
                        csg.Add(mv);
                    }
                }
                foreach (var pv in PendingFriends
                         .Where(p => p.UserName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.FirstName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.LastName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.PhoneNumber
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase))
                         .OrderBy(m => m.FirstAndLastName))
                {
                    pg.Add(pv);
                }
                foreach (var mv in MutualFriends
                         .Where(p => p.UserName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.FirstName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.LastName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.PhoneNumber
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase))
                         .OrderBy(m => m.FirstAndLastName))
                {
                    mg.Add(mv);
                }
                foreach (var iv in InitiatedRequestFriends
                         .Where(p => p.UserName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.FirstName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.LastName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.PhoneNumber
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase))
                         .OrderBy(m => m.FirstAndLastName))
                {
                    ig.Add(iv);
                }
            }
            if (_includeImportedContacts)
            {
                Grouped.Add(csg);
            }
            Grouped.Add(pg);
            Grouped.Add(mg);
            Grouped.Add(ig);
        }