// [idReserva] //,[fechaReserva] //,[idEstado] //,[fechaIda] //,[fechaVuelta] //,[precioTotal] //,[idViaje] //,[idHotel] //,[idDetalleReserva] public static void registrarReserva(ReservaEntidad reserva, List <TuristaEntidad> ListaTurista) { //1. Abrir la conexion SqlConnection cn = new SqlConnection(); cn.ConnectionString = @"Data Source=MN\;Initial Catalog=MTravel;Integrated Security=True"; cn.Open(); // Creamos un objeto para la transaccion SqlTransaction tran = cn.BeginTransaction(); try { //2. Crear el objeto command para ejecutar el insert SqlCommand cmd = new SqlCommand(); cmd.Connection = cn; cmd.CommandText = @"Insert into Reserva (fechaReserva, idEstado, fechaIda, fechaVuelta, precioTotal, idViaje, idHotel) VALUES (@fecRes, @estado, @fecIda, @fecVuelta, @precio, @viaje, @hotel);select Scope_Identity() as ID"; cmd.Parameters.AddWithValue("@fecRes", reserva.fechaReserva); cmd.Parameters.AddWithValue("@estado", reserva.idEstado); cmd.Parameters.AddWithValue("@fecIda", reserva.fechaIda); cmd.Parameters.AddWithValue("@fecVuelta", reserva.fechaVuelta); cmd.Parameters.AddWithValue("@precio", reserva.precioTotal); cmd.Parameters.AddWithValue("@viaje", reserva.idViaje); cmd.Parameters.AddWithValue("@hotel", reserva.idHotel); cmd.Transaction = tran; //agrego el detalle reserva.idReserva = Convert.ToInt32(cmd.ExecuteScalar()); foreach (TuristaEntidad tur in ListaTurista) { tur.idReserva = reserva.idReserva; //Realizo el insert de los telefonos SqlCommand cmdTu = new SqlCommand(); cmdTu.Connection = cn; cmdTu.CommandText = @"Insert into Turista(idReserva, nombre, DNI, apellido,idTipoDocumento,fechaNacimiento) VALUES (@reserva, @nom, @dni, @ape, @tipo, @fecha); Select Scope_Identity() as ID"; cmdTu.Parameters.AddWithValue("@reserva", tur.idReserva); cmdTu.Parameters.AddWithValue("@nom", tur.nombre); cmdTu.Parameters.AddWithValue("@ape", tur.apellido); cmdTu.Parameters.AddWithValue("@tipo", tur.idTipoDocumento); cmdTu.Parameters.AddWithValue("@fecha", tur.fechaNacimiento); cmdTu.Parameters.AddWithValue("@dni", tur.DNI); cmdTu.Transaction = tran; tur.idTurista = Convert.ToInt32(cmdTu.ExecuteScalar()); } tran.Commit(); } catch (SqlException ex) { tran.Rollback(); throw new Exception("Error al guardar reserva. " + ex.Message); } finally { //Cerrar siempre la conexion cn.Close(); } }
/// <summary> /// Saves a record to the Reserva table. /// </summary> public void Insert(ReservaEntidad reserva) { ValidationUtility.ValidateArgument("reserva", reserva); SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@IdPedido", reserva.IdPedido), new SqlParameter("@IdPedidoDetalle", reserva.IdPedidoDetalle), new SqlParameter("@IdSucursal", reserva.IdSucursal), new SqlParameter("@Activo", reserva.Activo), new SqlParameter("@Fecha", reserva.Fecha) }; reserva.IdReserva = (int)SqlClientUtility.ExecuteScalar(SqlClientUtility.connectionStringName, CommandType.StoredProcedure, "ReservaInsert", parameters); }
/// <summary> /// Selects a single record from the Reserva table. /// </summary> public ReservaEntidad Select(int idReserva) { SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@IdReserva", idReserva) }; using (DataTable dt = SqlClientUtility.ExecuteDataTable(SqlClientUtility.connectionStringName, CommandType.StoredProcedure, "ReservaSelect", parameters)) { ReservaEntidad ReservaEntidad = new ReservaEntidad(); // ReservaEntidad = Mapeador.MapearFirst <ReservaEntidad>(dt); return(ReservaEntidad); } }
protected void btn_guardar_Click(object sender, EventArgs e) { if (Page.IsValid) { ReservaEntidad reserva = new ReservaEntidad(); reserva.fechaReserva = DateTime.Parse(txt_fechaReserva.Text); reserva.idEstado = int.Parse(ddl_estado.SelectedValue); reserva.fechaIda = DateTime.Parse(txt_fechaIda.Text); reserva.fechaVuelta = DateTime.Parse(txt_fechaVuelta.Text); reserva.idViaje = int.Parse(ddl_viaje.SelectedValue); reserva.idHotel = int.Parse(ddl_hotel.SelectedValue); reserva.precioTotal = float.Parse(txt_precioTotal.Text); ReservaDao.registrarReserva(reserva, ListaTurista); bloquearDetalle(); Session.RemoveAll(); limpiarReserva(); cargarGrillaTurista(); } }