Exemple #1
0
        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;
            });
        }
Exemple #2
0
        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);
            }
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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);
            }
        }