Craig Oates
6 years ago
5 changed files with 62 additions and 15 deletions
@ -0,0 +1,39 @@
|
||||
module Validation |
||||
|
||||
open System.Drawing |
||||
open SmoulderingBeachBall.Domain.DomainTypes |
||||
|
||||
let colourList = |
||||
[ "blue", Brushes.AliceBlue; |
||||
"brown", Brushes.Brown; |
||||
"black", Brushes.Black; |
||||
"gray", Brushes.Gray; |
||||
"green", Brushes.Green; |
||||
"purple", Brushes.Purple; |
||||
"red", Brushes.Red; |
||||
"white", Brushes.White; |
||||
"yellow", Brushes.Yellow;] |
||||
|> Map.ofList |
||||
|
||||
let isColourValid (colour: string) = |
||||
colourList |
||||
|> Map.containsKey (colour.ToLower()) |
||||
|
||||
let parseColour colour = |
||||
match (isColourValid colour) with |
||||
| true -> |
||||
colourList |
||||
|> Map.find (colour.ToLower()) |
||||
| false -> |
||||
invalidArg "Colour" "The colour specifed cannot is invalid." |
||||
// "Please use the ListAvailableColours command for a list"? |
||||
|
||||
let buildBasicSpec iWidth iHeight mainColour path = |
||||
let brush = (parseColour mainColour) |
||||
let spec = |
||||
{ width = iWidth; |
||||
height = iHeight; |
||||
colour = brush |
||||
filePath = path |
||||
overlay = None } |
||||
spec |
Loading…
Reference in new issue