Пример #1
0
        private string generarPDF()
        {
            try
            {
                string pdf        = string.Empty;
                string tipoDoc    = Utility.getPrefixTypeDoc(_doc.tipoDocumento);
                string directorio = Global.Usuario.tbEmpresa.rutaCertificado.Trim();
                //string conec=Properties.Settings.Default.dbSISSODINAConnectionString1.ToString();
                SqlConnection     _SqlConnection = new SqlConnection(Utility.stringConexionReportes());
                dtReporteHacienda ds             = new dtReporteHacienda();
                if (_doc.idCliente == null)
                {
                    rptFacturaESinCliente Reporte = new rptFacturaESinCliente();

                    //creamos una nueva instancia del table adapter que usaremos para obtener la información de la base de datos
                    Reportes.dtReporteHaciendaTableAdapters.sp_FacturaElectronicaSinClienteTableAdapter dt = new Reportes.dtReporteHaciendaTableAdapters.sp_FacturaElectronicaSinClienteTableAdapter();

                    _SqlConnection.Open();

                    //le pasamos la conexión al tableadapter
                    dt.Connection = _SqlConnection;
                    //llenamos el tableadapter con el método fill
                    dt.Fill(ds.sp_FacturaElectronicaSinCliente, _doc.id, _doc.tipoDocumento);

                    Zen.Barcode.CodeQrBarcodeDraw barcode = new Zen.Barcode.CodeQrBarcodeDraw();

                    foreach (DataRow dr in ds.Tables[1].Rows)
                    {
                        string conse = _doc.clave != null?_doc.clave.ToString() : _doc.tipoDocumento.ToString() + _doc.id.ToString();

                        Image bar = barcode.Draw(conse, 6);
                        dr["Barcode"] = Utility.ImageToByteArray(bar);
                    }

                    Reporte.SetDataSource(ds);
                    string id = _doc.consecutivo == null?_doc.id.ToString() : _doc.consecutivo;



                    pdf = directorio.Trim() + (id.Trim() + tipoDoc + "_PDF.pdf");
                    Reporte.ExportToDisk(ExportFormatType.PortableDocFormat, pdf);
                    Reporte.Close();
                }
                else
                {
                    rptFacturaE Reporte = new rptFacturaE();
                    //creamos una nueva instancia del DataSet


                    //creamos una nueva instancia del table adapter que usaremos para obtener la información de la base de datos
                    Reportes.dtReporteHaciendaTableAdapters.sp_FacturaElectronicaTableAdapter dt = new Reportes.dtReporteHaciendaTableAdapters.sp_FacturaElectronicaTableAdapter();

                    _SqlConnection.Open();

                    //le pasamos la conexión al tableadapter
                    dt.Connection = _SqlConnection;
                    //llenamos el tableadapter con el método fill
                    dt.Fill(ds.sp_FacturaElectronica, _doc.id, _doc.tipoDocumento);

                    Zen.Barcode.CodeQrBarcodeDraw barcode = new Zen.Barcode.CodeQrBarcodeDraw();

                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        string conse = _doc.clave != null?_doc.clave.ToString() : _doc.tipoDocumento.ToString() + _doc.id.ToString();

                        Image bar = barcode.Draw(conse, 6);
                        dr["Barcode"] = Utility.ImageToByteArray(bar);
                    }

                    Reporte.SetDataSource(ds);

                    string id = _doc.consecutivo == null?_doc.id.ToString() : _doc.consecutivo;


                    pdf = directorio.Trim() + (id.Trim() + tipoDoc + "_PDF.pdf");
                    Reporte.ExportToDisk(ExportFormatType.PortableDocFormat, pdf);
                    Reporte.Close();
                }

                return(pdf);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }