Ejemplo n.º 1
0
 public void Emitir(string consulta, string arquivo, Func<SQLiteCommand> metodoParametros) {
     //não gostei nada desse código, mas enfim....
     var reportViewer = new RdlViewer();
     var reportStrip = new ViewerToolstrip(ReportViewer);
     reportStrip.Viewer = ReportViewer;
     var query = new StringBuilder().Append(consulta);
     var dalConexao = dalConexao = new DALConexao(new DadosConexao().String_Conexao);
     var caminhoArquivo = new PathRelatorio(arquivo);
     if (caminhoArquivo.existeArquivo()) { //não gosto disto
         reportViewer.SourceFile = new Uri(caminhoArquivo.Path);
         reportViewer.Parameters += "conexao={dalConexao.Conexao.ConnectionString}";
         reportViewer.Report.DataSets["Data"].SetData(obterTabela(dalConexao, metodoParametros));
         reportViewer.Rebuild();
         reportViewer.HideRunButton();
         reportViewer.Dock = DockStyle.Fill;
     }
 }
Ejemplo n.º 2
0
        private void GeneratePDF2()
        {
            var viewer = new RdlViewer
            {
                SourceFile = new Uri(Path.Combine(Application.StartupPath, "FE2PDF.rdl"))
            };

            foreach (var h in _data)
            {
                var header = new List <Header> {
                    h
                };
                var details = h.Items;

                viewer.Report.DataSets["Header"].SetData(header);
                viewer.Report.DataSets["Details"].SetData(details);

                viewer.Parameters  = string.Empty;
                viewer.Parameters += $@"&bg_image={Path.Combine(Application.StartupPath, $"fc_{h.CondicionIVA.ToLower()}.jpg")}";

                if (ConfigInfo.InvoiceCodeType != InvoiceCodeType.None)
                {
                    if (ConfigInfo.InvoiceCodeType == InvoiceCodeType.QR)
                    {
                        var qr = h.CondicionIVA.Equals("a", StringComparison.OrdinalIgnoreCase) || h.CondicionIVA.Equals("b", StringComparison.OrdinalIgnoreCase)
                            ? GenerateQR(h)
                            : string.Empty;

                        if (!string.IsNullOrEmpty(qr))
                        {
                            viewer.Parameters += $@"&qrcode={qr}";
                        }
                    }
                    else
                    {
                        var barcode = !string.IsNullOrEmpty(h.CodigoBarra)
                            ? Int2of5.GenerateBarCode(h.CodigoBarra, 1000, 100, 2).ToBase64()
                            : string.Empty;

                        if (!string.IsNullOrEmpty(barcode))
                        {
                            viewer.Parameters += $@"&barcode={barcode}";
                        }
                    }
                }

                viewer.Rebuild();

                var pdfName    = $@"{h.TipoComprobante}{h.CondicionIVA}{h.CentroEmisor}{h.NumeroComprobante}.pdf";
                var outputFile = Path.Combine(txtOutputFolder.Text, pdfName);

                if (File.Exists(outputFile))
                {
                    File.Delete(outputFile);
                }

                viewer.SaveAs(outputFile, OutputPresentationType.PDF);

                barProgress.PerformStep();
                lblStatus.Text = $@"Archivo PDF {barProgress.Value}/{barProgress.Maximum}";

                Application.DoEvents();
            }
        }