示例#1
0
        /// <summary>
        /// Método definido registrar las películas asocidas a ventas
        /// </summary>
        /// <param name="DatosVP"></param>
        /// <param name="tran"></param>
        /// <param name="db"></param>
        public void RegistrarVentasPelículas(VentaPelícula DatosVP, DbTransaction tran, Database db)
        {
            string sqlCommand = "dbo.insertar_ventas_peliculas";
            DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);

            try
            {
                db.AddInParameter(dbCommand, "@INTventa", DbType.String, Utilerías.Utilerías.ObtenerValor(DatosVP.Venta));
                db.AddInParameter(dbCommand, "@INTpelicula", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosVP.Película));
                db.AddOutParameter(dbCommand, "@nStatus", DbType.Int16, 2);
                db.AddOutParameter(dbCommand, "@strMessage", DbType.String, 250);

                db.ExecuteNonQuery(dbCommand, tran);

                if (int.Parse(db.GetParameterValue(dbCommand, "@nStatus").ToString()) > 0)
                    throw new Exception(db.GetParameterValue(dbCommand, "@strMessage").ToString());

            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
示例#2
0
        /// <summary>
        /// Método definido para registrar los datos de los ventas
        /// </summary>
        /// <param name="DatosV"></param>
        /// <param name="PelisVendidas"></param>
        public void RegistrarVentas(Venta DatosV, DataTable PelisVendidas)
        {
            Database db = DatabaseFactory.CreateDatabase("Desarrollo");
            string sqlCommand = "dbo.[insertar_ventas]";
            DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);

            if (PelisVendidas.Rows.Count == 0)
            {
                throw new Exception("No existen películas seleccionadas");
            }

            using (DbConnection conn = db.CreateConnection()) // conexion para la transaccion
            {
                conn.Open(); //abrimos la conexion
                DbTransaction tranRegistro = conn.BeginTransaction(); //iniciamos la transaccion

                try
                {
                    db.AddInParameter(dbCommand, "@INTcliente", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosV.Cliente));
                    db.AddInParameter(dbCommand, "@DTfecha", DbType.DateTime, Utilerías.Utilerías.ObtenerValor(DatosV.Fecha));
                    db.AddInParameter(dbCommand, "@INTcosto", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosV.Costo));

                    db.AddOutParameter(dbCommand, "@nStatus", DbType.Int16, 2);
                    db.AddOutParameter(dbCommand, "@strMessage", DbType.String, 250);
                    db.AddOutParameter(dbCommand, "@INTid_venta", DbType.Int32, 4);

                    db.ExecuteNonQuery(dbCommand, tranRegistro);

                    if (int.Parse(db.GetParameterValue(dbCommand, "@nStatus").ToString()) > 0)
                        throw new Exception(db.GetParameterValue(dbCommand, "@strMessage").ToString());

                    // Se registra la informacion del auto, un vez ingresados los datos personales
                    int idVenta = int.Parse(db.GetParameterValue(dbCommand, "@INTid_venta").ToString());

                    for (int i = 0; i < PelisVendidas.Rows.Count; i++)
                    {
                        VentaPelícula DatosVP = new VentaPelícula();
                        DatosVP.Venta = idVenta;
                        DatosVP.Película = Convert.ToInt32(PelisVendidas.Rows[i]["idPelículas"].ToString());

                        RegistrarVentasPelículas(DatosVP, tranRegistro, db);
                    }

                    tranRegistro.Commit();

                }
                catch (Exception ex)
                {
                    tranRegistro.Rollback();
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close(); // cerrar la conexion
                }
            }
        }