コード例 #1
0
        async Task FindFilteredContactsAsync()
        {
            this.IsRefreshing = true;

            string authToken = await _cacheService.GetObject <string>("AuthToken");

            if (authToken != null)
            {
                var contacts = await _contactsService.FindFilteredContact(authToken);

                if (contacts.Any())
                {
                    var list = new List <ContactViewModel>();
                    foreach (var result in contacts)
                    {
                        var contact = this.Contacts
                                      .FirstOrDefault(x => x.Id.Equals(result.Id));

                        if (contact != null)
                        {
                            contact.TrySet(result);
                        }
                        else
                        {
                            contact = new ContactViewModel();
                            contact.TrySet(result);
                            this.Contacts.Add(contact);
                        }
                    }
                    if (list.Any())
                    {
                        this.Contacts.AddRange(list);
                    }
                }
            }

            this.IsRefreshing = false;
        }