private async Task LoadContacts()
        {
            try
            {
                var hasPermission = await Utils.CheckPermissions(Plugin.Permissions.Abstractions.Permission.Contacts);

                if (hasPermission)
                {
                    App.ShowLoading(true);

                    var contacts = await CrossContactService.Current.GetContactListAsync();

                    foreach (Plugin.ContactService.Shared.Contact contact in contacts)
                    {
                        if (contact.Numbers.Count > 0)
                        {
                            if (!contact.Number.Contains("#"))
                            {
                                var bookContact = new BookContact(contact.Name, contact.Number, contact.PhotoUriThumbnail);
                                Items.Add(bookContact);
                            }
                        }
                    }

                    var asc = Items.OrderBy(item => item.Name);
                    Items = asc.ToList();

                    ItemsListView.ItemsSource = Items;

                    App.ShowLoading(false);
                }
                else
                {
                    ShowMessage(AppResources.ContactsAccessNotGranted);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
Beispiel #2
0
        private async void ContactsButtonClicked(object sender, EventArgs e)
        {
            this.Unfocus();

            try
            {
                var hasPermission = await Utils.CheckPermissions(Plugin.Permissions.Abstractions.Permission.Contacts);

                if (hasPermission)
                {
                    var result = await App.Locator.DeviceService.OpenAddressBook();

                    if (result != null)
                    {
                        var contact = new BookContact("", result, "");

                        if (contact.CountryCode != null)
                        {
                            ViewModel.RecipientPhoneCode   = contact.CountryCode;
                            ViewModel.RecipientPhoneNumber = contact.NationalPhone;
                        }
                        else
                        {
                            ViewModel.RecipientPhoneNumber = contact.SimplePhone;
                        }
                    }
                }
                else
                {
                    ShowMessage(AppResources.ContactsAccessNotGranted);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            //ContactsBookPage page = new ContactsBookPage();
            //page.eventHandler = DidSelectRecipientPhoneHandler;
            //this.Navigation.PushAsync(page);
        }
 public ContactsBookPageEventArgs(BookContact item)
 {
     this.item = item;
 }