public bool registrarReserva(DateTime fechaIngreso, DateTime fechaSalida, Int32 idTipoPago, Decimal monto, Int32 idAmbiente, List <HuespedBE> lstHuespedBE) { using (HospedajeEntities entity = new HospedajeEntities()) { try { Reserva reserva = new Reserva() { fechaIngreso = fechaIngreso, fechaSalida = fechaSalida, idTipoPago = idTipoPago, monto = monto, estado = true }; entity.Reserva.Add(reserva); entity.SaveChanges(); ReservaDetalle reservaDetalle = new ReservaDetalle() { idReserva = reserva.id, idAmbiente = idAmbiente, estado = true }; entity.ReservaDetalle.Add(reservaDetalle); entity.SaveChanges(); return(true); } catch (Exception ex) { throw ex; } } }
public Boolean registrarReserva(List <HuespedBE> lstHuespedBE, List <AmbienteBE> lstAmbienteBE, DateTime fechaInicio, DateTime fechaSalida, Int32 idTipoPago, Decimal monto) { using (HospedajeEntities entity = new HospedajeEntities()) { using (var dbTransaction = entity.Database.BeginTransaction()) { try { Reserva reserva = new Reserva() { fechaIngreso = fechaInicio, fechaSalida = fechaSalida, idTipoPago = idTipoPago, monto = monto, estado = true }; entity.Reserva.Add(reserva); entity.SaveChanges(); for (int i = 0; i < lstAmbienteBE.Count; i++) { ReservaDetalle reservaDetalle = new ReservaDetalle() { idReserva = reserva.id, idAmbiente = lstAmbienteBE[i].IdAmbiente, estado = true }; entity.ReservaDetalle.Add(reservaDetalle); entity.SaveChanges(); } for (int i = 0; i < lstHuespedBE.Count; i++) { ReservaHuesped reservaHuesped = new ReservaHuesped() { idReserva = reserva.id, idHuesped = lstHuespedBE[i].Id, estado = true }; entity.ReservaHuesped.Add(reservaHuesped); entity.SaveChanges(); } dbTransaction.Commit(); return(true); } catch (Exception ex) { dbTransaction.Rollback(); return(false); throw ex; } } } }