public Boolean terminarProcesoRequerimientoMinisterio(Decimal ID_REQUERIMIENTO_M,
            Byte[] ARCHIVO_ACTA,
            Int32 ARCHIVO_ACTA_TAMANO,
            String ARCHIVO_ACTA_EXTENSION,
            String ARCHIVO_ACTA_TYPE)
        {
            Decimal ID_ARCHIVO = 0;
            Int32 cantidadRegistrosActualizados = 0;
            String sql = null;
            String informacion = null;
            Boolean ejecutar = true;

            tools _tools = new tools();

            sql = "usp_con_reg_requerimientos_ministerio_terminar_proceso ";

            #region validaciones
            if (ID_REQUERIMIENTO_M != 0)
            {
                sql += ID_REQUERIMIENTO_M + ", ";
                informacion += "ID_REQUERIMIENTO_M = '" + ID_REQUERIMIENTO_M + "', ";
            }
            else
            {
                MensajeError += "El campo ID_REQUERIMIENTO_M no puede ser nulo\n";
                ejecutar = false;
            }

            sql += "'" + Usuario + "'";
            informacion += "USU_MOD = '" + Usuario + "'";
            #endregion validaciones

            if (ejecutar)
            {
                Conexion conexion = new Conexion(Empresa);
                conexion.IniciarTransaccion();
                try
                {
                    cantidadRegistrosActualizados = conexion.ExecuteNonQuery(sql);

                    if (cantidadRegistrosActualizados <= 0)
                    {
                        conexion.DeshacerTransaccion();
                        MensajeError = "ERROR: No se pudo cerrar el requerimineto debido a problemas con el UPDATE.";
                    }
                    else
                    {
                        ID_ARCHIVO = Convert.ToDecimal(conexion.ExecuteEscalarParaAdicionaArchivoRequermientoMinisterio(ID_REQUERIMIENTO_M, DateTime.Now, "ACTA", ARCHIVO_ACTA, ARCHIVO_ACTA_EXTENSION, ARCHIVO_ACTA_TAMANO, ARCHIVO_ACTA_TYPE, Usuario));

                        if (ID_ARCHIVO <= 0)
                        {
                            conexion.DeshacerTransaccion();
                            MensajeError = "ERROR: No se pudo cerrar el requerimineto debido a problemas con el UPDATE.";
                            cantidadRegistrosActualizados = 0;
                        }
                        else
                        {
                            auditoria _auditoria = new auditoria(Empresa);
                            if (_auditoria.Adicionar(Usuario, tabla.CON_REG_REQUERIMIENTOS_MINISTERIO, tabla.ACCION_ACTUALIZAR, sql, informacion, conexion) == false)
                            {
                                conexion.DeshacerTransaccion();
                                MensajeError = "ERROR: No se pudo cerrar el requerimineto debido a problemas con el UPDATE.";
                                cantidadRegistrosActualizados = 0;
                            }
                            else
                            {
                                conexion.AceptarTransaccion();
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    MensajeError = e.Message;
                    cantidadRegistrosActualizados = 0;
                }
                finally
                {
                    conexion.Desconectar();
                }
            }

            if (cantidadRegistrosActualizados > 0) return true;
            else return false;
        }