Exemplo n.º 1
0
        /// <summary>
        /// Método encargado de Insertar los Detalles de la Devolución
        /// </summary>
        /// <param name="id_devolucion_faltante">Devolución Faltante</param>
        /// <param name="cantidad">Cantidad</param>
        /// <param name="estatus">Estatus del Detalle</param>
        /// <param name="id_producto_devolucion">Producto de la Devolución</param>
        /// <param name="id_unidad">Unidad</param>
        /// <param name="codigo_producto">Código del Producto</param>
        /// <param name="descripcion_producto">Descripción del Producto</param>
        /// <param name="razon_detalle">Razon del Detalle</param>
        /// <param name="id_usuario">Usuario que Actualiza el Registro</param>
        /// <returns></returns>
        public RetornoOperacion EditaDevolucionFaltanteDetalle(int id_devolucion_faltante, EstatusDevolucionDetalle estatus, int id_producto_devolucion,
                                                               decimal cantidad, byte id_unidad, string codigo_producto, string descripcion_producto, RazonDetalle razon_detalle, int id_usuario)
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Declarando Variable Auxliar
            int id_detalle = 0;

            //Inicializando Bloque Transaccional
            using (TransactionScope trans = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Invocando Método de Actualización
                result = this.actualizaRegistrosBD(id_devolucion_faltante, (byte)estatus, id_producto_devolucion, cantidad, id_unidad, codigo_producto,
                                                   descripcion_producto, (byte)razon_detalle, id_usuario, this._habilitar);

                //Validando Operación Exitosa
                if (result.OperacionExitosa)
                {
                    //Obteniendo Detalle
                    id_detalle = result.IdRegistro;

                    //Validando que el Estatus sea Distinto
                    if ((EstatusDevolucionDetalle)this._id_estatus != estatus)
                    {
                        //Instanciando Devolución
                        using (DevolucionFaltante devolucion = new DevolucionFaltante(id_devolucion_faltante))
                        {
                            //Validando existencia
                            if (devolucion.habilitar)
                            {
                                //Actualizando Estatus
                                result = devolucion.ActualizaEstatusDevolucionFaltante(ObtieneEstatusDevolucion(id_devolucion_faltante), id_usuario);
                            }
                            else
                            {
                                //Instanciando Excepción
                                result = new RetornoOperacion("No existe la Devolución");
                            }
                        }
                    }
                }

                //Validando Operación Exitosa
                if (result.OperacionExitosa)
                {
                    //Instanciando Registro
                    result = new RetornoOperacion(id_detalle);

                    //Completando transacción
                    trans.Complete();
                }
            }

            //Devolviendo Resultado Obtenido
            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Método encargado de Insertar los Detalles de la Devolución
        /// </summary>
        /// <param name="id_devolucion_faltante">Devolución Faltante</param>
        /// <param name="id_producto_devolucion">Producto de la Devolución</param>
        /// <param name="cantidad">Cantidad</param>
        /// <param name="id_unidad">Unidad</param>
        /// <param name="codigo_producto">Código del Producto</param>
        /// <param name="descripcion_producto">Descripción del Producto</param>
        /// <param name="razon_detalle">Razon del Detalle</param>
        /// <param name="id_usuario">Usuario que Actualiza el Registro</param>
        /// <returns></returns>
        public static RetornoOperacion InsertaDevolucionFaltanteDetalle(int id_devolucion_faltante, int id_producto_devolucion, decimal cantidad, byte id_unidad, string codigo_producto,
                                                                        string descripcion_producto, RazonDetalle razon_detalle, int id_usuario)
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Armando Arreglo de Parametros
            object[] param = { 1,                       0, id_devolucion_faltante, (byte)EstatusDevolucionDetalle.Registrado, id_producto_devolucion, cantidad,
                               id_unidad, codigo_producto, descripcion_producto,   (byte)razon_detalle,                       id_usuario,             true,    "", "" };

            //Ejecutando SP
            result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param);

            //Devolviendo Resultado Obtenido
            return(result);
        }