public async Task <ActionResult> ProcessForFileMasterData(string projectId) { var projectMaster = _floKaptureService.ProjectMasterRepository.GetById(projectId); if (projectMaster == null) { return(BadRequest($@"Project with id {projectId} not found!")); } var generalService = new GeneralService().BaseRepository <FileTypeReference>(); var extensionReferences = generalService.GetAllListItems(d => d.LanguageId == projectMaster.LanguageId); var csFiles = Directory.GetFiles(projectMaster.PhysicalPath, "*.cs", SearchOption.AllDirectories).ToList(); foreach (var csFile in csFiles) { if (Regex.IsMatch(csFile, @"\b\\bin\\\b|\b\\obj\\\b|\b\.Test\b", RegexOptions.IgnoreCase)) { continue; } string fileName = Path.GetFileName(csFile); if (string.IsNullOrEmpty(fileName)) { continue; } if (fileName.Contains(".dll.config")) { continue; } if (new[] { "Reference", "AssemblyInfo" }.Any(fileName.StartsWith)) { continue; } var extension = csFile.GetFileNameAndExtension(); // .UpTo("."); var extRef = extensionReferences.Find(e => Regex.IsMatch(extension.Value, e.FileExtension, RegexOptions.IgnoreCase)); if (extRef == null) { break; } var fileMaster = new FileMaster { FileName = Path.GetFileName(csFile), DoneParsing = false, FilePath = csFile, Processed = 0, ProjectId = projectMaster._id, FileTypeReferenceId = extRef._id, LinesCount = 0, WorkflowStatus = string.Empty }; await _floKaptureService.FileMasterRepository.AddDocument(fileMaster).ConfigureAwait(false); } return(Ok(new { Message = "Project processed successfully", Status = "OK", ProjectId = projectId })); }
public ActionResult GetFileTypeReferences() { using (var generalService = new GeneralService().BaseRepository <FileTypeReference>()) { var fileMaster = _floKaptureService.FileMasterRepository.Aggregate().Limit(10).ToList(); Console.WriteLine(fileMaster.Count); var aggregate = generalService.Aggregate().ToList(); var listAll = generalService.GetAllListItems(); var extRef = generalService.GetAllItems().ToList(); // observer all of 2 above and this statement return(Ok(new { aggregate, listAll, extRef })); } }