public static void Main(string[] args) { string root = args[0]; IFileReader fileReader = new FileReader(); IDirectoryBrowser directoryBrowser = new DirectoryBrowser(root, fileReader, new string[] { "node_modules", "$tf", "packages" }); IDatabaseParser efDatabaseParser = new EntityFrameworkDatabaseParser(); IProcedureParser procedureParser = new InformixProcedureParser(); IFileParser csFileParser = new CSFileParser(efDatabaseParser); IFileParser sqlFileParser = new SQLFileParser(procedureParser); IProjectParser netCoreProjectParser = new NETCoreProjectParser(csFileParser); List <ProcedureParseReport> procedureList = new List <ProcedureParseReport>(); List <ProjectParseReport> projectList = new List <ProjectParseReport>(); int total = 0; DirFile file; while ((file = directoryBrowser.NextFile()) != null) { if (file.Extension == "csproj") { ProjectParseReport projectReport = netCoreProjectParser.Parse(file); if (projectReport != null) { projectList.Add(projectReport); } } else if (file.Extension == "sql") { FileParseReport procedureReport = sqlFileParser.Parse(file); if (procedureReport != null) { procedureList.AddRange(procedureReport.Procedures); } } total++; UpdateConsoleStatus(total, file.Path, root); } JsonFileWriter.WriteToFile(procedureList, "procedureReport.json"); JsonFileWriter.WriteToFile(projectList, "projectReport.json"); }
public FileParseReport Parse(DirFile file) { FileParseReport databaseReport = null; if (file.Extension == "cs") { List <DatabaseParseReport> databaseParseReports = new List <DatabaseParseReport>(); foreach (IDatabaseParser dbParser in _databaseParsers) { DatabaseParseReport dbReport = dbParser.Parse(file); if (dbReport != null) { databaseParseReports.Add(dbReport); } } databaseReport = new FileParseReport(file.Name, databaseParseReports, null); } return(databaseReport); }
public FileParseReport Parse(DirFile file) { FileParseReport databaseReport = null; if (file.Extension == "sql") { List <ProcedureParseReport> procedureParseReports = new List <ProcedureParseReport>(); foreach (IProcedureParser procParser in _procedureParsers) { ProcedureParseReport procReport = procParser.Parse(file); if (procReport != null) { procedureParseReports.Add(procReport); } } databaseReport = new FileParseReport(file.Name, null, procedureParseReports); } return(databaseReport); }