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