/// <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); } } } }
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); } }