module Data.Aviation.Casr.Logbook.Meta.SimulatorFlightExpense(
SimulatorFlightExpense(SimulatorFlightExpense)
, HasSimulatorFlightExpense(..)
, simulatorFlightCost
) where
import Control.Lens(makeClassy, (^.))
import Data.Aviation.Casr.Logbook.Types.SimulatorFlight(HasSimulatorFlight, instrumentsimulatorTime)
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 SimulatorFlightExpense =
SimulatorFlightExpense {
_simulatorflightexpenseperhour :: Int
, _simulatorflightexpensename :: String
} deriving (Eq, Ord, Show)
makeClassy ''SimulatorFlightExpense
simulatorFlightCost ::
HasSimulatorFlight s =>
s
-> SimulatorFlightExpense
-> Int
simulatorFlightCost sf (SimulatorFlightExpense perhour _) =
let z = sf ^. instrumentsimulatorTime
in timeAmountBy10 z * perhour