public void BookFlightForNewPassenger_ShouldNotBookedFlight() { // Arrange var booking = new BookingFlightModel { BookNumber = "WO-171576", FlightNumber = "PZ69", // this flight does not exist Customer = new PassengerModel { Name = "Uladislau Pavlowski", DateBirth = DateTime.Parse("1998-11-27T00:00:00"), Gender = GenderType.Male, Address = "fake town", Email = "*****@*****.**" }, Passengers = new[] { new PassengerModel { Name = "Uladislau Pavlowski", DateBirth = DateTime.Parse("1998-11-27T00:00:00"), Gender = GenderType.Male, Address = "fake town", Email = "*****@*****.**" } } }; // Act var result = _passengersService.BookFlight(booking); // Assert Assert.Null(result); }
public void BookFlightForNewPassenger_ShouldBookedFlight() { // Arrange var booking = new BookingFlightModel { BookNumber = "WO-171576", FlightNumber = "PZ696", Customer = new PassengerModel { Name = "Uladislau Pavlowski", DateBirth = DateTime.Parse("1998-11-27T00:00:00"), Gender = GenderType.Male, Address = "fake town", Email = "*****@*****.**" }, Passengers = new[] { new PassengerModel { Name = "Uladislau Pavlowski", DateBirth = DateTime.Parse("1998-11-27T00:00:00"), Gender = GenderType.Male, Address = "fake town", Email = "*****@*****.**" } } }; // Act var result = _passengersService.BookFlight(booking); // Assert Assert.Contains(result, _mockBookingRepository.Object.GetAll().ToList()); }
/// <summary> /// Get package information asynchromusly /// </summary> /// <param name="data">Package indentifer</param> /// <returns>Deal package model</returns> public async Task <int> UpdateBookingFlightInformation(BookingFlightModel data) { try { await this.bookingFlightRepository.UpdateAsync(data); return(data.Id); } catch (Exception ex) { string msg = ex.ToString(); return(0); } }
public Booking BookFlight(BookingFlightModel model) { var flight = _flightRepository.GetAll() .SingleOrDefault(f => f.Number == model.FlightNumber); if (flight == null) { return(null); } var customer = new Person { Id = new Random().Next(0, 10000), Name = model.Customer.Name, Address = model.Customer.Address, Email = model.Customer.Email, DateBirth = model.Customer.DateBirth, Gender = model.Customer.Gender }; var passengers = model.Passengers.Select(passenger => new Person { Id = new Random().Next(0, 10000), Name = passenger.Name, Address = passenger.Address, Email = passenger.Email, DateBirth = passenger.DateBirth, Gender = passenger.Gender }) .ToList(); var booking = new Booking { Id = new Random().Next(0, 10000), Number = model.BookNumber, Flight = flight, Customer = customer, Passengers = passengers, DateBooking = DateTime.Parse( DateTime.Now.ToLongTimeString(), new CultureInfo("nl-NL")) }; _bookingRepository.Save(booking); return(booking); }
public ActionResult <Booking> BookFlight([FromBody] BookingFlightModel model) { if (!ModelState.IsValid) { var errorMessage = "Model is not valid"; _logger.LogError(errorMessage, HttpContext.Request.Path); return(BadRequest(new { ErrorMessage = errorMessage })); } var newBooking = _passengersService.BookFlight(model); if (newBooking == null) { var errorMessage = $"Flight № {model.FlightNumber} does not exist"; _logger.LogError(errorMessage, HttpContext.Request.Path); return(BadRequest(new { ErrorMessage = errorMessage })); } return(CreatedAtAction(nameof(BookFlight), new { id = newBooking.Id }, newBooking)); }