public ContactDetailsTabView(Contact contact) { if (contact != null) { this.Title = contact.DisplayName; } else { this.Title = "New Contact"; } viewModel = new ContactDetailsViewModel(contact) { Navigation = Navigation }; this.Children.Add(new ContactDetailsView(viewModel) { Title = "Contact" }); this.Children.Add(new ContactMapView(viewModel) { Title = "Map" }); //ToolbarItems.Add(new ToolbarItem("Done", Device.OnPlatform<string>(null, null, "done.png"), async () => ToolbarItems.Add(new ToolbarItem("Done", "save.png", async () => { var confirmed = await DisplayAlert("Unsaved Changes", "Save changes?", "Save", "Discard"); if (confirmed) { viewModel.SaveContactCommand.Execute(null); } else { viewModel.GoBack(); System.Diagnostics.Debug.WriteLine("ContactDetailsTabView - cancel changes!"); } })); } //end ctor
public ContactDetailsViewModel(Contact contact) { if(contact == null) { Contact = new Models.Contact(); this.Title = "New Contact"; } else { Contact = contact; this.Title = contact.FirstName; } this.Icon = "contact.png"; dataManager = DependencyService.Get<IDataManager>(); //this.navigation = navigation; coder = new Geocoder(); } //end ctor
public async Task DeleteContactAsync(Contact item) { try { await contactTable.DeleteAsync(item); //await SyncContacts(); } catch (MobileServiceInvalidOperationException ex) { Debug.WriteLine(@"ERROR {0}", ex.Message); } catch (Exception ex2) { Debug.WriteLine(@"ERROR {0}", ex2.Message); } }
public async Task SaveContactAsync(Contact item) { try { if (item.Id == null) await contactTable.InsertAsync(item); else await contactTable.UpdateAsync(item); //await SyncContacts(); } catch (MobileServiceInvalidOperationException e) { Debug.WriteLine(@"Sync Failed: {0}", e.Message); } }