예제 #1
0
        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;
        }