// Navigate to detail page with existing joke object private async Task SelectJoke(JokeViewModel joke) { if (joke == null) { return; } SelectedJoke = null; await _pageService.PushAsync(new JokeDetailPage(joke)); }
// Delete selected joke private async Task DeleteJoke(JokeViewModel jokeViewModel) { if (await _pageService.DisplayConfirm("Warning", $"Are you sure?", "Yes", "No")) { Jokes.Remove(jokeViewModel); var joke = await _jokeStore.GetJokeAsync(jokeViewModel.Id); await _jokeStore.DeleteJokeAsync(joke); } }
/// <summary> /// Constructor /// </summary> /// <param name="viewModel">The JokeViewModel</param> /// <param name="jokeStore">The JokeStore</param> /// <param name="pageService">The Page Service</param> public JokeDetailViewModel(JokeViewModel viewModel, IJokeStore jokeStore, IPageService pageService) { if (viewModel == null) { throw new ArgumentNullException(nameof(viewModel)); } _pageService = pageService; _jokeStore = jokeStore; // Define commands SaveCommand = new Command(async() => await Save()); Joke = new Joke { Id = viewModel.Id, Text = viewModel.Text, Date = viewModel.Date }; }