public IHttpActionResult Make([FromUri] MakeReservationModel reservationModel)
        {
            MakeReservationTicketSummary summary = newTicket.Make(new ReservationTicketCreation(reservationModel.ProjId,
                                                                                                reservationModel.SeatRow, reservationModel.SeatCol));

            if (summary.isValid)
            {
                return(Ok(summary.Reservation));
            }

            return(BadRequest(summary.Message));
        }
Esempio n. 2
0
        public Guid MakeReservation(MakeReservationModel model)
        {
            using (var tran = db.Database.BeginTransaction())
            {
                try
                {
                    var reservation = new Reservation()
                    {
                        ReservationDate = model.ReservationDate,
                        CheckOutDate    = model.CheckOutDate,
                        RoomId          = model.RoomId
                    };
                    db.Reservations.Add(reservation);
                    db.SaveChanges();

                    foreach (var registerViewModel in model.RegisterViewModels)
                    {
                        db.ReservationDetails.Add(new ReservationDetail()
                        {
                            FirstName       = registerViewModel.FirstName,
                            LastName        = registerViewModel.Surname,
                            ReservationId   = reservation.Id,
                            TelephoneNumber = registerViewModel.Telephone
                        });

                        db.SaveChanges();
                    }

                    //Odanın boş olup olmadığını göstermek için.
                    var room = db.Rooms.Find(model.RoomId);
                    room.IsEmpty = false;
                    db.SaveChanges();


                    tran.Commit();
                    return(reservation.Id);
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    throw ex;
                }
            }
        }