aflightentry.cpp 2.2 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. const QString AFlightEntry::summary()
  14. {
  15. if(tableData.isEmpty())
  16. return QString();
  17. QString flight_summary;
  18. flight_summary.append(tableData.value("doft").toString() + " ");
  19. flight_summary.append(tableData.value("dept").toString() + " ");
  20. flight_summary.append(ACalc::minutesToString(tableData.value("tofb").toString()) + " ");
  21. flight_summary.append(ACalc::minutesToString(tableData.value("tonb").toString()) + " ");
  22. flight_summary.append(tableData.value("dest").toString() + " ");
  23. return flight_summary;
  24. }
  25. const QString AFlightEntry::getRegistration()
  26. {
  27. QString tail_id = tableData.value(QLatin1String("acft")).toString();
  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. const QString AFlightEntry::getPilotName(pilot pilot_)
  41. {
  42. QString row_id;
  43. switch (pilot_) {
  44. case pilot::pic:
  45. row_id = tableData.value(QLatin1String("pic")).toString();
  46. break;
  47. case pilot::sic:
  48. row_id = tableData.value(QLatin1String("sic")).toString();
  49. break;
  50. case pilot::thirdPilot:
  51. row_id = tableData.value(QLatin1String("thirdPilot")).toString();
  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