Exemple #1
0
        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();
            }
        }
Exemple #2
0
        public void CanGetProcessingTypeFromFile()
        {
            var paperRulez = new PaperRulez.PaperRulez("client", new FileReader(Path.Combine(projectDirectory, @"Files\DOCE4878_largeTestFile.text")), new MockLookupStore());

            var expectedProcessType = ProcessingType.LOOKUP;
            var expectedParams      = new string[3] {
                "Cat", "owner", "box"
            };

            var actualProcess = paperRulez.GetProcessingType();

            Assert.Equal(expectedProcessType, actualProcess.Type);
            Assert.Equal(expectedParams, actualProcess.Parameters);
        }