コード例 #1
0
        protected bool TieneRelacionesElProducto(string CadenaProductoId)
        {
            DataSet       ProductoResultado = new DataSet();
            AlmacenAcceso AlmacenAcceso     = new AlmacenAcceso();

            ProductoResultado = AlmacenAcceso.SeleccionarRelacionesProducto(CadenaProductoId, SeleccionarConexion(ConstantePrograma.DefensoriaDB_Almacen));

            if (AlmacenAcceso.ErrorId != 0)
            {
                _ErrorId          = AlmacenAcceso.ErrorId;
                _DescripcionError = AlmacenAcceso.DescripcionError;

                return(false);
            }

            if (ProductoResultado.Tables.Count == 0)
            {
                return(false);
            }

            if (ProductoResultado.Tables[0].Rows.Count == 0)
            {
                return(false);
            }

            _OrigenError = ProductoResultado.Tables[0].Rows[0]["TablaRelacionada"].ToString();

            return(true);
        }
コード例 #2
0
        /// <summary>
        ///     Busca la cantidad máxima permitida para la requisición de un producto.
        /// </summary>
        /// <returns>Máximo permitido.</returns>
        public int SeleccionarProductoMaximoPermitido(string ProductoId)
        {
            string        CadenaConexion = string.Empty;
            AlmacenAcceso ProductoAcceso = new AlmacenAcceso();

            CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Almacen);

            _ResultadoDatos = ProductoAcceso.SeleccionarProductoMaximoPermitido(ProductoId, CadenaConexion);

            if (ProductoAcceso.ErrorId != 0)
            {
                _ErrorId          = ProductoAcceso.ErrorId;
                _DescripcionError = ProductoAcceso.DescripcionError;

                return(0);
            }

            if (_ResultadoDatos.Tables[0].Rows.Count == 0)
            {
                _ErrorId          = (int)TextoError.Requisicion.ProductoNoEncontrado;
                _DescripcionError = TextoError.ProductoNoEncontrado;

                return(0);
            }

            return(int.Parse(_ResultadoDatos.Tables[0].Rows[0]["Maximo"].ToString()));
        }
コード例 #3
0
        private void EliminarProducto(SqlConnection Conexion, SqlTransaction Transaccion, string CadenaProductoId)
        {
            AlmacenAcceso AlmacenAccesoObjeto = new AlmacenAcceso();

            AlmacenAccesoObjeto.EliminarProducto(Conexion, Transaccion, CadenaProductoId);

            _ErrorId          = AlmacenAccesoObjeto.ErrorId;
            _DescripcionError = AlmacenAccesoObjeto.DescripcionError;
        }
コード例 #4
0
        public ResultadoEntidad SeleccionarProductoparaEditar(AlmacenEntidad AlmacenObjetoEntidad)
        {
            string           CadenaConexion      = string.Empty;
            ResultadoEntidad Resultado           = new ResultadoEntidad();
            AlmacenAcceso    AlmacenAccesoObjeto = new AlmacenAcceso();

            CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Almacen);

            Resultado = AlmacenAccesoObjeto.SeleccionarProductoParaEditar(AlmacenObjetoEntidad, CadenaConexion);

            return(Resultado);
        }
コード例 #5
0
        public ResultadoEntidad GuardarProducto(AlmacenEntidad AlmacenObjetoEntidad)
        {
            string           CadenaConexion      = string.Empty;
            ResultadoEntidad Resultado           = new ResultadoEntidad();
            ResultadoEntidad ResultadoValidacion = new ResultadoEntidad();
            AlmacenAcceso    AlmacenAcceso       = new AlmacenAcceso();
            SqlTransaction   Transaccion;
            SqlConnection    Conexion = new SqlConnection(SeleccionarConexion(ConstantePrograma.DefensoriaDB_Almacen));

            CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Almacen);

            // Si es una actualización se lleva a cabo sin transacción
            if (AlmacenObjetoEntidad.ProductoId != "")
            {
                Resultado = AlmacenAcceso.ActualizarProducto(AlmacenObjetoEntidad, CadenaConexion);
                return(Resultado);
            }

            if (BuscarProductoDuplicada(AlmacenObjetoEntidad))
            {
                Resultado.ErrorId          = (int)ConstantePrograma.Producto.ProductoTieneRegistroDuplicado;
                Resultado.DescripcionError = TextoError.ProductoConNombreDuplicado;
                return(Resultado);
            }

            // Si es un producto nuevo hay que manejar transacción
            Conexion.Open();

            Transaccion = Conexion.BeginTransaction();

            try
            {
                AlmacenObjetoEntidad.ProductoId = Guid.NewGuid().ToString();


                // Primero se guarda la información del producto
                Resultado = AlmacenAcceso.InsertarProducto(Conexion, Transaccion, AlmacenObjetoEntidad);

                if (Resultado.ErrorId != (int)ConstantePrograma.Producto.ProductoGuardadoCorrectamente)
                {
                    Transaccion.Rollback();
                    Conexion.Close();
                    return(Resultado);
                }

                // Luego la información de la existencia
                AlmacenAcceso.InsertarProductoExistencia(Conexion, Transaccion, AlmacenObjetoEntidad);

                if (AlmacenAcceso.ErrorId == 0)
                {
                    Transaccion.Commit();
                }
                else
                {
                    Transaccion.Rollback();

                    Resultado.ErrorId          = AlmacenAcceso.ErrorId;
                    Resultado.DescripcionError = AlmacenAcceso.DescripcionError;
                }

                Conexion.Close();

                return(Resultado);
            }
            catch (Exception Exception)
            {
                Resultado.ErrorId          = (int)TextoError.Error.Generico;
                Resultado.DescripcionError = Exception.Message;

                if (Conexion.State == ConnectionState.Open)
                {
                    Transaccion.Rollback();
                    Conexion.Close();
                }

                return(Resultado);
            }
        }