Exemple #1
0
        public async Task <IActionResult> FromFile(UploaderFileDTO model)
        {
            var parser = new FileParser(_itemsRepository);

            if (model.File.Length > 0)
            {
                var filePath = Path.GetTempFileName();
                try
                {
                    using (var stream = new FileStream(filePath, FileMode.Create))
                    {
                        await model.File.CopyToAsync(stream);
                    }
                    await parser.Execute(filePath);
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.Message);
                }
                finally
                {
                    var fi = new FileInfo(filePath);
                    if (fi.Exists)
                    {
                        fi.Delete();
                    }
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
Exemple #2
0
        static void Main(string[] args)
        {
            try
            {
                if (args.Length < 1)
                {
                    throw new ArgumentException($"Missing Argument. Must provide a Full Path");
                }

                var fileToRead = args[0];
                var outputType = OutputType.json; // Default Value to Json

                if (args.Length == 2 && Enum.TryParse(typeof(OutputType), args[1], out object extracted))
                {
                    outputType = (OutputType)extracted;
                }

                if (!File.Exists(fileToRead))
                {
                    throw new ArgumentException($"File {fileToRead} Does not exist !");
                }

                var directory      = Path.GetDirectoryName(fileToRead);
                var outputFilePath = Path.Combine(directory, $"Output_{DateTime.UtcNow.Ticks}.{outputType.ToString()}");

                Console.WriteLine($"Parsing file {fileToRead} \nOutputing result to file {outputFilePath}");


                var fileParser = new FileParser(fileToRead, outputType, outputFilePath);

                fileParser.Execute();
            }
            catch (Exception e)
            {
                Console.WriteLine($"Exception thrown : {e.Message}, {e.StackTrace}");
            }
        }