public Decimal AdicionarProcesoDisciplinario(Decimal REGISTRO_DESCARGO, DateTime FECHA_R, DateTime FECHA_PROCESO, String TIPO_PROCESO, String MOTIVO, String DESCRIPCION, Decimal DIAS_SANCION, Byte[] ARCHIVO_REGISTRO, Int32 ARCHIVO_REGISTRO_TAMANO, String ARCHIVO_REGISTRO_EXTENSION, String ARCHIVO_REGISTRO_TYPE) { String sql = null; String ID = null; String informacion = null; Boolean ejecutar = true; Boolean ejecutadoCorrectamente = true; tools _tools = new tools(); sql = "usp_con_reg_proceso_disciplinario_adicionar "; #region validaciones if (REGISTRO_DESCARGO != 0) { sql += REGISTRO_DESCARGO + ", "; informacion += "REGISTRO_DESCARGO = " + REGISTRO_DESCARGO + ", "; } else { MensajeError += "El campo REGISTRO_DESCARGO no puede ser 0\n"; ejecutar = false; } sql += "'" + _tools.obtenerStringConFormatoFechaSQLServer(FECHA_R) + "', "; informacion += "FECHA_R = '" + _tools.obtenerStringConFormatoFechaSQLServer(FECHA_R) + "', "; sql += "'" + _tools.obtenerStringConFormatoFechaSQLServer(FECHA_PROCESO) + "', "; informacion += "FECHA_PROCESO = '" + _tools.obtenerStringConFormatoFechaSQLServer(FECHA_PROCESO) + "', "; if (!(String.IsNullOrEmpty(TIPO_PROCESO))) { sql += "'" + TIPO_PROCESO + "', "; informacion += "TIPO_PROCESO = '" + TIPO_PROCESO + "', "; } else { MensajeError += "El campo TIPO_PROCESO no puede ser nulo\n"; ejecutar = false; } if (!(String.IsNullOrEmpty(MOTIVO))) { sql += "'" + MOTIVO + "', "; informacion += "MOTIVO = '" + MOTIVO + "', "; } else { sql += "'null, "; informacion += "MOTIVO = 'null', "; } if (!(String.IsNullOrEmpty(DESCRIPCION))) { sql += "'" + DESCRIPCION + "', "; informacion += "DESCRIPCION = '" + DESCRIPCION + "', "; } else { sql += "null, "; informacion += "DESCRIPCION = 'null', "; } if (DIAS_SANCION != 0) { sql += DIAS_SANCION + ", "; informacion += "DIAS_SANCION = " + DIAS_SANCION + ", "; } else { sql += "NULL, "; informacion += "DIAS_SANCION = 'NULL', "; } sql += "'[DATOS_BINARIOS]', "; informacion += "ARCHIVO_REGISTRO = '[DATOS_BINARIOS]', "; sql += "'" + ARCHIVO_REGISTRO_EXTENSION + "', "; informacion += "ARCHIVO_REGISTRO_EXTENSION = '" + ARCHIVO_REGISTRO_EXTENSION + "', "; sql += ARCHIVO_REGISTRO_TAMANO + ", "; informacion += "ARCHIVO_REGISTRO_TAMANO = '" + ARCHIVO_REGISTRO_TAMANO + "', "; sql += "'" + ARCHIVO_REGISTRO_TYPE + "', "; informacion += "ARCHIVO_REGISTRO_TYPE = '" + ARCHIVO_REGISTRO_TYPE + "', "; sql += "'" + Usuario + "'"; informacion += "USU_CRE = '" + Usuario.ToString() + "'"; #endregion validaciones if (ejecutar) { Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); try { ID = conexion.ExecuteEscalarParaAdicionarProcesoDisciplianario(REGISTRO_DESCARGO, FECHA_R, FECHA_PROCESO, TIPO_PROCESO, MOTIVO, DESCRIPCION, DIAS_SANCION, ARCHIVO_REGISTRO, ARCHIVO_REGISTRO_EXTENSION, ARCHIVO_REGISTRO_TAMANO, ARCHIVO_REGISTRO_TYPE, Usuario); if ((String.IsNullOrEmpty(ID) == true) || (ID == "0")) { conexion.DeshacerTransaccion(); MensajeError = "ERROR: al intentar adicionar el proceso."; ejecutadoCorrectamente = false; } else { auditoria _auditoria = new auditoria(Empresa); if (TIPO_PROCESO == "SA") { if (!(_auditoria.Adicionar(Usuario, tabla.CON_REG_PROCESOS_DISCIPLINARIOS, tabla.ACCION_ADICIONAR, sql, informacion, conexion))) { conexion.DeshacerTransaccion(); ejecutadoCorrectamente = false; } else { conexion.AceptarTransaccion(); } } else { if (terminarProcesoDescargo(REGISTRO_DESCARGO, conexion) == false) { conexion.DeshacerTransaccion(); ejecutadoCorrectamente = false; } else { if (!(_auditoria.Adicionar(Usuario, tabla.CON_REG_PROCESOS_DISCIPLINARIOS, tabla.ACCION_ADICIONAR, sql, informacion, conexion))) { conexion.DeshacerTransaccion(); ejecutadoCorrectamente = false; } else { conexion.AceptarTransaccion(); } } } } } catch (Exception e) { conexion.DeshacerTransaccion(); MensajeError = e.Message; ejecutadoCorrectamente = false; } finally { conexion.Desconectar(); } } if (ejecutadoCorrectamente) return Convert.ToDecimal(ID); else return 0; }