public void DeleteFlightTest() { FlightRepository.Delete(new Flight(id)); Entity flight = FlightRepository.Find(id); Assert.That(flight, Is.Null); }
public void Flight_FindById() { FlightRepository repository = new FlightRepository(dbConnectionString); var flight = repository.Find(1); Assert.IsNotNull(flight); Assert.AreEqual("FL001", flight.Number); Assert.AreEqual(6, flight.PassengerCapacity); }
public void UpdateFlightTest() { testflight.loc_arrival.Id = 6; testflight.Id = id; FlightRepository.Update(testflight); Flight flight = (Flight)FlightRepository.Find(id); Assert.True(flight.loc_arrival.Id == 6); }
public void FindFlightTest() { Entity flight = FlightRepository.Find(id); Assert.That(flight, Is.Not.Null); }
public IActionResult Book([FromBody] Booking bookingRequest) { if (!(bookingRequest.PassengerCount > 0)) { return(BadRequest("At least 1 passenger is required.")); } Flight flight = flightRepository.Find(bookingRequest.FlightId); if (flight == null || flight.PassengerCapacity <= 0) { return(BadRequest("Invalid Flight.")); } Passenger passenger = passengerRepository.Find(bookingRequest.PassengerId); if (passenger == null || string.IsNullOrWhiteSpace(passenger.IdentityNumber)) { return(BadRequest("Invalid Passenger.")); } if (bookingRequest.PassengerCount > flight.PassengerCapacity) { return(BadRequest("Passenger Capacity exceeded.")); } Booking booking = bookingRepository.Find(bookingRequest.TravelDate, bookingRequest.FlightId, bookingRequest.PassengerId); if (booking != null && booking.PassengerCount > 0) { return(BadRequest("Flight already booked for the same travel day by the same passenger.")); } else { // Valid booking request, so proceed. bookingRepository.Add(bookingRequest); } FlightBooking flightBooking = flightBookingRepository.Find(bookingRequest.FlightId, bookingRequest.TravelDate); if (flightBooking != null && flightBooking.FlightBookingId > 0) { var currentPassengerCount = flightBooking.PassengerCount; if ((currentPassengerCount + bookingRequest.PassengerCount) > flight.PassengerCapacity) { return(BadRequest("Passenger Capacity exceeded.")); } else { // Valid passenger count. flightBooking.PassengerCount = (short)(currentPassengerCount + bookingRequest.PassengerCount); flightBookingRepository.Update(flightBooking); } } if (flightBooking == null || flightBooking.FlightBookingId <= 0) { flightBooking = new FlightBooking { TravelDate = bookingRequest.TravelDate, FlightId = bookingRequest.FlightId, PassengerCount = bookingRequest.PassengerCount }; // Valid booking request, so proceed. flightBookingRepository.Add(flightBooking); } return(Ok("Flight Booked.")); }