public static void ConvertFiles(string inputDirectory, string outputFileName)
        {
            USFMParser parser = new USFMParser(new List <string> {
                "s5"
            });
            CsvRenderer         renderer = new CsvRenderer();
            List <USFMDocument> content  = new List <USFMDocument>();

            foreach (var f in Directory.EnumerateFiles(inputDirectory, "*.usfm", SearchOption.AllDirectories))
            {
                content.Add(parser.ParseFromString(File.ReadAllText(f)));
            }
            var file = File.OpenWrite(outputFileName);

            renderer.Render(content, file);
        }
        public async Task ExportPolicies()
        {
            //https://github.com/dotnet/aspnetcore/issues/7644
            var syncIOFeature = HttpContext.Features.Get <IHttpBodyControlFeature>();

            if (syncIOFeature != null)
            {
                syncIOFeature.AllowSynchronousIO = true;
            }

            var scope = AuthenticationService.GetScope(User);

            var csvRenderer = new CsvRenderer <ClientPolicy>();

            var fileName = $"ClientPolicies_{DateTime.Now.ToString("yyyy-MM-dd")}";

            SetResponseHeaders(Response, fileName);

            await ClientExportService.Policies(csvRenderer, Response.Body, scope);
        }
        public IPlogRenderer GetRenderService(RenderType renderType, Action <RenderType, string> completedAction = null)
        {
            switch (renderType)
            {
            case RenderType.Html:
                IPlogRenderer htmlRenderer = new HtmlPlogRenderer(_parsedArgs.RenderInfo, _errors.ExcludeFalseAlarms());
                if (completedAction != null)
                {
                    htmlRenderer.RenderComplete += (sender, args) => completedAction(renderType, args.OutputFile);
                }
                return(htmlRenderer);

            case RenderType.Totals:
                IPlogRenderer totalsRenderer = new PlogTotalsRenderer(_parsedArgs.RenderInfo, _errors.ExcludeFalseAlarms());
                if (completedAction != null)
                {
                    totalsRenderer.RenderComplete += (sender, args) => completedAction(renderType, args.OutputFile);
                }
                return(totalsRenderer);

            case RenderType.Txt:
                IPlogRenderer txtRenderer = new PlogTxtRenderer(_parsedArgs.RenderInfo, _errors.ExcludeFalseAlarms());
                if (completedAction != null)
                {
                    txtRenderer.RenderComplete += (sender, args) => completedAction(renderType, args.OutputFile);
                }
                return(txtRenderer);

            case RenderType.Csv:
                IPlogRenderer csvRenderer = new CsvRenderer(_parsedArgs.RenderInfo, _errors);
                if (completedAction != null)
                {
                    csvRenderer.RenderComplete += (sender, args) => completedAction(renderType, args.OutputFile);
                }
                return(csvRenderer);

            default:
                goto case RenderType.Html;
            }
        }
Example #4
0
        public string ToCsv()
        {
            var renderer = new CsvRenderer <T>(GridModel);

            return(renderer.ToString());
        }