private void PrepareSqlReportData(InvoicePrinting invPrint, Invoice inv, IDictionary <string, object> param) { var constring = inv.Document.getSqlConnectionString(); if (string.IsNullOrEmpty(constring)) { return; } var reportQuery = inv.Document.ReportSource; var detailQuery = inv.Document.DetailSource; using (SqlConnection con = new SqlConnection(constring)) { IDictionary <string, object> reportData = null; if (string.IsNullOrEmpty(reportQuery) == false) { if (invPrint.ReportData == null) { reportData = (IDictionary <string, object>)con.Query(reportQuery, param).FirstOrDefault(); invPrint.ReportData = reportData; } } if (string.IsNullOrEmpty(detailQuery) == false) { if (invPrint.DetailData == null) { List <IDictionary <string, object> > detailData = con.Query(detailQuery, param).Select(row => (IDictionary <string, object>)row).ToList(); invPrint.DetailData = detailData; } } } }
private void Form1_Load(object sender, EventArgs e) { inv = new Invoice(); inoicePrinting = new InvoicePrinting(); foreach (string printername in System.Drawing.Printing.PrinterSettings.InstalledPrinters) { this.Printers.Items.Add(printername); } }
public FunctionResponse OpenPdfReport(PdfReportParameter reportParameter) { var filename = reportParameter.filename; if (string.IsNullOrEmpty(filename)) { return new FunctionResponse { status = "error", result = "Invalid file Name" } } ; var reportDirectory = _env.WebRootPath; if (filename.EndsWith(".ims") == false) { filename = filename + ".ims"; } var reportFile = Path.Combine(reportDirectory, "IMSReport", filename); if (File.Exists(reportFile) == false) { return new FunctionResponse { status = "error", result = "File not found" } } ; string str = File.ReadAllText(reportFile); inoicePrinting = new InvoicePrinting(); inv = inoicePrinting.LoadInvFromJsonString(str); if (inv.Document.DetailDataType == DataType.SQLServer) { if (!string.IsNullOrEmpty(inv.Document.QueryParameter)) { FunctionResponse res = CompareParameter(reportParameter.Parameter, inv.Document.QueryParameter); if (res.status == "error") { return(res); } inoicePrinting.InputParameters = res.result as Dictionary <string, object>; PrepareSqlReportData(inoicePrinting, inv, inoicePrinting.InputParameters); } } //var pdfFile = reportDirectory using (MemoryStream memStream = new MemoryStream()) { byte[] bytes = inoicePrinting.PrintInvoice(inv, "", memStream: memStream); return(new FunctionResponse { status = "ok", result = bytes }); } }
private void printInvoice(int svno) { InvoicePrinting invoicePrinting = new InvoicePrinting(); DataSet ds = new DataSet(); invoicePrinting.prepareDataSetForInvoiceReport(ds, svno); CrystalDecisions.CrystalReports.Engine.ReportClass report = getCrystalReport(); report.SetDataSource(ds); CrystalDecisions.CrystalReports.Engine.TextObject txtInvoiceType; txtInvoiceType = (CrystalDecisions.CrystalReports.Engine.TextObject)report.ReportDefinition.ReportObjects["txtInvoiceType"]; txtInvoiceType.Text = "Original"; report.PrintToPrinter(1, false, 0, 0); txtInvoiceType.Text = "Duplicate"; report.PrintToPrinter(1, false, 0, 0); }
private void Open_Click(Object sender, EventArgs e) { openFileDialog1.Filter = "PdfInvoice|*.ims"; openFileDialog1.Title = "Open Pdf Invoice File"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { try { var filename = openFileDialog1.FileName; string str = File.ReadAllText(filename); inoicePrinting = new InvoicePrinting(); inv = inoicePrinting.LoadInvFromJsonString(str); LoadTree(); LoadPdf(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
public FunctionResponse OpenPdfReportMultipleParameter(PdfReportMultiParameter pdfReportMultiParameter) { var filename = pdfReportMultiParameter.filename; if (string.IsNullOrEmpty(filename)) { return new FunctionResponse { status = "error", result = "Invalid file Name" } } ; var reportDirectory = _env.WebRootPath; var reportFile = Path.Combine(reportDirectory, "IMSReport", filename); if (File.Exists(reportFile) == false) { return new FunctionResponse { status = "error", result = "File not found" } } ; string str = File.ReadAllText(reportFile); inoicePrinting = new InvoicePrinting(); inv = inoicePrinting.LoadInvFromJsonString(str); List <byte[]> pdfFiles = new List <byte[]>(); foreach (var parameter in pdfReportMultiParameter.Parameters) { if (inv.Document.DetailDataType == DataType.SQLServer) { if (!string.IsNullOrEmpty(inv.Document.QueryParameter)) { FunctionResponse res = CompareParameter(parameter, inv.Document.QueryParameter); if (res.status == "error") { return(res); } inoicePrinting.InputParameters = res.result as Dictionary <string, object>; if (!(pdfReportMultiParameter.IsSameDataQuery == true && inoicePrinting.DetailData != null)) { PrepareSqlReportData(inoicePrinting, inv, inoicePrinting.InputParameters); } } using (MemoryStream memStream = new MemoryStream()) { byte[] bytes = inoicePrinting.PrintInvoice(inv, "", memStream: memStream); pdfFiles.Add(bytes); //return new FunctionResponse { status = "ok", result = memStream.ToArray() }; } } } //var pdfFile = reportDirectory using (MemoryStream memoryStream = new MemoryStream()) { inoicePrinting.MergePdfinMemory(memoryStream, pdfFiles); return(new FunctionResponse { status = "ok", result = memoryStream.ToArray() }); } }