[x] Form statuses are now enums (this affected a large number of the files, but were small changes)
[x] Form.IncludeInPacketSubmission removed because "NotIncluded" is a Status
[x] ReasonNotIncluded removed because it was a duplicate of ReasonCodeNotIncluded
[x] Base FormModel view model includes baseline Validation for a form. So, any form inheriting automatically gets validation for basic things (see below)
[x] A lot of cleanup and simplification taking advantage of inheritance and removal of duplicated code
[x] We'll use visit data a lot in form model validation so, the Visit Context is given to all base forms during Validate()
Baseline Validation on a form
[x] Form status of "NotStarted" displays for any new form, but cannot be saved with this status selected
[x] A form can always be saved in "In Progress" status. Validation is not ran.
[x] A form can be attempted to be saved in "Complete" status. Validation is ran and error messages are returned if validation doesn't pass.
[x] A form can only be saved as "NotIncluded" status if the form is optional and if a ReasonCode is provided. If a reason code is not provided then the form should display an error message. If the reason code is provided then the form should save.
UI goodies
[x] Visit details and sidebar navigation to forms now display different colors to represent statuses.
[x] Form footer has nicer layout and included inputs required for completion
[x] Form titles moved to form layout to clean up form views
[x] Layout included more meta data information (who created it, visit date, etc.)
Fixes #5
A lot of foundational code changes
Form.IncludeInPacketSubmission
removed because "NotIncluded" is a StatusReasonNotIncluded
removed because it was a duplicate ofReasonCodeNotIncluded
FormModel
view model includes baseline Validation for a form. So, any form inheriting automatically gets validation for basic things (see below)Baseline Validation on a form
ReasonCode
is provided. If a reason code is not provided then the form should display an error message. If the reason code is provided then the form should save.UI goodies