Exemplo n.º 1
0
        private static List <string> CurrentQnaItemIdsInKb(QnAMakerKnowledgeBaseModel currentKnowledgeBase)
        {
            var currentQnaItemIdsInKb = new List <string>();

            foreach (var kbItem in currentKnowledgeBase.qnaList)
            {
                var kbItemIdMetaItem = kbItem.metadata.FirstOrDefault(m => m.name == "itemid");
                if (kbItemIdMetaItem != null)
                {
                    currentQnaItemIdsInKb.Add(kbItemIdMetaItem.value);
                }
            }
            return(currentQnaItemIdsInKb);
        }
Exemplo n.º 2
0
        private QnAMakerUpdateModel GenerateUpdateModelSingleItem(List <QnAItem> qnaItemsToSync, QnAMakerKnowledgeBaseModel currentKnowledgeBase, bool resetQuestions)
        {
            var qnaMakerUpdateModel = new QnAMakerUpdateModel
            {
                add    = new ItemsToAdd(),
                update = new ItemsToUpdate(),
                delete = new ItemsToDelete()
            };

            //var currentQnaItemIdsInKb = CurrentQnaItemIdsInKb(currentKnowledgeBase);
            //  id convert
            //var qnaItemsToAdd = qnaItemsToSync.Where(f => !currentQnaItemIdsInKb.Contains(f.ItemId.ToString())).ToList();
            //qnaMakerUpdateModel.add = GenerateItemsToAddModel(qnaItemsToAdd);

            //qnaMakerUpdateModel.delete = GenerateItemsToDeleteModel(currentKnowledgeBase.qnaList.ToList(), qnaItemsToSync);

            qnaMakerUpdateModel.update = GenerateItemsToUpdateModel(currentKnowledgeBase.qnaList.ToList(), qnaItemsToSync, resetQuestions);

            return(qnaMakerUpdateModel);
        }
Exemplo n.º 3
0
        private QnAMakerUpdateModel GenerateUpdateModel(List <QnAItem> qnaItemsToSync, QnAMakerKnowledgeBaseModel currentKnowledgeBase)
        {
            var qnaMakerUpdateModel = new QnAMakerUpdateModel
            {
                add    = new ItemsToAdd(),
                update = new ItemsToUpdate(),
                delete = new ItemsToDelete()
            };

            var currentQnaItemIdsInKb = CurrentQnaItemIdsInKb(currentKnowledgeBase);

            var qnaItemsToAdd = qnaItemsToSync.Where(f => !currentQnaItemIdsInKb.Contains(f.ItemId)).ToList();

            qnaMakerUpdateModel.add = GenerateItemsToAddModel(qnaItemsToAdd);

            qnaMakerUpdateModel.delete = GenerateItemsToDeleteModel(currentKnowledgeBase.qnaList.ToList(), qnaItemsToSync);

            qnaMakerUpdateModel.update = GenerateItemsToUpdateModel(currentKnowledgeBase.qnaList.ToList(), qnaItemsToSync);

            return(qnaMakerUpdateModel);
        }