31 lines
803 B
Haskell
31 lines
803 B
Haskell
{-# LANGUAGE NamedFieldPuns #-}
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
module ModelData where
|
|
|
|
import Database.Persist.TH
|
|
|
|
|
|
data SheetType = Regular | Bonus | Extra
|
|
deriving (Show, Read, Eq, Ord, Enum, Bounded)
|
|
derivePersistField "SheetType"
|
|
|
|
data ExamStatus = Attended | NoShow | Voided
|
|
deriving (Show, Read, Eq, Ord, Enum, Bounded)
|
|
derivePersistField "ExamStatus"
|
|
|
|
{- Modelled in DB
|
|
data Season = WS | SO
|
|
deriving (Show, Read, Eq, Enum)
|
|
derivePersistField "Season"
|
|
|
|
data Term = Term { season:: Season, year :: Int }
|
|
|
|
instance Show Term where
|
|
show (Term {season, year}) = take 1 (show season) ++ (show year)
|
|
|
|
instance PersistField Term where
|
|
toPersistValue (Term {season, year}) = undefined
|
|
fromPersistValue (Term {season, year}) = undefined
|
|
sqlType _ = SqlInteger
|
|
isNullable _ = False
|
|
-} |