If you want to fetch the entire latest contacts. First of all, open your `App.xaml.cs`, Use ` IContactsService contactsService;` to get all of contacts, Here is all of `App.xaml.cs` code . ``` using System; using System.Collections.Generic; using System.Threading.Tasks; using Xamarin.Forms; using Xamarin.Forms.Xaml; namespace ContactsDemo { public partial class App : Application { IContactsService contactsService; public App(IContactsService contactsService) { InitializeComponent(); this.contactsService = contactsService; MainPage = new MainPage(contactsService); } protected override void OnStart() { // Handle when your app starts } protected override void OnSleep() { // Handle when your app sleeps } protected async override void OnResume() { //get all of contacts List contacts =await contactsService.RetrieveContactsAsync() as List; MessagingCenter.Send>(App.Current as App, "OneMessage", contacts); } } } ``` Then open your `MainPage.xaml.cs`, We can send contacts(did not add new records) to `AddContactPage`. Here is all of code about `MainPage.xaml.cs`. ``` using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace ContactsDemo { // Learn more about making custom code visible in the Xamarin.Forms previewer // by visiting https://aka.ms/xamarinforms-previewer [DesignTimeVisible(false)] public partial class MainPage : ContentPage { ContactsViewModel cvm; //IContactsService service; public List contactList; IContactsService contactsService; public MainPage(IContactsService contactService) { InitializeComponent(); this.contactsService = contactService; contactList = new List(); //service = contactService; BindingContext = new ContactsViewModel(contactService); } //void OnToggledEvent(object sender, EventArgs args) //{ // //cvm = new ContactsViewModel(service); // //if (!Utility.search) // //{ // ViewCell cell = (sender as Xamarin.Forms.Switch).Parent.Parent as ViewCell; // if (cell.BindingContext is Contact) // { // Contact contact = cell.BindingContext as Contact; // if (contact != null) // { // if (contact != null && !contactList.Contains(contact)) // { // contactList.Add(contact); // } // else if (contact != null && contactList.Contains(contact)) // { // contactList.Remove(contact); // } // } // } // Debug.WriteLine("contactList:>>" + contactList.Count); // //} //} private async void AddNewContact(object sender, EventArgs e) { List contactList22= await contactsService.RetrieveContactsAsync() as List; await Navigation.PushModalAsync(new AddContactPage(contactList22)); } } } ``` Then open `AddContactPage.xaml.cs`. Compare two list(add new record and not add new record list), we can fetch the entire latest contacts in `MessagingCenter.Subscribe` method. ``` using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; using Xamarin.Forms.Xaml; namespace ContactsDemo { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class AddContactPage : ContentPage { public AddContactPage(List contactList) { InitializeComponent(); ContactList = contactList; //MessagingCenter.Subscribe(App.Current as App, "isContactAdded", (sender) => //{ // //How I can fetch the entire latest contacts here // //After fetching conatcts only I can check the new phone number is added to the device phonebook //}); MessagingCenter.Subscribe>(App.Current, "OneMessage", (snd, arg) => { Device.BeginInvokeOnMainThread(() => { //Navigation.PushAsync(new NavigationPage(new DetailsInfo(arg))); Debug.WriteLine("I am here"); var AllNewContacts = arg as List; // can fetch the entire latest contacts here var exp2 = AllNewContacts.Where(a => !ContactList.Exists(t => a.Name.Contains(t.Name))).ToList(); }); }); } public List ContactList { get; } private async void AddtoPhonebook(object sender, EventArgs e) { var phnumber = number_entry.Text; if (phnumber.Length > 1) { DependencyService.Get().SaveContacts(" ", phnumber, " "); } else { await DisplayAlert("Alert", "Please enter vaild Phone number.", "Ok"); } } } } ```