public KnowledgeBaseItemDetailVM() { Item = new KnowledgeBaseBinding(); databaseHelper = DatabaseHelper.GetInstance(); ShareButtonCommand = new Command((e) => { var a = (e as KnowledgeBaseBinding); HtmlParser htmlParser = new HtmlParser(); var text = a.title + ":\n" + htmlParser.GetFormattedTextFromHtml(a.text); var shareMessage = a.title + ":\n" + a.share_message; var share = DependencyService.Get <IShare>(); share.Show(text, shareMessage); }); FavouriteButtonCommand = new Command((e) => { var knowledge = (e as KnowledgeBaseBinding); databaseHelper.UpdateFavouriteKnowledgeBase(knowledge.id); if (knowledge.is_favourite == "true") { knowledge.is_favourite = "false"; } else if (knowledge.is_favourite == "false") { knowledge.is_favourite = "true"; } Item = knowledge; }); }
private async void listView_ItemTapped(object sender, ItemTappedEventArgs e) { var select = ((ListView)sender).SelectedItem; KnowledgeBaseBinding item = (KnowledgeBaseBinding)select; KnowledgeBaseItemDetail knowledgeBaseItemDetail = new KnowledgeBaseItemDetail(); knowledgeBaseItemDetail.knowledgeBaseItem = item; await Navigation.PushAsync(knowledgeBaseItemDetail); ((ListView)sender).SelectedItem = null; }
public List <KnowledgeBaseBinding> FetchAllFavourites() { var allKnowledge = databaseHelper.GetKnowledgeBase(); var allKnowledgeFavourites = databaseHelper.GetKnowledgeBaseFavourite(); if (allKnowledge != null && allKnowledgeFavourites != null) { try { var allFavourites = allKnowledgeFavourites.Where(x => x.is_favourite == "true").ToList(); List <KnowledgeBaseBinding> combinedList = new List <KnowledgeBaseBinding>(); foreach (var f in allFavourites) { var knowledge = allKnowledge.Find(x => x.id == f.id); KnowledgeBaseBinding kbb = new KnowledgeBaseBinding(); kbb.id = knowledge.id; kbb.title = knowledge.title; kbb.text = knowledge.text; kbb.category = knowledge.category; kbb.is_favourite = f.is_favourite; combinedList.Add(kbb); } return(combinedList); } catch { Debug.WriteLine("No favourites found!"); return(null); } } else { Debug.WriteLine("List in KnowledgeBaseFavourites page is empty"); return(null); } }
public List <KnowledgeBaseBinding> FetchAllCategoryItems() { var allKnowledgeBase = databaseHelper.GetKnowledgeBase(); var allKnowledgeBaseFavourites = databaseHelper.GetKnowledgeBaseFavourite(); if (allKnowledgeBase != null && allKnowledgeBaseFavourites != null) { List <KnowledgeBase> knowledgeBasedOnSelectedCategory = allKnowledgeBase.Where(g => g.category == selectedCategoryType).ToList(); List <KnowledgeBaseBinding> combinedList = new List <KnowledgeBaseBinding>(); foreach (var knowledge in knowledgeBasedOnSelectedCategory) { var favourite = allKnowledgeBaseFavourites.Find(x => x.id == knowledge.id); KnowledgeBaseBinding kbb = new KnowledgeBaseBinding(); kbb.id = knowledge.id; kbb.title = knowledge.title; kbb.text = knowledge.text; kbb.category = knowledge.category; kbb.share_message = knowledge.share_message; if (favourite != null) { kbb.is_favourite = favourite.is_favourite; } else { kbb.is_favourite = "false"; } combinedList.Add(kbb); } return(combinedList); } else { Debug.WriteLine("KnowledgeBase list in Category item page is empty"); return(null); } }
public KnowledgeBaseBinding FetchKnowledgeBaseItemDetail(string id) { var allKnowledgeBase = databaseHelper.GetKnowledgeBase(); var allKnowledgeBaseFavourites = databaseHelper.GetKnowledgeBaseFavourite(); if (allKnowledgeBase != null && allKnowledgeBaseFavourites != null) { KnowledgeBase itemDetail = allKnowledgeBase.First(x => x.id == id); KnowledgeBaseBinding kbb = new KnowledgeBaseBinding(); kbb.id = itemDetail.id; kbb.title = itemDetail.title; kbb.text = itemDetail.text; kbb.category = itemDetail.category; kbb.share_message = itemDetail.share_message; if (allKnowledgeBaseFavourites.Count() > 0) { FavouriteKnowledgeBase favourite = allKnowledgeBaseFavourites.First(x => x.id == id); if (favourite != null) { kbb.is_favourite = favourite.is_favourite; } } else { kbb.is_favourite = "false"; } return(kbb); } else { Debug.WriteLine("KnowledgeBase item detail in KnowledgeBaseItemDetail page is empty"); return(null); } }