/// <summary> /// Metoda koja služi za generiranje pdf izvješća. Stvara se tablica sa svim kontaktima koji su u bazi podataka /// </summary> /// <returns></returns> public async Task <IActionResult> PDFReport() { string naslov = "Popis osoba u kontaktu"; var kontkat = await ctx.Kontakt .Include(o => o.IdKontaktNavigation) .Include(o => o.IdOsobaNavigation) .AsNoTracking() .ToListAsync(); PdfReport report = Constants.CreateBasicReport(naslov); report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(kontkat)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName <Kontakt>(o => o.IdOsoba); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(4); column.HeaderCell("Identifikacijski broj osobe", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Kontakt>(o => o.IdOsobaNavigation.Ime); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(1); column.Width(2); column.HeaderCell("Ime", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <Kontakt>(o => o.IdOsobaNavigation.Prezime); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(2); column.HeaderCell("Prezime", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Kontakt>(o => o.IdKontakt); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Identifikacijski broj kontakta", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <Kontakt>(o => o.IdKontaktNavigation.Ime); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(4); column.Width(2); column.HeaderCell("Ime", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <Kontakt>(o => o.IdKontaktNavigation.Prezime); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(5); column.Width(2); column.HeaderCell("Prezime", horizontalAlignment: HorizontalAlignment.Left); }); }); byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=kontakti.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
/// <summary> /// Export u pdf datoteku /// </summary> /// <returns></returns> public async Task <IActionResult> PDFReport() { string naslov = "Popis organizacija"; var organizacije = await ctx.Organizacija .AsNoTracking() .ToListAsync(); PdfReport report = Constants.CreateBasicReport(naslov); report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(organizacije)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName <Organizacija>(o => o.SifraOrganizacije); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(4); column.HeaderCell("Sifra organizacije", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Organizacija>(o => o.Naziv); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(1); column.Width(4); column.HeaderCell("Naziv organizacije", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <Organizacija>(o => o.Url); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(2); column.HeaderCell("URL", horizontalAlignment: HorizontalAlignment.Center); }); }); byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=Organizacije.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }