Esempio n. 1
0
        /// <summary>
        /// Realiza la inserció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 InsertaAutorizacionesRequeridas(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.CargaResponsablesAutorizacionDetalleBloque(b.Field <int>("IdAutorizacionDetalleBloque"));

                    //Si existen responsables
                    if (Validacion.ValidaOrigenDatos(responsables))
                    {
                        //Para cada uno de los responsables
                        foreach (DataRow r in responsables.Rows)
                        {
                            //Insertando petición de autorización
                            resultado = AutorizacionRealizada.InsertaAutorizacionRealizada(id_tabla, id_registro, r.Field <int>("IdAutorizacionDetalleBloqueResponsable"), id_usuario);

                            //Si no hay errores
                            if (resultado.OperacionExitosa)
                            {
                                //Instanciando autorización registrada
                                using (AutorizacionRealizada ar = new AutorizacionRealizada(resultado.IdRegistro))
                                {
                                    //Realziando el envío según corresponda
                                    //resultado = ar.EnviaNotificacionAutorizacion();
                                }
                            }

                            //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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }