コード例 #1
0
        public static string CreateKnowledgebaseUpdate(string portalDb, string knowledgebase)
        {
            IEnumerable <PortalDbRecordDTO> portalDbRecords = JsonConvert.DeserializeObject <IEnumerable <PortalDbRecordDTO> >(portalDb);
            QnADocumentsDTO qnaDocumentsDTO = JsonConvert.DeserializeObject <QnADocumentsDTO>(knowledgebase);

            List <QnADTO> qnaDTOs = new List <QnADTO>();

            LoadQnaDocuments(qnaDocumentsDTO, qnaDTOs);

            List <PortalDbRecordDTO> portalDbRecordsDTO = new List <PortalDbRecordDTO>();

            LoadPortalDbRecords(portalDbRecords, portalDbRecordsDTO);

            List <MetadataDTO> metadataDTO = new List <MetadataDTO>();

            LoadMetadata(qnaDTOs, metadataDTO);

            KnowledgebaseUpdateDTO knowledgebaseUpdateDTO = new KnowledgebaseUpdateDTO();

            LoadKbUpdate(qnaDocumentsDTO, portalDbRecordsDTO, metadataDTO, knowledgebaseUpdateDTO);

            var knowledgebaseUpdateObject = JsonConvert.SerializeObject(knowledgebaseUpdateDTO);

            return(knowledgebaseUpdateObject);
        }
コード例 #2
0
        private static void LoadKbUpdate(QnADocumentsDTO qnaDocumentsDTO, List <PortalDbRecordDTO> portalDbRecordsDTO, List <MetadataDTO> metadataDTO, KnowledgebaseUpdateDTO knowledgebaseUpdateDTO)
        {
            var currentKbDocumentsFaqIds = from m in metadataDTO
                                           where m.Name == "faqid"
                                           select new
            {
                KbId  = m.Id,
                FaqId = m.Value
            };

            var updateQuestions = from p in portalDbRecordsDTO
                                  join m in metadataDTO
                                  on p.FaqId.ToString() equals m.Value
                                  join q in qnaDocumentsDTO.QnaDTO
                                  on m.Id equals q.Id
                                  select p.FaqQuestion;

            var updateAnswers = from p in portalDbRecordsDTO
                                join m in metadataDTO
                                on p.FaqId.ToString() equals m.Value
                                join q in qnaDocumentsDTO.QnaDTO
                                on m.Id equals q.Id
                                select p.FaqAnswer;

            var updateContexts = from p in portalDbRecordsDTO
                                 join m in metadataDTO
                                 on p.FaqId.ToString() equals m.Value
                                 join q in qnaDocumentsDTO.QnaDTO
                                 on m.Id equals q.Id
                                 select q.Context;

            //var updateUrls = from p in portalDbRecordsDTO
            //                 join m in metadataDTO
            //                 on m.Id equals q.Id
            //                 select m.

            var wow = true;
        }