Advertisement
Koelion

Untitled

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