Advertisement
Koelion

Untitled

Oct 31st, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. public static BoardingPass GetBoardingPass(string json, BoardingPassAdditionalInfo boardingPassAdditionalInfo)
  2. {
  3. dynamic d = JObject.Parse(json);
  4. var segment = d.tripDetails.segments[0];
  5. BoardingPass boardingPass = new BoardingPass()
  6. {
  7. FirstName = d.bookingFirstName,
  8. LastName = d.bookingLastName,
  9. BookingNumber = d.tripId,
  10. DocumentType = "PASSPORT",
  11. DocumentNo = boardingPassAdditionalInfo.DocumentNo,
  12. DocumentExpirationDate = boardingPassAdditionalInfo.DocumentExpirationDate,
  13. Uuid = boardingPassAdditionalInfo.Uuid,
  14. SourceAirport = GetAirport(segment.fromLocation),
  15. DestinationAirport = GetAirport(segment.toLocation),
  16. Airline = new AirlineModel() { Code = segment.flight.airlineCode },
  17. BirthDate = boardingPassAdditionalInfo.BirthDate,
  18. Gate = segment.departureGate,
  19. Seat = segment.travellers[0].seat
  20. };
  21.  
  22. boardingPass.DepartureDate = GetDate(Convert.ToString(segment.startDate.utcTimestampMillis));
  23. boardingPass.ArrivalDate = GetDate(Convert.ToString(segment.endDate.utcTimestampMillis));
  24.  
  25.  
  26. return boardingPass;
  27. }
  28.  
  29. private static AirportModel GetAirport(dynamic airport)
  30. {
  31. return new AirportModel
  32. {
  33. Code = airport.code,
  34. Country = airport.countryName,
  35. Latitude = airport.latitude,
  36. Longitude = airport.longitude,
  37. City = airport.cityName,
  38. Name = airport.name
  39. };
  40. }
  41.  
  42. private static DateTime? GetDate(string startDate)
  43. {
  44. long miliseconds;
  45. if (long.TryParse(startDate, out miliseconds))
  46. {
  47. if (miliseconds > 0)
  48. {
  49. return DateTimeOffset.FromUnixTimeMilliseconds(miliseconds).UtcDateTime;
  50. }
  51. }
  52.  
  53. return null;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement