From 7b3b075021c4d6cde65e1fa7822091d33ff9b215 Mon Sep 17 00:00:00 2001 From: Oddvocado <96854090+Oddvocado@users.noreply.github.com> Date: Thu, 31 Aug 2023 16:10:35 -0400 Subject: [PATCH] Implements UIBehavior in A2 form --- src/UDS.Net.Forms/Pages/UDS3/A2.cshtml | 32 +++---- src/UDS.Net.Forms/Pages/UDS3/A2.cshtml.cs | 110 +++++++++++++++++++++- 2 files changed, 125 insertions(+), 17 deletions(-) diff --git a/src/UDS.Net.Forms/Pages/UDS3/A2.cshtml b/src/UDS.Net.Forms/Pages/UDS3/A2.cshtml index 4f7ff475..e6dc4699 100644 --- a/src/UDS.Net.Forms/Pages/UDS3/A2.cshtml +++ b/src/UDS.Net.Forms/Pages/UDS3/A2.cshtml @@ -51,7 +51,7 @@

- +
@@ -60,7 +60,7 @@

- +
@@ -77,7 +77,7 @@

- +
@@ -94,16 +94,16 @@

- +
-

- +

+
- +
- +
@@ -111,16 +111,16 @@

- +
-

- +

+
- +
- +
@@ -157,7 +157,7 @@

- +
@@ -167,7 +167,7 @@

- +
@@ -177,7 +177,7 @@

- +
diff --git a/src/UDS.Net.Forms/Pages/UDS3/A2.cshtml.cs b/src/UDS.Net.Forms/Pages/UDS3/A2.cshtml.cs index 422b12d6..bf366a4b 100644 --- a/src/UDS.Net.Forms/Pages/UDS3/A2.cshtml.cs +++ b/src/UDS.Net.Forms/Pages/UDS3/A2.cshtml.cs @@ -31,6 +31,12 @@ public class A2Model : FormPageModel new RadioListItem("Yes", "2"), new RadioListItem("Unknown (If Unknown, SKIP TO QUESTION below)", "9") }; + public Dictionary HispanicLatinoUIBehavior = new Dictionary + { + { "1", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INHISPOR") } }, + { "2", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INHISPOR") } }, + { "9", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INHISPOR") } } + }; public List OriginsListItems { get; } = new List { @@ -44,6 +50,18 @@ public class A2Model : FormPageModel new RadioListItem("Unknown","99") }; + public Dictionary OriginsUIBehavior = new Dictionary + { + { "1", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INHISPOX") } }, + { "2", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INHISPOX") } }, + { "3", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INHISPOX") } }, + { "4", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INHISPOX") } }, + { "5", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INHISPOX") } }, + { "6", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INHISPOX") } }, + { "50", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INHISPOX") } }, + { "99", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INHISPOX") } } + + }; public List RacialGroupsListItems { get; } = new List { new RadioListItem("White", "1"), @@ -55,6 +73,66 @@ public class A2Model : FormPageModel new RadioListItem("Unknown", "99") }; + + public Dictionary RacialGroupsUIBehavior = new Dictionary + { + { "1", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRACEX") } }, + { "2", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRACEX") } }, + { "3", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRACEX") } }, + { "4", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRACEX" ) } }, + { "5", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRACEX") } }, + { "50", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INRACEX") } }, + { "99", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRACEX") } }, + + }; + + public List AdditionalRacialGroupsListItems { get; } = new List + { + new RadioListItem("White", "1"), + new RadioListItem("Black or African American", "2"), + new RadioListItem("American Indian or Alaska Native", "3"), + new RadioListItem("Native Hawaiian or other Pacific Islander", "4"), + new RadioListItem("Asian", "5"), + new RadioListItem("Other (specify)", "50"), + new RadioListItem("Unknown", "99") + }; + + public Dictionary AdditionalRacialGroupsUIBehavior = new Dictionary + { + { "1", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRASECX") } }, + { "2", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRASECX") } }, + { "3", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRACEX") } }, + { "4", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRASECX" ) } }, + { "5", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRASECX") } }, + { "50", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INRASECX") } }, + { "99", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRASECX") } }, + + }; + + public List BeyondAdditionalRacialGroupsListItems { get; } = new List + { + new RadioListItem("White", "1"), + new RadioListItem("Black or African American", "2"), + new RadioListItem("American Indian or Alaska Native", "3"), + new RadioListItem("Native Hawaiian or other Pacific Islander", "4"), + new RadioListItem("Asian", "5"), + new RadioListItem("Other (specify)", "50"), + new RadioListItem("Unknown", "99") + }; + + public Dictionary BeyondAdditionalRacialGroupsUIBehavior = new Dictionary + { + { "1", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRATERX") } }, + { "2", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRATERX") } }, + { "3", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRATERX") } }, + { "4", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRATERX" ) } }, + { "5", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRATERX") } }, + { "50", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INRATERX") } }, + { "99", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INRATERX") } }, + + }; + + public List RelationshipTypesListItems { get; } = new List { new RadioListItem("Spouse, partner, or companion (include ex-spouse, ex-partner, fiancé, boyfriend, girlfriend)", "1"), @@ -71,7 +149,37 @@ public class A2Model : FormPageModel new RadioListItem("Yes (If Yes, SKIP TO QUESTION 10)", "1") }; - public List ContactFrequencyListItems { get; } = new List + public Dictionary LivingSituationUIBehavior = new Dictionary + { + + { "0", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INVISITS") } }, + { "1", new UIBehavior { PropertyAttribute = new UIDisableAttribute("A2.INVISITS") } }, + + }; + + public List VisitContactFrequencyListItems { get; } = new List + { + new RadioListItem("Daily", "1"), + new RadioListItem("At least 3 times per week", "2"), + new RadioListItem("Weekly", "3"), + new RadioListItem("At least three times per month", "4"), + new RadioListItem("Monthly", "5"), + new RadioListItem("Less than once a month", "6"), + }; + + public Dictionary VisitContactFrequencyUIBehavior = new Dictionary + { + + { "1", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INCALLS") } }, + { "2", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INCALLS") } }, + { "3", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INCALLS") } }, + { "4", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INCALLS") } }, + { "5", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INCALLS") } }, + { "6", new UIBehavior { PropertyAttribute = new UIEnableAttribute("A2.INCALLS") } }, + + }; + + public List TelephoneContactFrequencyListItems { get; } = new List { new RadioListItem("Daily", "1"), new RadioListItem("At least 3 times per week", "2"),