Esempio n. 1
0
        /// <summary>
        /// Método encargado de Obtener el Estatus General de la Devolución
        /// </summary>
        /// <param name="id_devolucion_faltante">Encabezado de la Devolución</param>
        /// <returns></returns>
        public static DevolucionFaltante.EstatusDevolucion ObtieneEstatusDevolucion(int id_devolucion_faltante)
        {
            //Declarando Objeto de Retorno
            DevolucionFaltante.EstatusDevolucion estatus = DevolucionFaltante.EstatusDevolucion.Registrado;

            //Instanciando Devolución
            using (DevolucionFaltante devolucion = new DevolucionFaltante(id_devolucion_faltante))
            {
                //Armando Arreglo de Parametros
                object[] param = { 5, 0, id_devolucion_faltante, 0, 0, 0, 0, "", "", 0, 0, false, "", "" };

                //Instanciando Reporte
                using (DataSet ds = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoDataSet(_nom_sp, param))
                {
                    //Validando que existan Registros
                    if (TSDK.Datos.Validacion.ValidaOrigenDatos(ds, "Table"))
                    {
                        //Recorriendo Fila
                        foreach (DataRow dr in ds.Tables["Table"].Rows)
                        {
                            //Asignando Estatus Obtenido
                            estatus = (DevolucionFaltante.EstatusDevolucion)Convert.ToByte(dr["IdEstatus"]);
                        }
                    }
                }
            }

            //Devolviendo Resultado Obtenido
            return(estatus);
        }
Esempio 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="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);
        }