public IPdfReportData CreateReport02(string szReportFolderPath, HttpResponseBase Response, int Invoiceid = 0) { decimal dUnitPrice = 0; decimal dQty = 0; decimal dAmount = 0; string szConnectionString = ConfigurationManager.ConnectionStrings["TimelyDepotContext"].ToString(); string szProviderName = ConfigurationManager.ConnectionStrings["TimelyDepotContext"].ProviderName; string szSql = ""; string szFilePath = ""; szSql = string.Format("SELECT TOP (100) PERCENT InvoiceId, Quantity, ShipQuantity, BackOrderQuantity, ItemID, Sub_ItemID, Description, Tax, UnitPrice, ItemPosition, ItemOrder " + "FROM InvoiceDetail WHERE (InvoiceId = {0}) ORDER BY ItemPosition, ItemOrder", Invoiceid.ToString()); var report = new PdfReport(); //Document preferences report.DocumentPreferences(doc => { doc.RunDirection(PdfRunDirection.LeftToRight); doc.Orientation(PageOrientation.Portrait); doc.PageSize(PdfPageSize.A4); doc.DocumentMetadata(new DocumentMetadata { Author = "Vios", Application = "PdfRpt", Keywords = "IList Rpt.", Subject = "Invoice Report", Title = "Invoice" }); doc.Compression(new CompressionSettings { EnableCompression = true, EnableFullCompression = true }); doc.PrintingPreferences(new PrintingPreferences { ShowPrintDialogAutomatically = true }); } ); //Fonts report.DefaultFonts(fonts => { string szFontsPath = System.IO.Path.Combine(szReportFolderPath, "fonts\\arial.ttf"); string szFontsPath2 = System.IO.Path.Combine(szReportFolderPath, "fonts\\verdana.ttf"); fonts.Path(szFontsPath, szFontsPath2); //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); }); //The footer report.PagesFooter(footer => { var date = DateTime.Now.ToString("MM/dd/yyyy"); footer.InlineFooter(inlineFooter => { inlineFooter.FooterProperties(new FooterBasicProperties { PdfFont = footer.PdfFont, HorizontalAlignment = HorizontalAlignment.Center, RunDirection = PdfRunDirection.LeftToRight, SpacingBeforeTable = 30, TotalPagesCountTemplateHeight = 9, TotalPagesCountTemplateWidth = 50 }); inlineFooter.AddPageFooter(data => { return createFooter(footer, date, data); }); }); }); // The Header report.PagesHeader(header => { header.InlineHeader(inlineheader => { inlineheader.AddPageHeader(data => { return createHeader(header, Invoiceid); }); }); }); //Main table report.MainTableTemplate(template => { template.BasicTemplate(BasicTemplate.TimelyDepoTemplate); }); report.MainTablePreferences(table => { table.ColumnsWidthsType(TableColumnWidthType.Relative); table.NumberOfDataRowsPerPage(15); }); //Main data report.MainTableDataSource(dataSource => { //var listOfRows = new List<User>(); //for (int i = 0; i < 10; i++) //{ // listOfRows.Add(new User { Id = i, LastName = "LastName " + i, Name = "Name " + i, Balance = i + 1000 }); //} //var listOfRows = new List<InvoiceDetail>(); //qryDetails = db.InvoiceDetails.Where(sldt => sldt.InvoiceId == Invoiceid); //if (qryDetails.Count() > 0) //{ // foreach (var item in qryDetails) // { // listOfRows.Add(item); // } //} //dataSource.StronglyTypedList(listOfRows); { dataSource.GenericDataReader( providerName: szProviderName, connectionString: szConnectionString, sql: szSql ); } }); //Summary main Data //report.MainTableSummarySettings(summarySettings => //{ // summarySettings.OverallSummarySettings("Summary"); // summarySettings.PreviousPageSummarySettings("Previous Page Summary"); // summarySettings.PageSummarySettings("Page Summary"); //}); // Required Columns and formats report.MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName("rowNo"); column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("#"); column.IsVisible(false); }); columns.AddColumn(column => { column.PropertyName("InvoiceId"); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.Order(1); column.Width(1); column.HeaderCell("Invoice Id"); column.IsVisible(false); }); columns.AddColumn(column => { column.PropertyName("Quantity"); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.Order(2); column.Width(0.75f); column.HeaderCell("Req. Qty"); column.IsVisible(true); }); columns.AddColumn(column => { column.PropertyName("ShipQuantity"); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.Order(3); column.Width(0.75f); column.HeaderCell("Ship Qty"); column.IsVisible(true); }); columns.AddColumn(column => { column.PropertyName("BackOrderQuantity"); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.Order(4); column.Width(0.75f); column.HeaderCell("B.O. Qty"); column.IsVisible(true); }); columns.AddColumn(column => { column.PropertyName("ItemID"); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.Order(5); column.Width(1); column.HeaderCell("ItemID"); column.IsVisible(false); }); columns.AddColumn(column => { column.PropertyName("Sub_ItemID"); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.Order(6); column.Width(2); column.HeaderCell("ItemID No."); column.IsVisible(true); }); columns.AddColumn(column => { column.PropertyName("Description"); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.Order(7); column.Width(4); column.HeaderCell("Description"); column.IsVisible(true); }); columns.AddColumn(column => { column.PropertyName("Tax"); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.Order(8); column.Width(0.5f); column.HeaderCell("Tax"); column.IsVisible(false); }); columns.AddColumn(column => { column.PropertyName("UnitPrice"); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.Order(9); column.Width(1); column.HeaderCell("Unit Price"); column.IsVisible(true); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n2}", obj)); }); }); columns.AddColumn(column => { column.PropertyName("CF1"); column.HeaderCell("Ext. Amount"); column.Width(1); column.CellsHorizontalAlignment(HorizontalAlignment.Right); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n2}", obj)); }); column.CalculatedField(list => { if (list == null) { return string.Empty; } if (list.GetValueOf("UnitPrice") == null) { dUnitPrice = 0; } else { dUnitPrice = Convert.ToDecimal(list.GetValueOf("UnitPrice")); } if (list.GetValueOf("Quantity") == null) { dQty = 0; } else { dQty = Convert.ToDecimal(list.GetValueOf("Quantity")); } dAmount = dQty * dUnitPrice; return dAmount; }); //column.AggregateFunction(aggregateFunction => //{ // aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum); // aggregateFunction.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n2}", obj)); //}); column.Order(10); column.IsVisible(true); }); }); //report.MainTableColumns(columns => //{ // columns.AddColumn(column => // { // column.PropertyName("rowNo"); // column.IsRowNumber(true); // column.CellsHorizontalAlignment(HorizontalAlignment.Center); // column.IsVisible(true); // column.Order(0); // column.Width(1); // column.HeaderCell("#"); // }); // columns.AddColumn(column => // { // column.PropertyName<User>(x => x.Id); // column.CellsHorizontalAlignment(HorizontalAlignment.Center); // column.IsVisible(true); // column.Order(1); // column.Width(2); // column.HeaderCell("Id"); // }); // columns.AddColumn(column => // { // column.PropertyName<User>(x => x.Name); // column.CellsHorizontalAlignment(HorizontalAlignment.Center); // column.IsVisible(true); // column.Order(2); // column.Width(3); // column.HeaderCell("Name"); // }); // columns.AddColumn(column => // { // column.PropertyName<User>(x => x.LastName); // column.CellsHorizontalAlignment(HorizontalAlignment.Center); // column.IsVisible(true); // column.Order(3); // column.Width(3); // column.HeaderCell("Last Name"); // }); // columns.AddColumn(column => // { // column.PropertyName<User>(x => x.Balance); // column.CellsHorizontalAlignment(HorizontalAlignment.Center); // column.IsVisible(true); // column.Order(4); // column.Width(2); // column.HeaderCell("Balance"); // column.ColumnItemsTemplate(template => // { // template.TextBlock(); // template.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n0}", obj)); // }); // column.AggregateFunction(aggregateFunction => // { // aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum); // aggregateFunction.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n0}", obj)); // }); // }); // columns.AddColumn(column => // { // column.PropertyName<User>(x => x.Id); // column.CellsHorizontalAlignment(HorizontalAlignment.Center); // column.IsVisible(true); // column.Order(5); // column.Width(2); // column.HeaderCell("QRCode"); // column.ColumnItemsTemplate(itemsTemplate => // { // itemsTemplate.InlineField(inlineField => // { // inlineField.RenderCell(cellData => // { // var data = cellData.Attributes.RowData.TableRowData; // var id = data.GetSafeStringValueOf<User>(x => x.Id); // var qrcode = new BarcodeQRCode(id, 1, 1, null); // var image = qrcode.GetImage(); // var mask = qrcode.GetImage(); // mask.MakeMask(); // image.ImageMask = mask; // making the background color transparent // var pdfCell = new PdfPCell(image, fit: false); // return pdfCell; // }); // }); // }); // }); //}); //Main table Events report.MainTableEvents(events => { events.DataSourceIsEmpty(message: "There is no data available to display."); events.MainTableAdded(args => { //var data = args.LastOverallAggregateValueOf<Order>(y => y.Price); //var msg = "Total: " + data + ", " + long.Parse(data, NumberStyles.AllowThousands, CultureInfo.InvariantCulture).NumberToText(Language.English); //var infoTable = new PdfGrid(numColumns: 1) //{ // WidthPercentage = 100 //}; //infoTable.AddSimpleRow( // (cellData, properties) => // { // cellData.Value = "Show data after the main table ..."; // properties.PdfFont = events.PdfFont; // properties.RunDirection = PdfRunDirection.LeftToRight; // }); //infoTable.AddSimpleRow( // (cellData, properties) => // { // cellData.Value = msg; // properties.PdfFont = events.PdfFont; // properties.RunDirection = PdfRunDirection.LeftToRight; // }); //args.PdfDoc.Add(infoTable.AddBorderToTable(borderColor: BaseColor.LIGHT_GRAY, spacingBefore: 25f)); PdfPTable salesamounttb = GetSalesAmountData(Invoiceid); args.PdfDoc.Add(salesamounttb); }); }); //Export report report.Export(export => { export.ToExcel(); export.ToCsv(); export.ToXml(); }); //szFilePath = string.Format("{0}\\InvoiceReport-{1}.pdf", szReportFolderPath, Invoiceid.ToString()); //var szHlp = AppPath.ApplicationPath; //var reportHlp = report.Generate(data => data.AsPdfFile(string.Format("{0}\\Pdf\\InvoiceReport-{1}.pdf", AppPath.ApplicationPath, Guid.NewGuid().ToString("N")))); //var reportHlp = report.Generate(data => data.AsPdfFile(string.Format("{0}\\Pdf\\InvoiceReport-{1}.pdf", AppPath.ApplicationPath, Invoiceid.ToString()))); //var reportHlp = report.Generate(data => data.AsPdfFile(string.Format("{0}Pdf\\InvoiceReport-{1}.pdf", AppPath.ApplicationPath, Invoiceid.ToString()))); //var reportHlp = report.Generate(data => data.AsPdfFile(szFilePath)); //var reportHlp = report.Generate(data => data.AsPdfFile(string.Format("{0}\\Pdf\\InvoiceReport-{1}.pdf", AppPath.ApplicationPath, Invoiceid.ToString()))); //var reportHlp = report.Generate02(data => data.AsPdfFile(string.Format("{0}\\Pdf\\InvoiceReport-{1}.pdf", AppPath.ApplicationPath, Invoiceid.ToString())), Response); var reportHlp = report.Generate02(null, Response); return reportHlp; }