/// <summary> /// Realiza la deshabilitación de los registros autorización realizada requeridos en el detalle de autorización de un registro y tabla específicos. /// </summary> /// <param name="id_tabla">Id de Tabla</param> /// <param name="id_registro">Id de Registro</param> /// <param name="id_usuario">Id de usuario que solicita</param> /// <returns></returns> public RetornoOperacion DeshabilitaAutorizacionesSinConfirmar(int id_tabla, int id_registro, int id_usuario) { //Definiendo objeto de retorno, sin errores RetornoOperacion resultado = new RetornoOperacion(this._id_autorizacion_detalle); //Realizando la carga de los bloques del detalle de autorización DataTable bloques = AutorizacionDetalleBloque.CargaBloquesAutorizacionDetalle(this._id_autorizacion_detalle); //Si existen registros if (Validacion.ValidaOrigenDatos(bloques)) { //Para cada uno de los bloques foreach (DataRow b in bloques.Rows) { //Cargando los responsables del bloque DataTable responsables = AutorizacionDetalleBloqueResponsable.CargaAutorizacionResponsablesBloque(b.Field <int>("IdAutorizacionDetalleBloque"), id_tabla, id_registro); //Si existen responsables if (Validacion.ValidaOrigenDatos(responsables)) { //Para cada uno de los responsables foreach (DataRow r in responsables.Rows) { //Instanciando la autorización realizada using (AutorizacionRealizada ar = new AutorizacionRealizada(r.Field <int>("IdAutorizacionRealizada"))) { //Validando que exista if (ar.id_autorizacion_realizada > 0) { if (ar.bit_confirmacion == null) { //Deshabilitando petición de autorización resultado = ar.DeshabilitaAutorizacionRealizada(id_usuario); } //En caso de errores if (!resultado.OperacionExitosa) { //Saliendo de ciclo de inserción break; } } } } } //En caso de error if (!resultado.OperacionExitosa) { //Saliendo de ciclo break; } } } //Devolviendo resultado return(resultado); }
/// <summary> /// Deshabilitamos Autorizaciones /// </summary> /// <param name="id_tabla">Id Tabla</param> /// <param name="id_registro">Id Registro</param> /// <param name="id_usuario">Id Usuario</param> /// <returns></returns> public static RetornoOperacion DeshabilitaAutorizacionRealizada(int id_tabla, int id_registro, int id_usuario) { //Declaramos Objeto Resutado RetornoOperacion resultado = new RetornoOperacion(0); //Cargamos Autorizaciones using (DataTable mitAutorizaiones = CargaAutorizacionesActivas(id_tabla, id_registro)) { //Validamos Origen if (Validacion.ValidaOrigenDatos(mitAutorizaiones)) { //Creamos la transacción using (TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Rrecorremos Autorizaciones foreach (DataRow r in mitAutorizaiones.Rows) { //Instanciamos Autorizacion using (AutorizacionRealizada obj = new AutorizacionRealizada(r.Field <int>("Id"))) { //Deshabilitamos resultado = obj.DeshabilitaAutorizacionRealizada(id_usuario); } //Validamos Resultado if (!resultado.OperacionExitosa) { //Salimos del ciclo break; } } //Validamos Resultado if (resultado.OperacionExitosa) { //Finalizamos Transaccion scope.Complete(); } } } } //Devolvmemos Resultado return(resultado); }