[Racket] Ferti hydroponic nutrient solver, redux.
Realign create-* model accessors.
Creating a model entity must return the newly created entity.
Changed files
models/crop-requirement.rkt
@@ -50,7 +50,6 @@
50
50
51
51
;; CREATE
52
52
53
Removed:
54
53
(define (create-crop-requirement! profile nutrient-values [crop #f])
55
54
(define existing-crop-requirement (get-crop-requirement #:profile profile))
56
55
(define (new-crop-requirement)
models/crop.rkt
@@ -29,9 +29,13 @@
29
29
;; CREATE
30
30
31
31
(define (create-crop! name)
32
Removed:
(query-exec (current-conn)
33
Removed:
(insert #:into crops
34
Removed:
#:set [canonical_name ,name])))
32
Added:
(define existing-crop (get-crop #:name name))
33
Added:
(define (new-crop)
34
Added:
(query-exec (current-conn)
35
Added:
(insert #:into crops
36
Added:
#:set [canonical_name ,name])))
37
Added:
(or existing-crop
38
Added:
(new-crop)))
35
39
36
40
37
41
;; READ
models/fertilizer-product.rkt
@@ -43,7 +43,6 @@
43
43
44
44
;; CREATE
45
45
46
Removed:
47
46
(define (create-fertilizer-product! canonical-name nutrient-values [brand-name #f])
48
47
(define existing-fertilizer-product (get-fertilizer-product #:canonical-name canonical-name))
49
48
(define (new-fertilizer-product)
models/nutrient.rkt
@@ -31,9 +31,13 @@
31
31
;; CREATE
32
32
33
33
(define (create-nutrient! name formula)
34
Removed:
(query-exec (current-conn)
35
Removed:
(insert #:into nutrients
36
Removed:
#:set [canonical_name ,name] [formula ,formula])))
34
Added:
(define existing-nutrient (get-nutrient #:name name #:formula formula))
35
Added:
(define (new-nutrient)
36
Added:
(query-exec (current-conn)
37
Added:
(insert #:into nutrients
38
Added:
#:set [canonical_name ,name] [formula ,formula])))
39
Added:
(or existing-nutrient
40
Added:
(new-nutrient)))
37
41
38
42
39
43
;; READ