public MeditationItemDetailVM() { item = new MeditationBinding(); databaseHelper = DatabaseHelper.GetInstance(); ShareButtonCommand = new Command((e) => { var a = (e as MeditationBinding); HtmlParser htmlParser = new HtmlParser(); var text = htmlParser.GetFormattedTextFromHtml(a.html_string); var shareMessage = a.title + ":\n" + a.share_message; var share = DependencyService.Get <IShare>(); share.Show(text, shareMessage); }); FavouriteButtonCommand = new Command((e) => { var meditation = (e as MeditationBinding); databaseHelper.UpdateFavouriteMeditation(meditation.id); if (meditation.is_favourite == "true") { meditation.is_favourite = "false"; } else if (meditation.is_favourite == "false") { meditation.is_favourite = "true"; } Item = meditation; }); }
private async void listView_ItemTapped(object sender, ItemTappedEventArgs e) { var selectedCategory = ((ListView)sender).SelectedItem; MeditationBinding item = (MeditationBinding)selectedCategory; MedItemDetail medItemDetail = new MedItemDetail(); medItemDetail.meditationItem = item; await Navigation.PushAsync(medItemDetail); ((ListView)sender).SelectedItem = null; }
public void FetchItemDetail() { MeditationBinding response = meditationVM.FetchMeditationItemDetail(meditationItem.id); if (response != null) { UpdatePage(response); //todo } else { Debug.WriteLine("Category list item is empty"); } }
public List <MeditationBinding> FetchAllFavourites() { var allMeditations = databaseHelper.GetMeditation(); var allMeditationFavourites = databaseHelper.GetMeditationFavourite(); if (allMeditations != null && allMeditationFavourites != null) { try { var allFavourites = allMeditationFavourites.Where(x => x.is_favourite == "true").ToList(); List <MeditationBinding> combinedList = new List <MeditationBinding>(); foreach (var f in allFavourites) { var meditation = allMeditations.Find(x => x.id == f.id); MeditationBinding mb = new MeditationBinding(); mb.id = meditation.id; mb.html_string = meditation.html_string; mb.title = meditation.title; mb.category = meditation.category; mb.is_favourite = f.is_favourite; combinedList.Add(mb); } return(combinedList); } catch { Debug.WriteLine("No favourites found!"); return(null); } } else { Debug.WriteLine("List in MeditationFavouritesPage is empty"); return(null); } }
public List <MeditationBinding> FetchAllCategoryItems() { var allMeditations = databaseHelper.GetMeditation(); var allMeditationFavourites = databaseHelper.GetMeditationFavourite(); if (allMeditations != null && allMeditationFavourites != null) { List <Meditation> meditationBasedOnSelectedCategory = allMeditations.Where(g => g.category == selectedCategoryType).ToList(); List <MeditationBinding> combinedList = new List <MeditationBinding>(); foreach (var meditation in meditationBasedOnSelectedCategory) { var favourite = allMeditationFavourites.Find(x => x.id == meditation.id); MeditationBinding mb = new MeditationBinding(); mb.id = meditation.id; mb.html_string = meditation.html_string; mb.title = meditation.title; mb.category = meditation.category; mb.share_message = meditation.share_message; if (favourite != null) { mb.is_favourite = favourite.is_favourite; } else { mb.is_favourite = "false"; } combinedList.Add(mb); } return(combinedList); } else { Debug.WriteLine("Meditation list in Category item page is empty"); return(null); } }
public MeditationBinding FetchMeditationItemDetail(string id) { var allMeditation = databaseHelper.GetMeditation(); var allMeditationFavourites = databaseHelper.GetMeditationFavourite(); if (allMeditation != null && allMeditationFavourites != null) { Meditation itemDetail = allMeditation.First(x => x.id == id); MeditationBinding mb = new MeditationBinding(); mb.id = itemDetail.id; mb.html_string = itemDetail.html_string; mb.title = itemDetail.title; mb.category = itemDetail.category; mb.share_message = itemDetail.share_message; if (allMeditationFavourites.Count() > 0) { FavouriteMeditation favourite = allMeditationFavourites.First(x => x.id == id); if (favourite != null) { mb.is_favourite = favourite.is_favourite; } } else { mb.is_favourite = "false"; } return(mb); } else { Debug.WriteLine("Meditation item detail in MeditationItemDetail page is empty"); return(null); } }
private void UpdatePage(MeditationBinding response) { Title = response.title; meditationVM.Item = response; }