Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static BoardingPass GetBoardingPass(string json, BoardingPassAdditionalInfo boardingPassAdditionalInfo)
- {
- dynamic d = JObject.Parse(json);
- var segment = d.tripDetails.segments[0];
- BoardingPass boardingPass = new BoardingPass()
- {
- FirstName = d.bookingFirstName,
- LastName = d.bookingLastName,
- BookingNumber = d.tripId,
- DocumentType = "PASSPORT",
- DocumentNo = boardingPassAdditionalInfo.DocumentNo,
- DocumentExpirationDate = boardingPassAdditionalInfo.DocumentExpirationDate,
- Uuid = boardingPassAdditionalInfo.Uuid,
- SourceAirport = GetAirport(segment.fromLocation),
- DestinationAirport = GetAirport(segment.toLocation),
- Airline = new AirlineModel() { Code = segment.flight.airlineCode },
- BirthDate = boardingPassAdditionalInfo.BirthDate,
- Gate = segment.departureGate,
- Seat = segment.travellers[0].seat
- };
- boardingPass.DepartureDate = GetDate(Convert.ToString(segment.startDate.utcTimestampMillis));
- boardingPass.ArrivalDate = GetDate(Convert.ToString(segment.endDate.utcTimestampMillis));
- return boardingPass;
- }
- private static AirportModel GetAirport(dynamic airport)
- {
- return new AirportModel
- {
- Code = airport.code,
- Country = airport.countryName,
- Latitude = airport.latitude,
- Longitude = airport.longitude,
- City = airport.cityName,
- Name = airport.name
- };
- }
- private static DateTime? GetDate(string startDate)
- {
- long miliseconds;
- if (long.TryParse(startDate, out miliseconds))
- {
- if (miliseconds > 0)
- {
- return DateTimeOffset.FromUnixTimeMilliseconds(miliseconds).UtcDateTime;
- }
- }
- return null;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement