Exemple #1
0
        public void UpdateKnowledgeIndex(int knowledgeId, List <string> words, int creator)
        {
            var knowledgeIndexs = KnowledgeIndexRepository.GetKnowledgeIndexs(knowledgeId);
            var keywords        = knowledgeIndexs.Select(s => s.Yki_Keyword);
            var enumerable      = keywords as string[] ?? keywords.ToArray();

            //删除数据库中存在的部分数据
            var knowledgeDel = enumerable.Except(words).ToList();
            var ids          = new List <int>();

            foreach (var delWord in knowledgeDel)
            {
                ids = knowledgeIndexs.Where(x => x.Yki_Keyword == delWord).Select(s => s.Yki_Id).ToList();
            }
            if (ids.Count > 0)
            {
                KnowledgeIndexRepository.Delete(ids);
            }


            //添加新的部分数据
            var knowledgeAdd = words.Except(enumerable).ToList();

            foreach (var addWord in knowledgeAdd)
            {
                Yw_KnowledgeIndex knowledge = new Yw_KnowledgeIndex()
                {
                    Yki_Keyword     = addWord,
                    Yki_KnowledgeId = knowledgeId,
                    Yki_CreateTime  = DateTime.Now,
                    Yki_Creator     = creator
                };
                KnowledgeIndexRepository.Add(knowledge);
            }
        }
Exemple #2
0
 public void AddKnowledgeIndex(List <string> words, int knowledgeId, int creator, int level)
 {
     foreach (var word in words)
     {
         Yw_KnowledgeIndex knowledgeIndex = new Yw_KnowledgeIndex()
         {
             Yki_Keyword     = word,
             Yki_Level       = level,
             Yki_KnowledgeId = knowledgeId,
             Yki_CreateTime  = DateTime.Now,
             Yki_Creator     = creator
         };
         KnowledgeIndexRepository.Add(knowledgeIndex);
     }
 }