public void CarregarPagina() { if (Request.QueryString["tipo"] == "RelAssistidos") { PdfReport<AssistidoRelatorio> pdfReport = new PdfReport<AssistidoRelatorio>(); pdfReport.pageLayout = PageLayout.SinglePage; pdfReport.Response(this); } else if (Request.QueryString["tipo"] == "RelFinancas") { PdfReport<FinancasRelatorio> pdfReport = new PdfReport<FinancasRelatorio>(); pdfReport.pageLayout = PageLayout.SinglePage; pdfReport.Response(this); } else if (Request.QueryString["tipo"] == "RelOrcamento") { PdfReport<OrcamentoRelatorio> pdfReport = new PdfReport<OrcamentoRelatorio>(); pdfReport.pageLayout = PageLayout.SinglePage; pdfReport.Response(this); } }
public async Task <IActionResult> Artikli() { string naslov = "Deset najskupljih artikala koji imaju sliku"; var artikli = await ctx.Artikl .AsNoTracking() .Where(a => a.SlikaArtikla != null) .OrderByDescending(a => a.CijArtikla) .Select(a => new { a.SifArtikla, a.NazArtikla, a.CijArtikla, a.SlikaArtikla }) .Take(10) .ToListAsync(); PdfReport report = CreateReport(naslov); #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(artikli)); report.MainTableSummarySettings(summarySettings => { summarySettings.OverallSummarySettings("Ukupno"); }); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName(nameof(Artikl.SlikaArtikla)); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(1); column.HeaderCell(" "); column.ColumnItemsTemplate(t => t.ByteArrayImage(string.Empty, fitImages: true)); }); columns.AddColumn(column => { column.PropertyName(nameof(Artikl.SifArtikla)); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(1); column.HeaderCell("Šifra"); }); columns.AddColumn(column => { column.PropertyName <Artikl>(x => x.NazArtikla); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Naziv artikla", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Artikl>(x => x.CijArtikla); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width(1); column.HeaderCell("Cijena", horizontalAlignment: HorizontalAlignment.Center); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:C2}", obj)); }); column.AggregateFunction(aggregateFunction => { aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum); aggregateFunction.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:C2}", obj)); }); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=artikli.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
public async Task <IActionResult> Zahtjevi() { string naslov = "Popis zahtjeva"; var zahtjevi = await ctx.Zahtjev .AsNoTracking() .OrderBy(d => d.IdZahtjeva) .Select(d => new ZahtjevViewModel { IdZahtjeva = d.IdZahtjeva, ImePrezime = d.IdKlijentaNavigation.FirstName + " " + d.IdKlijentaNavigation.LastName, NazivUsluge = d.IdUslugeNavigation.NazivUsluge, DatumOd = d.DatumOd, DatumDo = d.DatumDo, BrojVozila = d.BrojVozila }) .ToListAsync(); PdfReport report = CreateReport(naslov); #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(zahtjevi)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName(nameof(Zahtjev.IdZahtjeva)); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(2); column.HeaderCell("Id zahtjeva"); }); columns.AddColumn(column => { column.PropertyName <ZahtjevViewModel>(x => x.ImePrezime); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(3); column.HeaderCell("Klijent", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <ZahtjevViewModel>(x => x.NazivUsluge); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(1); column.HeaderCell("Naziv usluge", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <ZahtjevViewModel>(x => x.DatumOd); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width(1); column.HeaderCell("Datum od", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <ZahtjevViewModel>(x => x.DatumDo); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width(1); column.HeaderCell("Datum do", horizontalAlignment: HorizontalAlignment.Center); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=zahtjevi.pdf"); return(File(pdf, "application/pdf")); //return File(pdf, "application/pdf", "drzave.pdf"); //Otvara save as dialog } else { return(NotFound()); } }
/// <summary> /// Metoda koja generira Pdf tablice zaraženih osoba /// </summary> /// <returns></returns> public async Task <IActionResult> PDFReport() { string naslov = "Popis zaraženih osoba"; var zarazeneOsobe = await ctx.ZarazenaOsoba .Include(o => o.IdentifikacijskiBrojNavigation) .Include(o => o.SifraStanjaNavigation) .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(zarazeneOsobe)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName <ZarazenaOsoba>(o => o.IdentifikacijskiBroj); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(4); column.HeaderCell("Identifikacijski broj", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <ZarazenaOsoba>(o => o.IdentifikacijskiBrojNavigation.Ime); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(1); column.Width(4); column.HeaderCell("Ime", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <ZarazenaOsoba>(o => o.IdentifikacijskiBrojNavigation.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 <ZarazenaOsoba>(o => o.SifraStanjaNavigation.NazivStanja); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Stanje osobe", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <ZarazenaOsoba>(o => o.DatZaraze); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width(2); column.HeaderCell("Datum zaraze", horizontalAlignment: HorizontalAlignment.Center); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => { if (obj == null || string.IsNullOrEmpty(obj.ToString())) { return(string.Empty); } else { DateTime date = (DateTime)obj; return(date.ToString("dd.MM.yyyy")); } }); }); }); }); byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=zarazeneosobe.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
/// <summary> /// Izrada izvjestaja u PDF formatu /// </summary> /// <returns>PDF dokument</returns> public async Task <IActionResult> PDFReport() { string naslov = "Popis mjera"; var mjere = await ctx.Mjera .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(mjere)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName <Mjera>(o => o.SifraMjere); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(4); column.HeaderCell("Sifra mjere", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Mjera>(o => o.SifraPrethodneMjere); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(1); column.Width(4); column.HeaderCell("Sifra prethodne mjere", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <Mjera>(o => o.SifraSastanka); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(2); column.HeaderCell("Sifra sastanka", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Mjera>(o => o.Opis); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Opis", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <Mjera>(o => o.Datum); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Datum", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <Mjera>(o => o.VrijediDo); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Vrijedi do", horizontalAlignment: HorizontalAlignment.Left); }); }); byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=mjere.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
public async Task <IActionResult> Ponuditelji() { string naslov = "Popis ponuditelja"; var ponuditelji = await ctx.Ponuditeljs .AsNoTracking() .OrderBy(p => p.NazivPonuditelj) .ToListAsync(); PdfReport report = CreateReport(naslov); report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(ponuditelji)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName(nameof(Ponuditelj.OibPonuditelj)); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(2); column.HeaderCell("Oib ponuditelja"); }); columns.AddColumn(column => { column.PropertyName <Ponuditelj>(x => x.NazivPonuditelj); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(3); column.HeaderCell("Naziv ponuditelja", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Ponuditelj>(x => x.AdresaPonuditelj); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(3); column.HeaderCell("Adresa ponuditelja", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Ponuditelj>(x => x.SjedištePonuditelj); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width(3); column.HeaderCell("Sjedište ponuditelja", horizontalAlignment: HorizontalAlignment.Center); }); }); byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=ponuditelji.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
public async Task <IActionResult> Dokumenti() { string naslov = "Popis dokumenata"; var dokumenti = await ctx.Dokuments .AsNoTracking() .OrderBy(p => p.Naslov) .ToListAsync(); PdfReport report = CreateReport(naslov); report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(dokumenti)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName(nameof(Dokument.DokumentId)); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(2); column.HeaderCell("Dokument id"); }); columns.AddColumn(column => { column.PropertyName <Dokument>(x => x.Naslov); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(3); column.HeaderCell("Naziv Dokumenta", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Dokument>(x => x.Vrsta); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(3); column.HeaderCell("Vrsta dokumenta", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Dokument>(x => x.Blob); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width(3); column.HeaderCell("Link dokumenta", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Dokument>(x => x.DatumPredaje); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(5); column.Width(3); column.HeaderCell("Datum predaje dokumenta", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Dokument>(x => x.PonudaId); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(6); column.Width(3); column.HeaderCell("Id ponude", horizontalAlignment: HorizontalAlignment.Center); }); }); byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=dokumenti.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
public async Task <IActionResult> Poslovi() { string naslov = "Popis nadolazećih poslova"; var poslovi = await ctx.Poslovi .AsNoTracking() .Where(a => a.VrijemeTrajanja >= DateTime.Now) .OrderBy(a => a.VrijemeTrajanja) .Select(a => new { a.IdPoslovi, a.Naziv, a.Mjesto, a.VrijemeTrajanja }) .Take(10) .ToListAsync(); PdfReport report = CreateReport(naslov); #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(poslovi)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName <Poslovi>(x => x.IdPoslovi); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(1); column.HeaderCell("Šifra", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Poslovi>(x => x.Naziv); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Naziv posla", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Poslovi>(x => x.Mjesto); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Mjesto održavanja", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Poslovi>(x => x.VrijemeTrajanja); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Vrijeme održavanja", horizontalAlignment: HorizontalAlignment.Center); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=poslovi.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
private void BindGrid(int btnval) { //DateTime date = System.DateTime.Now; //string sess = date.ToString("tt"); sess = string.Empty; string name1 = string.Empty; periobj = 0; DataTable dt = new DataTable(); DataSet ds = new DataSet(); plant_Code = Session["User_ID"].ToString(); if (rd_Am.Checked == true) { sess = "AM"; dt = GetProcurementData(txt_FromDate.Text, sess, route_id, plant_Code, Company_code); //GridView1.DataSource = dt; //GridView1.DataBind(); } else if (rd_Pm.Checked == true) { sess = "PM"; dt = GetProcurementData(txt_FromDate.Text, sess, route_id, plant_Code, Company_code); } else if (rd_Period.Checked == true) { periobj = 1; sess = "Period"; dt = GetProcurementDataPeriod(txt_FromDate.Text, txt_ToDtate.Text, route_id, plant_Code, Company_code); } else { sess = "Bill"; dt = GetProcurementData(txt_ToDtate.Text, sess, route_id, plant_Code, Company_code); } ds.Tables.Add(dt); if (dt.Rows.Count > 0) { ViewFilename = string.Empty; if (periobj == 0) { name1 = Server.MapPath(".") + "/kk/" + plant_Code.Trim() + '_' + txt_FromDate.Text.Trim() + '_' + sess.Trim(); ViewFilename = plant_Code.Trim() + '_' + txt_FromDate.Text.Trim() + '_' + sess.Trim(); } else { name1 = Server.MapPath(".") + "/kk/" + plant_Code.Trim() + '_' + txt_FromDate.Text.Trim() + '_' + txt_ToDtate.Text.Trim() + '_' + sess.Trim(); ViewFilename = plant_Code.Trim() + '_' + txt_FromDate.Text.Trim() + '_' + txt_ToDtate.Text.Trim() + '_' + sess.Trim(); } name2 = Server.MapPath(".") + "/kk/" + "Nasa-logo1.gif"; SETBO(); PdfReport pd = new PdfReport(ds, name1, Cpdf); if (butview > 1) { pd.Execute1(); string fileName = ViewFilename + ".pdf"; string surverUrl = Request.Url.AbsoluteUri.Split('/')[0] + "//" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + "/"; string fileStoreLocation = "kk/"; string downloadFilePath = surverUrl + fileStoreLocation + fileName; iframShowFiles.Attributes.Add("src", downloadFilePath); } else { pd.Execute(); } name1 = string.Empty; } else { iframShowFiles.Visible = false; uscMsgBox1.AddMessage("Report Not Found", MessageBoxUsc_Message.enmMessageType.Info); } }
public async Task <IActionResult> Korisnici() { string naslov = "Popis korisnika"; var korisnici = ctx.Korisnik.ToList().OrderBy(k => k.Prezime); List <KorisnikDenorm> korisniciDenorm = new List <KorisnikDenorm>(); var broj = 1; foreach (var k in korisnici) { var fer = ctx.FerWebAcc.Where(f => f.Id == k.FerId).FirstOrDefault(); var dhmz = ctx.DhmzAcc.Where(d => d.Id == k.DhmzId).FirstOrDefault(); var autori = ctx.Sadrzaj.Where(s => s.IdAutora == k.Id).ToList().OrderBy(s => s.Ime); var autor = autori.Select(s => s.Ime).ToList(); var odobrioo = ctx.Sadrzaj.Where(s => s.IdOdobrenOd == k.Id).ToList().OrderBy(s => s.Ime); var odobrio = odobrioo.Select(s => s.Ime).ToList(); korisniciDenorm.Add(Denormalize(k, fer, dhmz, autor, odobrio, broj)); broj++; } PdfReport report = CreateReport(naslov); #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(korisniciDenorm)); report.MainTableSummarySettings(summarySettings => { summarySettings.OverallSummarySettings("Sum"); }); var admin = ctx.Administrator.Select(a => a.IdKorisnika).ToList(); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width((float)0.5); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName(nameof(KorisnikDenorm.Id)); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width((float)0.5); column.HeaderCell("ID", horizontalAlignment: HorizontalAlignment.Center); column.AggregateFunction(aggregateFunction => { aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum); }); }); columns.AddColumn(column => { column.PropertyName <KorisnikDenorm>(k => k.PrezimeIme); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width((float)1.75); column.HeaderCell("Ime i prezime ", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <KorisnikDenorm>(k => k.Email); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(2); column.HeaderCell("Email", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <KorisnikDenorm>(k => k.KorisnickoIme); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width((float)1.5); column.HeaderCell("Korisničko ime", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <KorisnikDenorm>(k => k.Fer); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(5); column.Width(1); column.HeaderCell("FerWeb račun", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <KorisnikDenorm>(k => k.DHMZ); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(6); column.Width(1); column.HeaderCell("DHMZ račun", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName(nameof(KorisnikDenorm.Autor)); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(7); column.Width((float)1.5); column.HeaderCell("Autor sadržaja", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName(nameof(KorisnikDenorm.Odobrio)); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(8); column.Width((float)1.5); column.HeaderCell("Odobrio sadržaje", horizontalAlignment: HorizontalAlignment.Center); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=korisnici.pdf"); return(File(pdf, "application/pdf")); //return File(pdf, "application/pdf", "drzave.pdf"); //Otvara save as dialog } else { return(NotFound()); } }
public async Task <IActionResult> Oprema() { string naslov = $"Popis dostupne opreme"; var oprema = await ctx.Oprema .AsNoTracking() .Where(a => a.Dostupnost == true) .OrderBy(s => s.IdOprema) .ThenBy(s => s.Naziv) .ToListAsync(); PdfReport report = CreateReport(naslov); #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. !!!!!!!!!!!! header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(oprema)); report.MainTableSummarySettings(summarySettings => { summarySettings.OverallSummarySettings("Ukupno"); }); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); column.AggregateFunction(aggregateFunction => { aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum); aggregateFunction.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:C2}", obj)); }); }); columns.AddColumn(column => { column.PropertyName <Oprema>(x => x.IdOprema); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Width(4); column.HeaderCell("Šifra", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Oprema>(x => x.Naziv); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Width(1); column.HeaderCell("Naziv", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Oprema>(x => x.Status); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Width(1); column.HeaderCell("Opis", horizontalAlignment: HorizontalAlignment.Center); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=artikli.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
public async Task <IActionResult> Uredaji() { string naslov = "Popis uredaja"; var list = new List <UredajDenorm>(); var uredaji = _context.Uredaj .Include(u => u.IdNadredeneKomponenteNavigation) .Include(u => u.IdStatusaNavigation) .Include(u => u.IdZidaNavigation) .ToList(); if (uredaji.Count <= 0) { return(NotFound()); } foreach (var u in uredaji) { var ur = LoadDetails(u); list.Add(ur.GetInfo()); } PdfReport report = CreateReport(naslov); #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(list)); report.MainTableSummarySettings(summarySettings => { summarySettings.OverallSummarySettings("Ukupno"); }); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName <UredajDenorm>(x => x.Naziv); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(2); column.HeaderCell("Naziv ureðaja"); }); columns.AddColumn(column => { column.PropertyName <UredajDenorm>(x => x.DatumNabavke); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(2); column.HeaderCell("Datum Nabavke", horizontalAlignment: HorizontalAlignment.Center); }); /*columns.AddColumn(column => * { * column.PropertyName<UredajDenorm>(x => x.NabavnaCijena); * column.CellsHorizontalAlignment(HorizontalAlignment.Center); * column.IsVisible(true); * column.Order(3); * column.Width(1); * column.HeaderCell("Nabavna Cijena", horizontalAlignment: HorizontalAlignment.Center); * }); */ /*columns.AddColumn(column => * { * column.PropertyName<UredajDenorm>(x => x.AktualnaCijena); * column.CellsHorizontalAlignment(HorizontalAlignment.Center); * column.IsVisible(true); * column.Order(4); * column.Width(1); * column.HeaderCell("Aktualna Cijena", horizontalAlignment: HorizontalAlignment.Center); * }); * * columns.AddColumn(column => * { * column.PropertyName<UredajDenorm>(x => x.Zida); * column.CellsHorizontalAlignment(HorizontalAlignment.Center); * column.IsVisible(true); * column.Order(5); * column.Width(1); * column.HeaderCell("Videozid", horizontalAlignment: HorizontalAlignment.Center); * }); * * columns.AddColumn(column => * { * column.PropertyName<UredajDenorm>(x => x.Status); * column.CellsHorizontalAlignment(HorizontalAlignment.Center); * column.IsVisible(true); * column.Order(6); * column.Width(1); * column.HeaderCell("Status", horizontalAlignment: HorizontalAlignment.Center); * }); */ columns.AddColumn(column => { column.PropertyName <UredajDenorm>(x => x.Zamjena); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(3); column.HeaderCell("Zamjenski ureðaji", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <UredajDenorm>(x => x.ZamjenaZa); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width(3); column.HeaderCell("Zamjena Za", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <UredajDenorm>(x => x.Servisi); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(5); column.Width(3); column.HeaderCell("Servisi", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName("Nabavna Cijena"); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(6); column.Width(2); column.HeaderCell("Nabavna Cijena", horizontalAlignment: HorizontalAlignment.Center); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:C2}", obj)); }); column.AggregateFunction(aggregateFunction => { aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum); aggregateFunction.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:C2}", obj)); }); column.CalculatedField( l => { if (l == null) { return(string.Empty); } var iznos = l.GetValueOf(nameof(UredajDenorm.NabavnaCijena)); return(iznos); }); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=drzave.pdf"); return(File(pdf, "application/pdf")); //return File(pdf, "application/pdf", "drzave.pdf"); //Otvara save as dialog } else { return(NotFound()); } }
public async Task <IActionResult> Videozidovi() { string naslov = "Popis videozidova"; var list = new List <VideozidDenorm>(); var zidovi = _context.Videozid .ToList(); if (zidovi.Count <= 0) { return(NotFound()); } foreach (var v in zidovi) { var ekrani = _context.EkranZida.Where(u => u.IdZida == v.Id).Include(u => u.IdUredajaNavigation).ToList(); var vi = new VideozidDetailsViewModel(v, ekrani).GetInfo(); list.Add(vi); } PdfReport report = CreateReport(naslov); #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(list)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName <VideozidDenorm>(x => x.Naziv); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(2); column.HeaderCell("Naziv Videozida"); }); columns.AddColumn(column => { column.PropertyName <VideozidDenorm>(x => x.Lokacija); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(2); column.HeaderCell("Lokacija", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <VideozidDenorm>(x => x.Sirina); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(1); column.HeaderCell("Sirina", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <VideozidDenorm>(x => x.Visina); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width(1); column.HeaderCell("Visina", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <VideozidDenorm>(x => x.Ekrani); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(5); column.Width(5); column.HeaderCell("Ekrani zida", horizontalAlignment: HorizontalAlignment.Center); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=drzave.pdf"); return(File(pdf, "application/pdf")); //return File(pdf, "application/pdf", "drzave.pdf"); //Otvara save as dialog } else { return(NotFound()); } }
public byte[] CreatePdfReport(OrderViewModel order, string fileName) { var pdfReportData = new PdfReport().DocumentPreferences(doc => { doc.RunDirection(PdfRunDirection.LeftToRight); doc.Orientation(PageOrientation.Portrait); doc.PageSize(PdfPageSize.A4); doc.DocumentMetadata(new DocumentMetadata { Author = "Contoso Sports League", Application = "Contoso.Apps.SportsLeague", Subject = "Contoso Sports League Store Receipt", Title = "Receipt" }); doc.Compression(new CompressionSettings { EnableCompression = true, EnableFullCompression = true }); }) .DefaultFonts(fonts => { fonts.Path(System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\arial.ttf"), System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf")); fonts.Size(9); fonts.Color(System.Drawing.Color.Black); }) .PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("MM/dd/yyyy")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.ImagePath(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Images\\logo.png")); defaultHeader.Message("Contoso Sports League - Purchase Receipt"); }); }) .MainTableTemplate(template => { template.BasicTemplate(BasicTemplate.ClassicTemplate); }) .MainTablePreferences(table => { table.ColumnsWidthsType(TableColumnWidthType.Relative); }) .MainTableDataSource(dataSource => { dataSource.StronglyTypedList(order.OrderDetails); }) .MainTableSummarySettings(summarySettings => { summarySettings.OverallSummarySettings("Summary"); summarySettings.PreviousPageSummarySettings("Previous Page Summary"); summarySettings.PageSummarySettings("Page Summary"); }) .MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName <OrderDetailViewModel>(o => o.ProductName); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(0); column.Width(4); column.HeaderCell("Product"); }); columns.AddColumn(column => { column.PropertyName <OrderDetailViewModel>(o => o.Quantity); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(1); column.Width(1); column.HeaderCell("Quantity"); }); columns.AddColumn(column => { column.PropertyName <OrderDetailViewModel>(o => o.UnitPrice); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(2); column.Width(2); column.HeaderCell("Unit Price"); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:c}", obj)); }); }); columns.AddColumn(column => { column.PropertyName <OrderDetailViewModel>(o => o.Cost); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(3); column.Width(2); column.HeaderCell("Total"); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:c}", obj)); }); }); }) .MainTableEvents(events => { events.DataSourceIsEmpty(message: "There are no purchased items to display."); events.MainTableAdded(args => { var total = order.Total; var summaryTable = new PdfGrid(args.Table.RelativeWidths); // Create a clone of the MainTable's structure summaryTable.WidthPercentage = args.Table.WidthPercentage; summaryTable.SpacingBefore = args.Table.SpacingBefore; summaryTable.AddSimpleRow( null, null, (data, cellProperties) => { data.Value = "Total"; cellProperties.PdfFont = args.PdfFont; cellProperties.HorizontalAlignment = HorizontalAlignment.Right; }, (data, cellProperties) => { data.Value = string.Format("{0:c}", total); cellProperties.PdfFont = args.PdfFont; cellProperties.BorderColor = BaseColor.LIGHT_GRAY; cellProperties.ShowBorder = true; }); args.PdfDoc.Add(summaryTable); }); }) .Export(export => { export.ToExcel(); }) .Generate(data => data.AsPdfStream(new MemoryStream())); return(((MemoryStream)pdfReportData.PdfStreamOutput).ToArray()); }
public async Task <IActionResult> Dokumenti() { int n = 10; var param = new SqlParameter("N", n); string naslov = $"{n} najvećih kupnji"; var stavke = await ctx.StavkaDenorm .AsNoTracking() .FromSql("SELECT * FROM fn_NajveceKupnje(@N)", param) .OrderBy(s => s.IdDokumenta) .ThenBy(s => s.NazArtikla) .ToListAsync(); stavke.ForEach(s => s.UrlDokumenta = Url.Action("Edit", "Dokument", new { id = s.IdDokumenta })); PdfReport report = CreateReport(naslov); #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.CustomHeader(new MasterDetailsHeaders(naslov) { PdfRptFont = header.PdfFont }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(stavke)); report.MainTableSummarySettings(summarySettings => { summarySettings.OverallSummarySettings("Ukupno"); }); report.MainTableColumns(columns => { #region Stupci po kojima se grupira columns.AddColumn(column => { column.PropertyName <StavkaDenorm>(s => s.IdDokumenta); column.Group( (val1, val2) => { return((int)val1 == (int)val2); }); }); #endregion columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName <StavkaDenorm>(x => x.NazArtikla); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Width(4); column.HeaderCell("Naziv artikla", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <StavkaDenorm>(x => x.KolArtikla); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Width(1); column.HeaderCell("Količina", horizontalAlignment: HorizontalAlignment.Center); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:.00}", obj)); }); }); columns.AddColumn(column => { column.PropertyName <StavkaDenorm>(x => x.JedCijArtikla); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Width(1); column.HeaderCell("Jedinična cijena", horizontalAlignment: HorizontalAlignment.Center); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:C2}", obj)); }); }); columns.AddColumn(column => { column.PropertyName <StavkaDenorm>(x => x.PostoRabat); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Width(1); column.HeaderCell("Rabat", horizontalAlignment: HorizontalAlignment.Center); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:P2}", obj)); }); }); columns.AddColumn(column => { column.PropertyName("Ukupno"); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Width(1); column.HeaderCell("Ukupno", horizontalAlignment: HorizontalAlignment.Center); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:C2}", obj)); }); column.AggregateFunction(aggregateFunction => { aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum); aggregateFunction.DisplayFormatFormula(obj => obj == null || string.IsNullOrEmpty(obj.ToString()) ? string.Empty : string.Format("{0:C2}", obj)); }); column.CalculatedField( list => { if (list == null) { return(string.Empty); } decimal kolArtikla = (decimal)list.GetValueOf(nameof(StavkaDenorm.KolArtikla)); decimal postoRabat = (decimal)list.GetValueOf(nameof(StavkaDenorm.PostoRabat)); decimal jedCijArtikla = (decimal)list.GetValueOf(nameof(StavkaDenorm.JedCijArtikla)); var iznos = jedCijArtikla * kolArtikla * (1 - postoRabat); return(iznos); }); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=artikli.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
/// <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()); } }
public async Task <IActionResult> Drzave() { string naslov = "Popis država"; var drzave = await ctx.Drzava .AsNoTracking() .OrderBy(d => d.NazDrzave) .ToListAsync(); PdfReport report = CreateReport(naslov); #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(drzave)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName(nameof(Drzava.OznDrzave)); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(2); column.HeaderCell("Oznaka države"); }); columns.AddColumn(column => { column.PropertyName <Drzava>(x => x.NazDrzave); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(3); column.HeaderCell("Naziv države", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Drzava>(x => x.Iso3drzave); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(1); column.HeaderCell("ISO3", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Drzava>(x => x.SifDrzave); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width(1); column.HeaderCell("Šifra države", horizontalAlignment: HorizontalAlignment.Center); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=drzave.pdf"); return(File(pdf, "application/pdf")); //return File(pdf, "application/pdf", "drzave.pdf"); //Otvara save as dialog } else { return(NotFound()); } }
/// <summary> /// Metoda za generiranje izvješća u pdf formatu. Stvara se tablica sa svim pregledima /// </summary> /// <returns></returns> public async Task <IActionResult> PDFReport() { string naslov = "Popis pregleda"; var pregledi = await ctx.Pregled .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(pregledi)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName <Pregled>(o => o.SifraPregleda); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(4); column.HeaderCell("Sifra pregleda", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Pregled>(o => o.Datum); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(1); column.Width(4); column.HeaderCell("Datum", horizontalAlignment: HorizontalAlignment.Left); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => { if (obj == null || string.IsNullOrEmpty(obj.ToString())) { return(string.Empty); } else { DateTime date = (DateTime)obj; return(date.ToString("dd.MM.yyyy")); } }); }); }); columns.AddColumn(column => { column.PropertyName <Pregled>(o => o.Anamneza); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(2); column.HeaderCell("Anamneza", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Pregled>(o => o.Dijagnoza); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Dijagnoza", horizontalAlignment: HorizontalAlignment.Left); }); }); byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=pregledi.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
/// <summary> /// Metoda koja generira pdf izvješće za detalje neke osobe. /// </summary> /// <param name="id">Identifikacijski broj osobe</param> /// <returns></returns> public async Task <IActionResult> PDFReportOsoba(string id) { string naslov = "Detalji osobe"; var osobe = await ctx.Osoba .Include(o => o.KontaktIdKontaktNavigation) .Include(o => o.ZarazenaOsoba) .Where(o => o.IdentifikacijskiBroj == id) .Select(o => new OsobaDetailsViewModel { IdentifikacijskiBroj = o.IdentifikacijskiBroj, Ime = o.Ime, Prezime = o.Prezime, Adresa = o.Adresa, DatRod = o.DatRod, Zanimanje = o.Zanimanje, Zarazena = o.ZarazenaOsoba.IdentifikacijskiBroj.Equals(id) ? true : false, Zarazenastring = o.ZarazenaOsoba.IdentifikacijskiBroj.Equals(id) ? "Da" : "Ne", DatZaraze = o.ZarazenaOsoba.DatZaraze, NazivStanja = o.ZarazenaOsoba.SifraStanjaNavigation.NazivStanja }) .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(osobe)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName <OsobaDetailsViewModel>(o => o.IdentifikacijskiBroj); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(4); column.HeaderCell("Identifikacijski broj", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <OsobaDetailsViewModel>(o => o.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 <OsobaDetailsViewModel>(o => o.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 <OsobaDetailsViewModel>(o => o.Adresa); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Adresa", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <OsobaDetailsViewModel>(o => o.DatRod); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(4); column.Width(2); column.HeaderCell("Datum rođenja", horizontalAlignment: HorizontalAlignment.Center); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => { if (obj == null || string.IsNullOrEmpty(obj.ToString())) { return(string.Empty); } else { DateTime date = (DateTime)obj; return(date.ToString("dd.MM.yyyy")); } }); }); }); columns.AddColumn(column => { column.PropertyName <OsobaDetailsViewModel>(o => o.Zanimanje); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(5); column.Width(2); column.HeaderCell("Zanimanje", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <OsobaDetailsViewModel>(o => o.Zarazenastring); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(5); column.Width(2); column.HeaderCell("Zaražena?", horizontalAlignment: HorizontalAlignment.Left); }); }); byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=osobadetalji.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
public async Task <IActionResult> Oprema() { string naslov = "Popis opreme"; var biljke = await ctx.Oprema .AsNoTracking() .Include(c => c.Status) .Include(d => d.ReferentniTipOpreme) .Include(e => e.LokacijaOpreme) .ToListAsync(); PdfReport report = CreateReport(naslov); // byte[] content; #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(biljke)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName("OpremaId"); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(2); column.HeaderCell("ID-Opreme"); }); columns.AddColumn(column => { column.PropertyName <Oprema>(x => x.NabavnaCijena); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(3); column.HeaderCell("Nabavna cijena", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Oprema>(x => x.Naziv); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(3); column.HeaderCell("Naziv", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Oprema>(x => x.LokacijaOpreme.NazivLokacije); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(1); column.HeaderCell("Lokacija", horizontalAlignment: HorizontalAlignment.Center); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=posao.pdf"); return(File(pdf, "application/pdf")); //return File(pdf, "application/pdf", "biljke.pdf"); //Otvara save as dialog } else { return(NotFound()); } }
private void bwBuildReport_DoWork(object sender, DoWorkEventArgs e) { _log.Print("正在导出报告..."); var chartBitmap = new Bitmap(mcChart.Width, mcChart.Height); Invoke(new Action(() => { mcChart.DrawToBitmap(chartBitmap, new Rectangle(0, 0, mcChart.Width, mcChart.Height)); })); //lvChart.DrawToBitmap(ChartBitmap, new Rectangle(0, 0, lvChart.Width, lvChart.Height)); //chartBitmap.Save(Application.StartupPath + "/report/img.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); var content = _config.Report["Content"]; var build = _config.Report["Build"]; var report = new PdfReport { //FilePath = // $"{Application.StartupPath}/report/{DateTime.Now:yyyyMMddHHmmss}.pdf" FilePath = $"{build["Path"]}\\{DateTime.Now:yyyyMMddHHmmss}.pdf" }; if ((int)content["ShowTitle"] != 0) { report.Title = content["Title"].ToString(); report.AddTitle(content["Title"].ToString()); } if ((int)content["ShowSubject"] != 0) { report.Subject = content["Subject"].ToString(); report.AddText($"{content["Subject"]}"); } if ((int)content["ShowAuthor"] != 0) { report.Creator = content["Author"].ToString(); report.AddText($"作者: {content["Author"]}"); } report.AddEmptyLine(); if ((int)content["ShowDate"] != 0) { report.CreateDate(); report.AddText($"测量日期: {DateTime.Now}"); } report.AddText($"测量时间: {_slaver.AutoMeasuringTime} 毫秒"); if ((int)content["ShowTrigger"] != 0) { switch (_slaver.TriggerMode) { case TriggerMode.Auto: var triggerChannel = _slaver.PressureTriggerChannel; report.AddText("触发方式: 自动触发"); report.AddText($"触发通道: {triggerChannel?.Name}"); report.AddText($"触发值: {triggerChannel?.TriggerIncrement} MPa"); break; case TriggerMode.Manual: report.AddText("触发方式: 手动触发"); break; case TriggerMode.External: report.AddText("触发方式: 外触发"); break; default: report.AddText("触发方式: 异常"); break; } report.AddEmptyLine(); } if ((int)content["ShowChart"] != 0) { report.AddText("测量结果:"); report.AddImage(chartBitmap); } if (report.Print()) { _log.Print("导出报告完成,正在打开..."); report.Open(); } else { _log.Show("导出报告失败."); } //var waterMarkPdfPath = $"report/Report{DateTime.Now:yyyyMMddHHmmss}.pdf"; }
public async Task <IActionResult> Posao() { string naslov = "Popis Poslova"; var servis = await ctx.Vw_Posao .AsNoTracking() .ToListAsync(); PdfReport report = CreateReport(naslov); // byte[] content; #region Podnožje i zaglavlje report.PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("dd.MM.yyyy.")); }) .PagesHeader(header => { header.CacheHeader(cache: true); // It's a default setting to improve the performance. header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); defaultHeader.Message(naslov); }); }); #endregion #region Postavljanje izvora podataka i stupaca report.MainTableDataSource(dataSource => dataSource.StronglyTypedList(servis)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.IsVisible(true); column.Order(2); column.Width(1); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Right); }); columns.AddColumn(column => { column.PropertyName("PosaoId"); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(1); column.HeaderCell("ID"); }); columns.AddColumn(column => { column.PropertyName <PosaoViewModel>(x => x.Opis); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(1); column.HeaderCell("Opis", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <PosaoViewModel>(x => x.Cijena); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(1); column.HeaderCell("Cijena", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <PosaoViewModel>(x => x.DodatniTrosak); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(2); column.HeaderCell(" Dodatni trosak", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <PosaoViewModel>(x => x.VrijemeOd); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(2); column.HeaderCell("Vrijeme od", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <PosaoViewModel>(x => x.VrijemeDo); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(2); column.HeaderCell("Vrijeme do", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <PosaoViewModel>(x => x.NazivZanimanja); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(2); column.HeaderCell("Naziv zanimanja", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <PosaoViewModel>(x => x.NazivOpreme); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(2); column.HeaderCell("Naziv opreme", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <PosaoViewModel>(x => x.KategorijaId); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(2); column.HeaderCell("Kategorija ID", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <PosaoViewModel>(x => x.NazivUsluge); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(2); column.HeaderCell("Naziv usluge", horizontalAlignment: HorizontalAlignment.Center); }); }); #endregion byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=posao.pdf"); return(File(pdf, "application/pdf")); //return File(pdf, "application/pdf", "biljke.pdf"); //Otvara save as dialog } else { return(NotFound()); } }
/// <summary> /// Export u pdf datoteku /// </summary> /// <returns></returns> public async Task <IActionResult> PDFReport() { string naslov = "Popis opreme"; var opreme = await ctx.Oprema .Include(o => o.SifraInstitucijeNavigation) .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(opreme)); report.MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName <Oprema>(o => o.SifraOpreme); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(4); column.HeaderCell("Sifra opreme", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Oprema>(o => o.SifraInstitucijeNavigation.NazivInstitucije); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(1); column.Width(4); column.HeaderCell("Naziv institucije", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName <Oprema>(o => o.NazivOpreme); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(2); column.HeaderCell("Naziv opreme", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName <Oprema>(o => o.KolicinaOpreme); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(4); column.HeaderCell("Kolicina opreme", horizontalAlignment: HorizontalAlignment.Left); }); }); byte[] pdf = report.GenerateAsByteArray(); if (pdf != null) { Response.Headers.Add("content-disposition", "inline; filename=Oprema.pdf"); return(File(pdf, "application/pdf")); } else { return(NotFound()); } }
public byte[] CreateTeamLabelsPDFReport(TeamStickerDescriptor descr) { if (long.TryParse(descr.CoachPhone.Trim(), out long phoneLong)) { descr.CoachPhone = string.Format("{0:(###) ###-####}", phoneLong); } PdfReport pdf = new PdfReport().DocumentPreferences(doc => { doc.RunDirection(PdfRunDirection.LeftToRight); doc.Orientation(PageOrientation.Landscape); doc.PageSize(PdfPageSize.Letter); doc.DocumentMetadata(new DocumentMetadata { Author = "TwinRinks", Application = "PdfRpt", Keywords = "Labels", Subject = "Labels Avery 8163", Title = $"{descr.TeamName} Stickers" }); doc.DocumentMargins(new DocumentMargins() { Left = 24, Top = 1 }); doc.Compression(new CompressionSettings { EnableCompression = true, EnableFullCompression = true }); }) .DefaultFonts(fonts => { fonts.Size(8); fonts.Color(System.Drawing.Color.Black); }) .MainTablePreferences(table => { table.ColumnsWidthsType(TableColumnWidthType.EquallySized); table.ShowHeaderRow(false); table.MultipleColumnsPerPage(new MultipleColumnsPerPage { ColumnsGap = 0, ColumnsPerPage = 5, ColumnsWidth = 145, IsRightToLeft = false, TopMargin = 0, }); }) .MainTableDataSource(dataSource => { dataSource.StronglyTypedList <TeamTemplateDTO>(TeamTemplateDTO.BuildTeams(descr)); }) .MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName <TeamTemplateDTO>(x => x.CoachName); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.FixedHeight(280); column.ColumnItemsTemplate(t => t.CustomTemplate( new MailingLabelCellTemplate())); }); }) .MainTableEvents(events => { events.DataSourceIsEmpty(message: "There is no data available to display."); }); return(pdf.GenerateAsByteArray()); }
static void Main(string[] args) { ReportProperties rp = new ReportProperties(); rp.table.AddColumns(new ColumnAttribute("Title", 20), new ColumnAttribute("Item", 90)); rp.table.AddData(new string[2] { "1", "2" }, new string[2] { "Test Data For Long Cell That Its OverFlown Letters Should Be Hidden 593958 341", "2123" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }, new string[2] { "1", "2" }); ReportProperties.Orientation = MigraDoc.DocumentObjectModel.Orientation.Landscape; PdfReport pdf = new PdfReport(rp); }
public async Task <IActionResult> ExportIssues([FromForm(Name = "issues")] List <string> issuesList, [FromForm(Name = "includeqr")] bool includeQRCode , [FromHeader(Name = "Referer")] string referer, [FromHeader(Name = "x-real-ip")] string realIp, [FromHeader(Name = "User-Agent")] string userAgent , [FromHeader(Name = "x-forwarded-for")] string forwardedFor) { IActionResult result = null; DateTime requestDateTime = DateTime.Now; TaskMeasurer taskMeasurer = new TaskMeasurer(); string extension = "pdf"; Model.ClientRegistration registrationData = _client.RegistrationData; string fileId = Guid.NewGuid().ToString(); string reportFileName = $"{_configuration.GetValue<string>("Settings:StorageRoot", "clients_jiracloud")}/{registrationData.ClientKey}/{fileId}.{extension}"; JArray fields = null; JObject issues = null; Dictionary <string, JArray> epicStories = new Dictionary <string, JArray>(); Report.Model.Document document = null; Model.ReportFile reportFile = null; ReportJiraCloudModel reportJiraCloudModel = null; List <StatisticalDocument> statItems = new List <StatisticalDocument>(); try { _logger.LogInformation($"{requestDateTime} New job ClientKey {registrationData.ClientKey}, issues {String.Join(", ", issuesList)}"); HttpClient httpCli = _clientFactory.CreateClient("jira_client"); httpCli.BaseAddress = new Uri(registrationData.BaseUrl); RestApiClient cli = new RestApiClient(registrationData.Key, registrationData.SharedSecret, registrationData.ClientKey, httpCli); fields = (JArray)JsonConvert.DeserializeObject(await taskMeasurer.Run(() => cli.Get($"/rest/api/3/field"), "000_FetchFields")); var EpicNameField = getField(fields, "com.pyxis.greenhopper.jira:gh-epic-label"); string[] responses = await taskMeasurer.Run(() => Task.WhenAll(issuesList.Select(i => cli.Get($"/rest/api/3/issue/{i}"))), "111_FetchIssuesData"); PdfReport pdfReport = new PdfReport(filePath: reportFileName, storageName: _configuration.GetValue <string>("Settings:StorageName"), debug: _hostEnvironment.IsDevelopment()); await pdfReport.Configure(_client.PdfApi, _client.BarcodeApi); issues = JToken.FromObject(new { issues = responses.Select(JsonConvert.DeserializeObject).ToList() }) as JObject; // get stories for epics epicStories = new Dictionary <string, JArray>(); if (!string.IsNullOrEmpty(EpicNameField)) { var issuesArr = await Task.WhenAll(issues["issues"] .Where(i => !string.IsNullOrEmpty(i.SelectToken($"$.fields.{EpicNameField}")?.ToString())) .Select(async i => KeyValuePair.Create(i.SelectToken($"$.key")?.ToString(), await getSubtasksForEpic(cli, i.SelectToken($"$.key")?.ToString())) )); epicStories = issuesArr.ToDictionary(t => t.Key, t => t.Value); } document = taskMeasurer.RunSync(() => { reportJiraCloudModel = new ReportJiraCloudModel(System.IO.File.ReadAllText( _configuration.GetValue("Templates:ReportIssuesModel", "template/Report-Issues.Mustache"))) { EpicLinkField = getField(fields, "com.pyxis.greenhopper.jira:gh-epic-link"), EpicNameField = EpicNameField, GenerateQRCode = includeQRCode }; return(reportJiraCloudModel.CreateReportModel(reportJiraCloudModel.issuesModel(issues, epicStories))); }, "112_PrepareReportModel"); if (null == document.Options) { document.Options = new Report.Model.DocumentOptions(); } await pdfReport.Report(document); DateTime current = DateTime.Now; reportFile = new Model.ReportFile { UniqueId = $"{Guid.NewGuid()}", ReportType = extension, ContentType = "application/pdf", FileName = issuesList.Count == 1 ? $"{issuesList.First()}.{extension}" : $"Issues.{extension}", StorageFileName = reportFileName, ClientId = registrationData.Id, Created = current, Expired = current.AddHours(_configuration.GetValue("Settings:FileExpirationHours", 24)), }; _dbContext.ReportFile.Add(reportFile); statItems = taskMeasurer.Stat.Concat(pdfReport.Stat).ToList(); await _dbContext.SaveChangesAsync(); _logger.LogInformation($"{current} Finished {registrationData.ClientKey} in {DateTime.Now - requestDateTime}"); return(result = new OkObjectResult(new { fileid = reportFile.UniqueId , downloadlink = _basePathReplacement.ReplaceBaseUrl(Url.Link("GetDownload", new { id = reportFile.UniqueId })) , expText = TimeSpan.FromHours(_configuration.GetValue("Settings:FileExpirationHours", 24)).ToReadableString() , exp = reportFile.Expired })); } catch (Exception ex) { ZipFileArchive archive = new ZipFileArchive().AddFile("010_request_params.json", new { RequestId = _client.RequestId, FileId = fileId, FileName = reportFileName, includeQRCode, referer, realIp, userAgent, forwardedFor, issues = issuesList }); foreach (var f in new Dictionary <string, object> { { "020_registration.json", registrationData }, { "030_fields.json", fields }, { "040_issues.json", issues }, { "050_epic_stories.json", epicStories }, { "051_RenderedDocument.yaml", reportJiraCloudModel?.RenderedYamlDocument }, { "052_RenderedJsonDocument.yaml", reportJiraCloudModel?.RenderedJsonDocument }, { "060_document.json", document }, { "070_report_file.json", reportFile }, { "080_result.json", result }, }.ToArray()) { archive.AddFile(f.Key, f.Value); } throw new ControllerException($"Error generating {reportFileName}", innerException: ex, customData: await archive.Archive()); } finally { _client.Stat = statItems; } }