Пример #1
0
        public string UpdateBookingStatus(int id, BookingStatus bookingStatus)
        {
            try
            {
                Database.Booking booking = _dbContext.Bookings.SingleOrDefault(b => b.Id == id);
                if (booking == null)
                {
                    return(null);
                }

                if (booking.Status == (byte)BookingStatus.Deleted)
                {
                    return(null);
                }

                booking.Status = (byte)bookingStatus;
                _dbContext.Entry(booking).State = EntityState.Modified;
                _dbContext.SaveChanges();
            }
            catch (Exception exception)
            {
                return(exception.Message);
            }

            return("Booking Status Updated.");
        }
Пример #2
0
        public string UpdateBooking(int bookingId, DateTime updatedDate)
        {
            try
            {
                Database.Booking booking = _dbContext.Bookings.SingleOrDefault(b => b.Id == bookingId);
                if (booking == null)
                {
                    return($"No booking found for id: { bookingId}");
                }

                if (booking.Status == (byte)BookingStatus.Deleted)
                {
                    return("This booking is already deleted.");
                }

                int bookingCount = _dbContext.Bookings.Where(b => b.Id == bookingId && b.BookingDate == updatedDate && b.Status != (byte)BookingStatus.Deleted).Count();

                if (bookingCount != 0)
                {
                    return("The room is already booked on the specified date.");
                }

                booking.BookingDate             = updatedDate;
                _dbContext.Entry(booking).State = EntityState.Modified;
                _dbContext.SaveChanges();
            }
            catch (Exception exception)
            {
                return(exception.Message);
            }

            return("Booking Updated.");
        }
Пример #3
0
        public override IAnswer execute()
        {
            Database.FlightRequest fr = new Database.FlightRequest ();
            Database.PassengerRequest pr = new Database.PassengerRequest ();
            Database.SeatRequest sr = new Database.SeatRequest ();
            Database.ClassRequest cr = new Database.ClassRequest ();
            Database.AirplaneRequest ar = new Database.AirplaneRequest ();

            List<Database.Class> classes = cr.fetchClassFromName (this.Booking.Seat.SeatClass.Name);
            if (classes.Count != 1) {
                return new AnswerAdd ("No (unique) class found with name " + this.Booking.Seat.SeatClass.Name);
            }
            int classID = classes [0].ID;

            List<Database.Flight> flights = fr.fetchFlightFromCodeAndStartDate (code: this.Booking.Flight.Template.Code, startDate: this.Booking.Flight.StartDate);
            if (flights.Count != 1) {
                return new AnswerAdd("No (unique) flight found with code " + this.Booking.Flight.Template.Code + " at " + this.Booking.Flight.StartDate);
            }
            Database.Flight flight = flights[0];
            int flightID = flight.ID;

            List<Database.Airplane> airplanes = ar.fetchFromID (flight.airplane);
            int airplaneID = airplanes[0].ID;

            List<Database.Seat> seats = sr.fetchSeatFromClassNumberAndAirplane (class_: classID, number: this.Booking.Seat.Number, airplane: airplaneID);
            if (seats.Count != 1) {
                return new AnswerAdd ("No (unique) seat found with number " + this.Booking.Seat.Number + " from class " + this.Booking.Seat.SeatClass.Name);
            }
            int seatID = seats [0].ID;

            List<Database.Passenger> passengers = pr.fetchPassengerFromName (this.Booking.Passenger.Name);
            if (passengers.Count != 1) {
                return new AnswerAdd ("No (unique) passenger found with name " + this.Booking.Passenger.Name);
            }
            int passengerID = passengers [0].ID;

            Database.Booking booking = new Database.Booking (flight: flightID, passenger: passengerID, seat: seatID);
            AnswerAdd aa = new AnswerAdd ();

            try {
                booking.insert();
            } catch (Exception e) {
                aa = new AnswerAdd(e.Message);
            }

            return aa;
        }
Пример #4
0
        public string DeleteBooking(int id)
        {
            try
            {
                Database.Booking dbBooking = _dbContext.Bookings.SingleOrDefault(b => b.Id == id);
                if (dbBooking == null)
                {
                    return(null);
                }
                dbBooking.Status = (byte)Database.Booking.BookingStatus.Deleted;
                _dbContext.Entry(dbBooking).State = EntityState.Modified;
                _dbContext.SaveChanges();
            }
            catch (Exception exception)
            {
                return(exception.Message);
            }

            return("Success");
        }
Пример #5
0
        public string BookRoom(short roomId, DateTime bookingDate)
        {
            var isValidRoomId = _dbContext.Rooms.Where(b => b.Id == roomId).Single();

            //check if the room is already booked or not
            int bookingCount = _dbContext.Bookings.Where(b => b.RoomId == roomId && b.BookingDate == bookingDate && b.Status != (byte)BookingStatus.Deleted).Count();

            if (bookingCount != 0)
            {
                return("Room is already booked on " + bookingDate);
            }

            Database.Booking booking = new Database.Booking();
            booking.RoomId      = roomId;
            booking.BookingDate = bookingDate;
            booking.Status      = (byte)Database.Booking.BookingStatus.Optional;

            _dbContext.Bookings.Add(booking);
            _dbContext.SaveChanges();
            return($"Room Booked Successfully.\nYour Booking ID is: {booking.Id}");
        }
Пример #6
0
 public string CreateBooking(Booking model)
 {
     try
     {
         if (model != null)
         {
             Database.Booking entity = new Database.Booking();
             var config = new MapperConfiguration(cfg => cfg.CreateMap <Booking, Database.Booking>());
             var Mapper = new Mapper(config);
             entity             = Mapper.Map <Database.Booking>(model);
             entity.BookingDate = DateTime.Parse(entity.BookingDate.ToString());
             _dbContext.Bookings.Add(entity);
             _dbContext.SaveChanges();
             return("Successfully Added!");
         }
         return("Model Is Null!");
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
        public string BookRoom(Booking booking)
        {
            var a = _dbContext.Bookings.ToList();

            if (a.Count() != 0)
            {
                return("Room is booked");
            }
            if (booking != null)
            {
                Database.Booking entity = new Database.Booking();

                entity.RoomId          = booking.RoomId;
                entity.StautsOfBooking = "Optional";
                entity.BookingDate     = DateTime.Now;

                _dbContext.Bookings.Add(entity);
                _dbContext.SaveChanges();
                return("Added succeffuly");
            }
            return("Model is null");
        }
Пример #8
0
        // POST Booked the room of hotel for particular date

        public string Book(Models.Booking booking)
        {
            Database.Booking model = new Database.Booking();
            model.BookingDate   = booking.BookingDate;
            model.bookingStatus = booking.bookingStatus;
            model.roomID        = booking.roomID;
            if (context.Bookings.Any(x => x.roomID == model.roomID))
            {
                if (context.Bookings.Any(x => x.roomID == model.roomID && x.BookingDate == model.BookingDate && x.bookingStatus == "definitive "))
                {
                    return("Room is alrady booked");
                }
                else
                {
                    var result = context.Bookings.Add(model);
                    context.SaveChanges();
                    return("Your room booked successfully");
                }
            }
            else
            {
                return("none");
            }
        }
Пример #9
0
 public Booking GetBooking(int id)
 {
     Database.Booking booking = _dbContext.Bookings.Find(id);
     return(_mapper.Map <Booking>(booking));
 }