Esempio n. 1
0
        public IActionResult ExportRegistrationsToExcel(int id, [Bind] ExcelExportParams exportParams)
        {
            var singers            = _singerMapper.FindBy(s => s.IsActive).ToList();
            var eventRegistrations = _eventRegistrationMapper.FindBy(er => er.EventId == id).ToList();
            var @event             = _eventMapper.Find(id);
            var excelWorkbook      = ExcelExporter.ExportRegistrations(singers, eventRegistrations, @event, exportParams.Registered, exportParams.Unregistered, exportParams.WithoutRegistration);

            var memory   = new MemoryStream();
            var fileName = $"Registrace-{DateTime.Now.ToString("d-M-yyyy-H-mm")}.xlsx";
            var filePath = Path.Combine(_hostingEnvironment.WebRootPath, fileName);

            using (var fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
            {
                excelWorkbook.Write(fs);
            }

            using (var stream = new FileStream(filePath, FileMode.Open))
            {
                stream.CopyTo(memory);
            }
            memory.Position = 0;

            if (System.IO.File.Exists(filePath))
            {
                System.IO.File.Delete(filePath);
            }

            return(File(memory, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName));
        }
Esempio n. 2
0
 private IEnumerable CollectData(ExcelExportParams parameters)
 {
     if (parameters.Export == "comments")
     {
         return(CommentService.GetCommentsByUser(parameters.UserId));
     }
     else
     {
         return(PostService.GetPostsByUser(parameters.UserId));
     }
 }
Esempio n. 3
0
        private ExcelExportParams ExtractParams(NameValueCollection parameters)
        {
            ExcelExportParams settings = new ExcelExportParams();
            var userId = parameters["id"];
            var export = parameters["export"];

            if (userId != null)
            {
                settings.UserId = int.Parse(userId);
            }
            else
            {
                settings.UserId = 0;
            }
            if (export != null)
            {
                settings.Export = export;
            }
            else
            {
                settings.Export = null;
            }
            return(settings);
        }