aflightentry.cpp 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #include "aflightentry.h"
  2. #include "src/experimental/adatabase.h"
  3. namespace experimental {
  4. AFlightEntry::AFlightEntry()
  5. : AEntry::AEntry(DEFAULT_FLIGHT_POSITION)
  6. {}
  7. AFlightEntry::AFlightEntry(int row_id)
  8. : AEntry::AEntry(DataPosition("flights", row_id))
  9. {}
  10. AFlightEntry::AFlightEntry(TableData table_data)
  11. : AEntry::AEntry(DEFAULT_FLIGHT_POSITION, table_data)
  12. {}
  13. QString AFlightEntry::summary()
  14. {
  15. if(tableData.isEmpty())
  16. return QString();
  17. QString flight_summary;
  18. flight_summary.append(tableData.value("doft") + " ");
  19. flight_summary.append(tableData.value("dept") + " ");
  20. flight_summary.append(ACalc::minutesToString(tableData.value("tofb")) + " ");
  21. flight_summary.append(ACalc::minutesToString(tableData.value("tonb")) + " ");
  22. flight_summary.append(tableData.value("dest") + " ");
  23. return flight_summary;
  24. }
  25. QString AFlightEntry::registration()
  26. {
  27. QString tail_id = tableData.value("acft");
  28. if(tail_id.isEmpty())
  29. return QString();
  30. QString statement = "SELECT registration "
  31. "FROM tails "
  32. "WHERE ROWID =" + tail_id;
  33. auto tail_registration = aDB()->customQuery(statement, 1);
  34. if(tail_registration.isEmpty()) {
  35. return QString();
  36. } else {
  37. return tail_registration.first();
  38. }
  39. }
  40. QString AFlightEntry::pilotName(pilot pilot_)
  41. {
  42. QString row_id;
  43. switch (pilot_) {
  44. case pilot::pic:
  45. row_id = tableData.value("pic");
  46. break;
  47. case pilot::sic:
  48. row_id = tableData.value("sic");
  49. break;
  50. case pilot::thirdPilot:
  51. row_id = tableData.value("thirdPilot");
  52. break;
  53. }
  54. if(row_id == QString())
  55. return row_id;
  56. QString statement = "SELECT piclastname||\", \"||picfirstname "
  57. "FROM pilots "
  58. "WHERE ROWID =" + row_id;
  59. auto pilot_name = aDB()->customQuery(statement, 1);
  60. if(pilot_name.isEmpty()) {
  61. return QString();
  62. } else {
  63. return pilot_name.first();
  64. }
  65. }
  66. } // namespace experimental