protected void ReservarHabitacion(Reserva reserva, List <int> Habitaciones) { var userDb = db.Clientes.Find(reserva.Dni); if (userDb == null) { Cliente Cliente = new Cliente(); Cliente.Dni = reserva.Dni; Cliente.Nombre = reserva.Cliente.Nombre; Cliente.ApellidoMaterno = reserva.Cliente.ApellidoMaterno; Cliente.ApellidoPaterno = reserva.Cliente.ApellidoPaterno; Cliente.IdUsuario = User.Identity.GetUserId(); Cliente.CreatedAt = DateTime.Now; db.Clientes.Add(Cliente); db.SaveChanges(); } Reserva Reserva = new Reserva(); //Reserva.Fecha = DateTime.Now; Reserva.Fecha = reserva.Fecha; Reserva.Dni = reserva.Dni; Reserva.createdAt = DateTime.Now; Reserva.Estado = ReservaEstado.RESERVADO.Value; Reserva.Detalles = reserva.Detalles; ICollection <ReservaDetalle> ReservaDetalles = new Collection <ReservaDetalle>(); foreach (var Detalle in Habitaciones) { var ReservaDetalle = new ReservaDetalle(); ReservaDetalle.IdHabitacion = Detalle; ReservaDetalles.Add(ReservaDetalle); Habitacion Habitacion = db.Habitaciones.Find(Detalle); Habitacion.Disponible = false; db.Entry(Habitacion).State = EntityState.Modified; db.SaveChanges(); } Reserva.Detalles = ReservaDetalles; Reserva.IdReserva = Util.Helper.Id(db); db.Reservas.Add(Reserva); db.SaveChanges(); var res = db.Reservas.ToList().LastOrDefault(); ViewBag.Message = "La reserva se registro correctamente, con el Cod. " + res.IdReserva; ModelState.Clear(); }
public static ReservaDetalleDTO DeModeloADTO(ReservaDetalle reservaDetalle) { return(reservaDetalle != null ? new ReservaDetalleDTO { Id = reservaDetalle.Id, IdReserva = reservaDetalle.IdReserva, IdMobiliario = reservaDetalle.IdMobiliario, CantidadReserva = reservaDetalle.CantidadReserva, Estado = reservaDetalle.Estado } : null); }