crewlist_leg.dart 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import 'package:collection/collection.dart';
  2. import 'package:jiffy/jiffy.dart';
  3. class CrewlistLeg {
  4. List data;
  5. int get order => int.parse(data[0]);
  6. String get al => data[1].split(" ")[0];
  7. String get fnum => data[1].split(" ")[1];
  8. String get datedep => data[2]; //ddMMMyy
  9. Jiffy get jdate => Jiffy.parse(datedep, pattern: "ddMMMyy", isUtc: true);
  10. String get date => jdate.format(pattern: "yyyy-MM-dd");
  11. String get dep => data[3];
  12. String get hdep => data[4];
  13. Jiffy get jdep =>
  14. Jiffy.parse("$datedep ${hdep[0]}${hdep[1]}:${hdep[2]}${hdep[3]}",
  15. pattern: "ddMMMyy HH:mm", isUtc: true);
  16. String get hdes => data[5];
  17. String get des => data[6];
  18. Jiffy get jdes =>
  19. Jiffy.parse("$datedep ${hdes[0]}${hdes[1]}:${hdes[2]}${hdep[3]}",
  20. pattern: "ddMMMyy HH:mm", isUtc: true)
  21. .add(days: hdep.compareTo(hdes) <= 0 ? 0 : 1);
  22. String get crew => data[7];
  23. List<String> get cockpit => (crew.split("|")[0].split(","))
  24. .map((e) => e.trim())
  25. .whereNot((e) => e == "")
  26. .toList();
  27. List<String> get cabin => (crew.split("|")[1].split(","))
  28. .map((e) => e.trim())
  29. .whereNot((e) => e == "")
  30. .toList();
  31. List<String> get dh => (crew.split("|")[2].split(","))
  32. .map((e) => e.trim())
  33. .whereNot((e) => e == "")
  34. .toList();
  35. List<Crew>? get crewlist =>
  36. details ? (data[8]!).map<Crew>((x) => Crew(x)).toList() : null;
  37. bool get details => data.length >= 9;
  38. CrewlistLeg(this.data);
  39. }
  40. class Crew {
  41. List data;
  42. Crew(this.data);
  43. String get tlc => data[0];
  44. String get position => data[1];
  45. String get senior => data[2];
  46. String get base => data[3];
  47. String get name => data[5];
  48. }