public Boolean CargarEnBdElManualServicioActual(Decimal ID_EMPRESA) { Boolean resultado = true; Boolean correcto = true; Conexion _datos = new Conexion(Session["idEmpresa"].ToString().Trim()); _datos.IniciarTransaccion(); try { //capturamos el historial de versionamineto de la empresa ManualServicio _manualServicio = new ManualServicio(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaManual = _manualServicio.ObtenerVersionamientoManualPorEmpresa(ID_EMPRESA, _datos); if (tablaManual.Rows.Count <= 0) { //si no se ha creado manual se deveulve true resultado = true; correcto = true; } else { DataRow filaVersionamientoManual = tablaManual.Rows[tablaManual.Rows.Count - 1]; Decimal ID_VERSIONAMIENTO = Convert.ToDecimal(filaVersionamientoManual["ID_VERSIONAMIENTO"].ToString()); DateTime fechaEmisionManual = Convert.ToDateTime(filaVersionamientoManual["FECHA_EMISION"]); String version = filaVersionamientoManual["VERSION_MAYOR"].ToString().Trim() + "." + filaVersionamientoManual["VERSION_MENOR"].ToString().Trim(); DateTime fechaApartirDe = Convert.ToDateTime(filaVersionamientoManual["APLICAR_A_PARTIR"]); //revisamos si esa version ya tiene manual en pdf generado o sino lo generamos y lo guardamos en bd DataTable tablaArchivoVersion = _manualServicio.ObtenerArchivoManualServicioPorVersion(ID_VERSIONAMIENTO, _datos); if (tablaArchivoVersion.Rows.Count > 0) { //el archivo ya esta guardado resultado = true; correcto = true; } else { //toca generar el archivo y guardarlo maestrasInterfaz _maestrasInterfaz = new maestrasInterfaz(); byte[] archivoManual = _maestrasInterfaz.GenerarPDFManualServicio(ID_VERSIONAMIENTO, version, fechaEmisionManual, fechaApartirDe, ID_EMPRESA, _datos); Decimal ID_DOCUMENTO = Convert.ToDecimal(_datos.ExecuteEscalarParaAdicionarDocsManualServixo(ID_VERSIONAMIENTO, archivoManual,".pdf",archivoManual.Length, "application/pdf", Session["USU_LOG"].ToString())); if (ID_DOCUMENTO <= 0) { resultado = false; correcto = false; _datos.DeshacerTransaccion(); } else { resultado = true; correcto = true; } } } if (correcto == true) { _datos.AceptarTransaccion(); } } catch(Exception ex) { _datos.DeshacerTransaccion(); resultado = false; MensajeError = ex.Message; } finally { _datos.Desconectar(); } return resultado; }