static void LoopClientFoldersAsync() { #if DEBUG var clientFolders = Directory.EnumerateDirectories(@"E:\source\repos\Mapper\PaperRulez\Clients"); #else var clientFolders = Directory.EnumerateDirectories(Path.Combine(Directory.GetCurrentDirectory(), "Clients")); #endif var lookupStore = new LookupStore(); while (true) { foreach (var clientFolder in clientFolders) { var fileList = Directory.EnumerateFiles(clientFolder).ToList(); var client = Path.GetFileName(clientFolder); // Change for any log library, like serilog, NLog, log4net... Console.WriteLine($"Processing client {client}"); foreach (var filePath in fileList) { Console.WriteLine($"Processing file in {filePath}.."); var fileReader = new FileReader(filePath); var paperRulez = new PaperRulez(client, fileReader, lookupStore); paperRulez.Start(); Console.WriteLine($"Processing finished"); } } Task.Delay(5000).Wait(); } }
static void Main(string[] args) { try { const string client = "client"; const string documentId = "1234"; const string contentType = "test"; string file = Utilities.LoadFile(client, documentId, contentType); Console.WriteLine("File: \n" + file); Console.WriteLine("-----------------------------"); string typeOfProcessing = Utilities.TypeOfProcessing(file); IEnumerable <string> parameters = Utilities.FindParameters(file); IEnumerable <string> keywords = parameters; switch (typeOfProcessing) { case "lookup": var lookupStore = new LookupStore(); Utilities.LookupInFile(file, keywords); lookupStore.Record(client, documentId, keywords); break; default: Console.WriteLine("Type of processing not implemented"); break; } } catch (Exception e) { Console.WriteLine("{0} Exception caught.", e); } }