示例#1
0
        public void SaveDocumentInDB(ReporteBase reporte, TipoDocumento strType)
        {
            try
            {
                var oSettings = new Settings(UnReporte.oEmpresa.EmpresaID);
                string pathName = oSettings.PathImpresion + @"\TEMP_SITEDOWNLOADS\";
                string fileName = pathName + UnReporte.CbteID;

                try
                {
                    //Si no existe el path, intento crearlo.
                    if (!System.IO.Directory.Exists(pathName))
                        System.IO.Directory.CreateDirectory(pathName);
                }
                catch (Exception ex)
                {
                    throw new Exception("No se pudo crear el Path: " + pathName, ex);
                }

                //El componente genera el archivo pdf.
                reporte.ExportToPdf(fileName);

                //Abro el Pdf creado por el componente, lo convierto en bytes, y lo guardo en la DB.
                using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                {
                    byte[] archivoPdf = new byte[fs.Length];
                    fs.Read(archivoPdf, 0, archivoPdf.Length);

                    var sqlEngine = new DBEngine.SQLEngine();

                    if (sqlEngine.Open())
                    {
                        sqlEngine.SavePdfInDB(archivoPdf, UnReporte.CbteID, UnReporte.TipoDeCopia.ToString());

                        sqlEngine.Close();
                    }
                }

                //Si se creo el archivo, lo elimino.
                if (System.IO.File.Exists(fileName))
                    System.IO.File.Delete(fileName);
            }
            catch (Exception)
            {
                throw;
            }
        }