Example #1
0
        public async Task <FileResult> Export()
        {
            List <string> csvRows = new List <string>();
            StringBuilder sb      = new StringBuilder();

            var user_ = await _userManager.FindByEmailAsync(User.Identity.Name);

            //header line
            csvRows.Add(PrimeSimulatorDocs.GenerateExportHeader().ToString());

            //add data from DB
            List <trace> list_travaux = await(from T in _context.trace
                                              where T.email == user_.Email
                                              select T).ToListAsync();

            var list_a_exporter = PrimeSimulatorDocs.ToDataTable(list_travaux);

            foreach (DataRow objRD in list_a_exporter.Rows)
            {
                sb = new StringBuilder();
                // Records Lines
                csvRows.Add(PrimeSimulatorDocs.GenerateExportRecordLine(objRD).ToString());
            }

            var list_CSV = string.Join("\r\n", csvRows);

            return(File(Encoding.GetEncoding("ISO-8859-1").GetBytes(list_CSV.ToString()), "application/csv", $"Travaux.csv"));
        }
        public async Task <ActionResult> Generate()
        {
            var d        = new PrimeSimulatorDocs(_context);
            var fileName = "test";

            //add Id variable
            var doc = await d.Generate(1);

            if (doc != null)
            {
                Response.ContentType = "application/pdf";
                Response.Headers.Add("content-disposition", $"inline;filename={HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)}.pdf");
                Response.Headers.Add("Content-Length", doc.Length.ToString());
                Response.Body.WriteAsync(doc, 0, doc.Length);
                Response.Body.Flush();
                return(new EmptyResult());
            }

            return(View());
        }