module Data.Aviation.Casr.Logbook.Entry ( Entry(..) , flight , exam ) where import Data.Aviation.Casr.Logbook.Aircraft import Data.Aviation.Casr.Logbook.ARN import Data.Aviation.Casr.Logbook.Date import Data.Aviation.Casr.Logbook.DayNight import Data.Aviation.Casr.Logbook.ExamEntry import Data.Aviation.Casr.Logbook.FlightEntry import Data.Aviation.Casr.Logbook.FlightPath import Data.Aviation.Casr.Logbook.Hours import Data.Aviation.Casr.Logbook.Images import Data.Aviation.Casr.Logbook.PiC import Data.Aviation.Casr.Logbook.PoB import Data.Aviation.Casr.Logbook.Printer.Markdown import Data.Aviation.Casr.Logbook.Printer.Html import Data.Aviation.Casr.Logbook.Sequence import Data.Aviation.Casr.Logbook.TrackLogs import Data.Aviation.Casr.Logbook.Videos import Data.Aviation.Casr.Logbook.Visualisations data Entry = EntryExam ExamEntry | EntryFlight FlightEntry deriving (Eq, Ord, Show) instance Markdown Entry where markdown (EntryExam e) = markdown e markdown (EntryFlight f) = markdown f instance Html Entry where html (EntryExam e) = html e html (EntryFlight f) = html f flight :: Sequence -> Date -> Aircraft -> Hours -> PoB -> FlightPath -> DayNight -> PiC -> TrackLogs -> Visualisations -> Images -> Videos -> Entry flight sequ date aircraft hours pob flightpath daynight pic tracklogs visualisations images videos = EntryFlight (FlightEntry sequ date aircraft hours pob flightpath daynight pic tracklogs visualisations images videos) exam :: Date -> String -> String -> String -> ARN -> Int -> Int -> Entry exam d n dn dr da r m = EntryExam (ExamEntry d n dn dr da r m)