module Data.Aviation.Casr.Logbook.Meta.BriefingExpense(
BriefingExpense(BriefingExpense)
, HasBriefingExpense(..)
, briefingCost
) where
import Control.Lens(makeClassy, (^.))
import Data.Aviation.Casr.Logbook.Types.Briefing(HasBriefing, briefingTimeAmount)
import Data.Aviation.Casr.Logbook.Types.TimeAmount(timeAmountBy10)
import Data.Eq(Eq)
import Data.Int(Int)
import Data.Ord(Ord)
import Data.String(String)
import Prelude(Show, (*))
data BriefingExpense =
BriefingExpense {
_briefingexpenseperhour :: Int
, _briefingexpensename :: String
} deriving (Eq, Ord, Show)
makeClassy ''BriefingExpense
briefingCost ::
HasBriefing s =>
s
-> BriefingExpense
-> Int
briefingCost br (BriefingExpense perhour _) =
let z = br ^. briefingTimeAmount
in timeAmountBy10 z * perhour