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();
        }
Exemplo n.º 2
0
 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);
 }