module Data.Aviation.Casr.Logbook.Meta.AircraftUsageExpense(
AircraftUsageExpense(AircraftUsageExpense)
, HasAircraftUsageExpense(..)
, aircraftUsageCost
) where
import Control.Lens(makeClassy, (^.))
import Data.Aviation.Casr.Logbook.Types.AircraftFlight(HasAircraftFlight, daynight)
import Data.Aviation.Casr.Logbook.Types.TimeAmount(timeAmountBy10)
import Data.Aviation.Casr.Logbook.Types.DayNight(totalDayNight)
import Data.Eq(Eq)
import Data.Int(Int)
import Data.Ord(Ord)
import Data.String(String)
import Prelude(Show, (*))
data AircraftUsageExpense =
AircraftUsageExpense {
_aircraftusageexpenseperhour :: Int
, _aircraftusageexpensename :: String
} deriving (Eq, Ord, Show)
makeClassy ''AircraftUsageExpense
aircraftUsageCost ::
HasAircraftFlight s =>
s
-> AircraftUsageExpense
-> Int
aircraftUsageCost fl (AircraftUsageExpense perhour _) =
let z = totalDayNight (fl ^. daynight)
in timeAmountBy10 z * perhour