Example #1
0
        public override void ExecuteResult(ControllerContext context)
        {
            var Response = context.HttpContext.Response;


            string scheduletext = string.Empty;
            var    sdt          = CmsData.Organization.GetDateFromScheduleId(OrgSearch.ScheduleId ?? 0);

            if (sdt.HasValue)
            {
                scheduletext = sdt.Value.ToString("dddd h:mm tt");
            }

            var headtext = $"Enrollment Control Report {scheduletext}";
            var filename = headtext.SlugifyString("-", false);

            Response.Clear();
            Response.ContentType = "application/pdf";
            Response.AddHeader("content-disposition", $"filename={filename}.pdf");
            var doc = new Document(PageSize.LETTER, 36, 36, 36, 42);
            var w   = PdfWriter.GetInstance(doc, Response.OutputStream);

            w.PageEvent = new HeadFoot(headtext);

            var boldfont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 8);

            doc.Open();

            var t = new PdfPTable(4);

            t.HeaderRows      = 1;
            t.WidthPercentage = 100;
            t.SetWidths(new int[] { 20, 30, 10, 15 });

            var font = FontFactory.GetFont(FontFactory.HELVETICA, 8);

            t.AddCell(new Phrase("Name", boldfont));
            t.AddCell(new Phrase("Organization", boldfont));
            t.AddCell(new Phrase("Location", boldfont));
            t.AddCell(new Phrase("Member Type", boldfont));

            foreach (var m in EnrollmentControlModel.List(OrgSearch, usecurrenttag:UseCurrentTag))
            {
                t.AddCell(new Phrase(m.Name, font));
                t.AddCell(new Phrase(m.Organization, font));
                t.AddCell(new Phrase(m.Location, font));
                t.AddCell(new Phrase(m.MemberType, font));
            }
            if (t.Rows.Count > 1)
            {
                doc.Add(t);
            }
            else
            {
                doc.Add(new Phrase("no data"));
            }
            doc.Close();
        }
Example #2
0
 public ActionResult EnrollmentControl2(EnrollmentControlModel m)
 {
     return View(m);
 }
Example #3
0
        public ActionResult EnrollmentControl(bool? excel, EnrollmentControlModel m)
        {
            if (excel != true)
                return new EnrollmentControlResult { model = m };

            IOrderedEnumerable<EnrollmentControlModel.MemberInfo> d = from p in m.list()
                                                                      orderby p.Name
                                                                      select p;
            var workbook = new HSSFWorkbook(); // todo: Convert all Excel exports to this approach
            ISheet sheet = workbook.CreateSheet("EnrollmentControl");
            int rowIndex = 0;
            IRow row = sheet.CreateRow(rowIndex);
            row.CreateCell(0).SetCellValue("PeopleId");
            row.CreateCell(1).SetCellValue("Name");
            row.CreateCell(2).SetCellValue("Organization");
            row.CreateCell(3).SetCellValue("Location");
            row.CreateCell(4).SetCellValue("MemberType");
            rowIndex++;
            sheet.DisplayRowColHeadings = true;

            foreach (EnrollmentControlModel.MemberInfo i in d)
            {
                row = sheet.CreateRow(rowIndex);
                row.CreateCell(0).SetCellValue(i.Id);
                row.CreateCell(1).SetCellValue(i.Name);
                row.CreateCell(2).SetCellValue(i.Organization);
                row.CreateCell(3).SetCellValue(i.Location);
                row.CreateCell(4).SetCellValue(i.MemberType);
                rowIndex++;
            }
            sheet.AutoSizeColumn(0);
            sheet.AutoSizeColumn(1);
            sheet.AutoSizeColumn(2);
            sheet.AutoSizeColumn(3);
            sheet.AutoSizeColumn(4);
            string saveAsFileName = string.Format("EnrollmentControl-{0:d}.xls", DateTime.Now);
            var ms = new MemoryStream();
            workbook.Write(ms);
            return File(ms.ToArray(), "application/vnd.ms-excel", "attachment;filename=" + saveAsFileName);
        }