public string BookTicket(BookingDetailRequest bookingDetail) { try { var bookingProvider = new BookingDataProvider(); var bookingId = bookingProvider.InsertBookingDetails(bookingDetail); return(bookingId); } catch (Exception) { return(""); } }
public List <FlightSeatInfo> RetrieveOccupiedSeatsMatrixFromFlightId(Guid flightId) { try { var bookingProvider = new BookingDataProvider(); var occupiedSeats = bookingProvider.GetOccupiedSeatsFromFlightId(flightId); var flightProvider = new FlightDataProvider(); var flightInfo = flightProvider.GetFlightAndPlaneDetailsByFlightId(flightId); if (flightInfo == null || occupiedSeats == null) { return(new List <FlightSeatInfo>()); } var seatInfos = new List <FlightSeatInfo>(); var firstClassSeatInfo = new FlightSeatInfo { SeatClass = SeatClass.FirstClass, SeatMatrix = new List <List <int> >() }; for (int i = 0; i < flightInfo.NoRow_FirstClass; i++) { firstClassSeatInfo.SeatMatrix.Add(new List <int>()); for (int j = 0; j < flightInfo.NoCol_FirstClass; j++) { firstClassSeatInfo.SeatMatrix[i].Add(0); } } seatInfos.Add(firstClassSeatInfo); var economyClassSeatInfo = new FlightSeatInfo { SeatClass = SeatClass.Economy, SeatMatrix = new List <List <int> >() }; for (int i = 0; i < flightInfo.NoRow_EcoClass; i++) { economyClassSeatInfo.SeatMatrix.Add(new List <int>()); for (int j = 0; j < flightInfo.NoCol_EcoClass; j++) { economyClassSeatInfo.SeatMatrix[i].Add(0); } } seatInfos.Add(economyClassSeatInfo); foreach (SeatPositionDao seat in occupiedSeats) { //First Class seat if (seat.Class == SeatClass.FirstClass && seat.SeatRow < flightInfo.NoRow_FirstClass && seat.SeatCol < flightInfo.NoCol_FirstClass) { var firstClassSeatMatrix = seatInfos.Where(s => s.SeatClass == SeatClass.FirstClass).FirstOrDefault(); if (firstClassSeatMatrix != null) { firstClassSeatMatrix.SeatMatrix[seat.SeatRow][seat.SeatCol] = 1; } } else if (seat.Class == SeatClass.Economy && seat.SeatRow < flightInfo.NoRow_EcoClass && seat.SeatCol < flightInfo.NoCol_EcoClass) { //Economy Class seat var economyClassSeatMatrix = seatInfos.Where(s => s.SeatClass == SeatClass.Economy).FirstOrDefault(); if (economyClassSeatMatrix != null) { economyClassSeatMatrix.SeatMatrix[seat.SeatRow][seat.SeatCol] = 1; } } } return(seatInfos); } catch (Exception) { return(null); } }