/// <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); } }
/// <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 } } }