public int ScheduleJobForExportDocuments(long matterId, long dataSetId, long projectId, DocumentQueryContext queryContext) { return 10; }
/// <summary> /// Gets document list for a page. /// </summary> /// <param name="docList">The sorted or filtered document list.</param> /// <param name="queryContext">The query context.</param> /// <returns>The page documents list</returns> private static DocumentList PageNavigationDocumentList(DocumentList docList, DocumentQueryContext queryContext) { if (queryContext != null) { var start = ((queryContext.PageIndex - 1) * queryContext.PageSize); var end = start + queryContext.PageSize; var count = queryContext.PageSize; if (end > docList.Total) { count = docList.Total - start; } docList.Documents = docList.Documents.GetRange(start, count); docList.Total = docList.Documents.Count; } return docList; }
public AnalysisSetDocumentInfo GetUncodedDocument(long orgId, long matterId, long dataSetId, long projectId, string documentRefId, DocumentQueryContext searchContext) { var result = new AnalysisSetDocumentInfo(); var docList = new DocumentList(); if(searchContext.AnalysisSet.Type == AnalysisSetType.ControlSet) { docList.Documents = mockDocuments.Documents.Where(d => d.Fields[ControlDocumentIndex].Value == "1").ToList(); docList.Total = docList.Documents.Count; } if (searchContext.AnalysisSet.Type == AnalysisSetType.TrainingSet) { docList.Documents = mockDocuments.Documents.Where(d => d.Fields[TrainingDocumentIndex].Name == searchContext.AnalysisSet.Name).ToList(); docList.Total = docList.Documents.Count; } if (searchContext.AnalysisSet.Type == AnalysisSetType.QcSet) { docList.Documents = mockDocuments.Documents.Where(d => d.Fields[QualityDocumentIndex].Name == searchContext.AnalysisSet.Name).ToList(); docList.Total = docList.Documents.Count; } result.TotalDocumentCount = docList.Documents.Count; var doc = docList.Documents.Find( d => d.Fields.Exists(f => (f.DisplayName == "Reviewer Category" && f.Value == NotCoded))); if (doc != null) { result.DocumentReferenceId = doc.ReferenceId; result.ProjectName = "Predictive Coding Project"; result.DocumentText = "Mock Document " + doc.Id + " - Concordance® Evolution feeds your need for speed during document review. Litigation support professionals and document reviewers told us what they need most in an e-discovery review engine: outstanding speed, capacity and ease of use. Get it all with LexisNexis® Concordance® Evolution. Concordance® puts you in the driver’s seat, maintaining control and accelerating the review process to enhance client service and improve efficiency."; result.DocumentIndexId = Convert.ToInt32(doc.Id); result.ReviewerCategory = NotCoded; var dcnField = doc.Fields.Find(f => (f.DisplayName == "DCN")); if (dcnField != null) { result.DocumentDcn = dcnField.Value; } } var reviewStatus = doc != null ? Status.Inprogress : Status.Completed; MockWorkflowState.SetReviewStatus(searchContext.AnalysisSet.Type, reviewStatus); return result; }
private static DocumentList UpdatePredictedCategoryValue(DocumentList docList, DocumentQueryContext queryContext) { if (queryContext.Filters.Count == 2 && docList.Total > 0) { var totalDocs = docList.Total; var count = queryContext.Filters[0].Value == Relevant ? queryContext.Filters[1].Value == Relevant ? mockDiscrepancies[0][0] : mockDiscrepancies[0][1] : queryContext.Filters[1].Value == Relevant ? mockDiscrepancies[1][0] : mockDiscrepancies[1][1]; if (count > totalDocs) count = totalDocs; docList.Documents = docList.Documents.GetRange(0, count); docList.Total = docList.Documents.Count; foreach (var doc in docList.Documents) { doc.Fields[PredictedCategoryIndex].Value = queryContext.Filters[1].Value; } } return docList; }
private static DocumentList FilterDocumentList(DocumentList docList, DocumentQueryContext queryContext) { if (queryContext != null) { if (queryContext.KeyWord.Length > 0) { docList.Documents = docList.Documents.Where(d => d.Fields[ReviewerCategoryIndex].Value.Contains(queryContext.KeyWord)).ToList(); docList.Total = docList.Documents.Count; } if (queryContext.Filters.Count > 0) { docList.Documents = docList.Documents.Where(d => d.Fields[ReviewerCategoryIndex].Value == queryContext.Filters[0].Value).ToList(); docList.Total = docList.Documents.Count; docList=UpdatePredictedCategoryValue(docList, queryContext); } if (queryContext.Sort.Count > 0 && docList.Documents.Count > 0) { var index = docList.Documents[0].Fields.FindIndex(f => f.Name == queryContext.Sort[0].Name); if (queryContext.Sort[0].Order == SortOrder.Ascending) { docList.Documents = docList.Documents.Where(d => d.Fields[index].Name == queryContext.Sort[0].Name).OrderBy(o => o.Fields[index].Value).ToList(); } if (queryContext.Sort[0].Order == SortOrder.Descending) { docList.Documents = docList.Documents.Where(d => d.Fields[index].Name == queryContext.Sort[0].Name).OrderByDescending(o => o.Fields[index].Value).ToList(); } } } return docList; }
/// <summary> /// Gets the documents. /// </summary> /// <param name="matterId">The matter identifier.</param> /// <param name="dataSetId">The data set identifier.</param> /// <param name="projectId">The project identifier.</param> /// <param name="analysisSet">The analysis set.</param> /// <param name="queryContext">The query context.</param> /// <returns></returns> public DocumentList GetDocuments(long matterId, long dataSetId, long projectId, string analysisSet, DocumentQueryContext queryContext) { var docList = new DocumentList(); if(mockDocuments == null ) { var resourceName = string.Format(CultureInfo.InvariantCulture, "{0}.matter_{1}-dataset_{2}-project_{3}-documents.json", MockDataNameSpace, matterId, dataSetId, projectId); var mockData = GetEmbeddedResource(resourceName); mockDocuments = JsonConvert.DeserializeObject<DocumentList>(mockData); } if(analysisSet == "controlset") { docList.Documents = mockDocuments.Documents.Where(d => d.Fields[ControlDocumentIndex].Value == "1").ToList(); docList.Total = docList.Documents.Count; } if(analysisSet == "trainingset") { docList.Documents = mockDocuments.Documents.Where(d => d.Fields[TrainingDocumentIndex].Name == queryContext.AnalysisSet.Name).ToList(); docList.Total = docList.Documents.Count; } if (analysisSet == "qcset") { docList.Documents = mockDocuments.Documents.Where(d => d.Fields[QualityDocumentIndex].Name == queryContext.AnalysisSet.Name).ToList(); docList.Total = docList.Documents.Count; } if (analysisSet == "alldocuments") { docList.Documents = mockDocuments.Documents; docList.Total = docList.Documents.Count; } docList = FilterDocumentList(docList, queryContext); var pageDocuments = PageNavigationDocumentList(docList, queryContext); return pageDocuments; }
private static DocumentQueryContext CreateQueryContext(AnalysisSetType analysisSetType, string analysisSetName) { var queryContext = new DocumentQueryContext(); queryContext.AnalysisSet = new AnalysisSet(); queryContext.AnalysisSet.Name = analysisSetName; queryContext.AnalysisSet.Type = analysisSetType; queryContext.KeyWord = ""; queryContext.Filters = new List<Field>(); queryContext.Sort = new List<Sort>(); queryContext.MatterId = 1; queryContext.DatasetId = 1; queryContext.ProjectId = 1; queryContext.PageIndex = 1; queryContext.PageSize = 500; return queryContext; }
public void AutoCodeTruthSet(string matterId, string dataSetId, string projectId, string analysisSet, DocumentQueryContext documentQuery, string truthsetFieldName, string relevantFieldValue) { //No need of mock implementation for this method }