/// <summary> /// Método definido para registrar los datos de los alquileres /// </summary> /// <param name="DatosA"></param> /// <param name="PelisAlquiladas"></param> public void RegistrarAlquileres(Alquiler DatosA, DataTable PelisAlquiladas) { Database db = DatabaseFactory.CreateDatabase("Desarrollo"); string sqlCommand = "dbo.[insertar_alquileres]"; DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); using (DbConnection conn = db.CreateConnection()) // conexion para la transaccion { conn.Open(); //abrimos la conexion DbTransaction tranRegistro = conn.BeginTransaction(); //iniciamos la transaccion if (PelisAlquiladas.Rows.Count == 0) { throw new Exception("No se han seleccionado películas"); } try { db.AddInParameter(dbCommand, "@INTsocio", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosA.Socio)); db.AddInParameter(dbCommand, "@DTfecha", DbType.DateTime, Utilerías.Utilerías.ObtenerValor(DatosA.Fecha)); db.AddInParameter(dbCommand, "@DTentrega", DbType.DateTime, Utilerías.Utilerías.ObtenerValor(DatosA.Entrega)); db.AddInParameter(dbCommand, "@INTcosto", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosA.Costo)); db.AddInParameter(dbCommand, "@INTplazo", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosA.Plazo)); db.AddInParameter(dbCommand, "@CHARdevuelto", DbType.Boolean, Utilerías.Utilerías.ObtenerValor(DatosA.Devuelto)); db.AddOutParameter(dbCommand, "@nStatus", DbType.Int16, 2); db.AddOutParameter(dbCommand, "@strMessage", DbType.String, 250); db.AddOutParameter(dbCommand, "@INTid_alquiler", 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 idAlquiler = int.Parse(db.GetParameterValue(dbCommand, "@INTid_alquiler").ToString()); for (int i = 0; i < PelisAlquiladas.Rows.Count; i++) { AlquilerPelícula DatosAP = new AlquilerPelícula(); DatosAP.Alquiler = idAlquiler; DatosAP.Película = Convert.ToInt32(PelisAlquiladas.Rows[i]["idPelículas"].ToString()); DatosAP.TotalDVD = Convert.ToInt32(PelisAlquiladas.Rows[i]["cantDVD"].ToString()); DatosAP.TotalBlueRay = Convert.ToInt32(PelisAlquiladas.Rows[i]["cantBlueRay"].ToString()); DatosAP.TotalHD = Convert.ToInt32(PelisAlquiladas.Rows[i]["cantHD"].ToString()); RegistrarAlquilerPelículas(DatosAP, tranRegistro, db); } tranRegistro.Commit(); } catch (Exception ex) { tranRegistro.Rollback(); throw new Exception(ex.Message); } finally { conn.Close(); // cerrar la conexion } } }
/// <summary> /// Método definido para asociar las películas asociadas a un alquiler /// </summary> /// <param name="DatosAP"></param> /// <param name="tran"></param> /// <param name="db"></param> public void RegistrarAlquilerPelículas(AlquilerPelícula DatosAP, DbTransaction tran, Database db) { string sqlCommand = "dbo.insertar_alquileres_peliculas"; DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); try { db.AddInParameter(dbCommand, "@INTalquiler", DbType.String, Utilerías.Utilerías.ObtenerValor(DatosAP.Alquiler)); db.AddInParameter(dbCommand, "@INTpelicula", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosAP.Película)); db.AddInParameter(dbCommand, "@INTtotal_dvd", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosAP.TotalDVD)); db.AddInParameter(dbCommand, "@INTtotal_blueray", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosAP.TotalBlueRay)); db.AddInParameter(dbCommand, "@INTtotal_hddvd", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosAP.TotalHD)); 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); } }