Exemple #1
0
        /// <summary>
        /// Add KnowledgeBase data into the KnowledgeBase database
        /// </summary>
        /// <param name="KnowledgeList"></param>
        public void AddKnowledgeBase(List <KnowledgeBaseModel> KnowledgeList)
        {
            lock (collisionLock)
            {
                int status = database.Table <KnowledgeBase>().Delete(e => e.email == Settings.Email);
                //database.Query<KnowledgeBase>("Delete from KnowledgeBase");
                //database.Query<KnowledgeBase>("DELETE FROM SQLITE_SEQUENCE WHERE name = 'KnowledgeBase'");

                foreach (var k in KnowledgeList)
                {
                    KnowledgeBase knowledgeBase = new KnowledgeBase();

                    knowledgeBase.id            = k.id;
                    knowledgeBase.title         = k.title;
                    knowledgeBase.text          = k.text;
                    knowledgeBase.email         = Settings.Email;
                    knowledgeBase.share_message = k.share_message;
                    knowledgeBase.category      = k.category;

                    database.Insert(knowledgeBase);
                }

                foreach (var f in KnowledgeList)
                {
                    if (!(database.Table <FavouriteKnowledgeBase>().Any(x => x.id == f.id && x.email == Settings.Email)))
                    {
                        FavouriteKnowledgeBase favourite = new FavouriteKnowledgeBase();
                        favourite.id           = f.id;
                        favourite.is_favourite = "false";
                        favourite.email        = Settings.Email;
                        database.Insert(favourite);
                    }
                }
            }
        }
Exemple #2
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);
            }
        }