blob: 7856d9841c252a4eb2c322fbf1ce327f0c9c4ccd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
namespace Aamukampa.Core
open System
module Domain =
// TODO: More precise time: hours, minutes
// TODO: Time until service starts
let getStartDate kontingent =
match serviceStartDates.TryGetValue(kontingent) with
| true, startDate -> Some startDate
| false, _ -> None
let getEndDate kontingent serviceTime =
getStartDate kontingent
|> Option.map (fun startDate ->
ServiceTime.getDays serviceTime
|> fun x -> x - 1 // Count start date as well
|> startDate.AddDays)
let getTimeCompleted kontingent (now : DateTime) =
getStartDate kontingent
|> Option.map (fun date -> now.AddDays(1) - date)
let getTimeLeft kontingent serviceTime (now : DateTime) =
getEndDate kontingent serviceTime
|> Option.map (fun date -> date - now)
|