private void refreshStatusText() { if (!isCurrentPageValid()) { missingElementsLabel.Text = "The following properties need to be filled out to continue: "; string missingElements = ""; switch (WM.CurrentState) { case WizardState.race: missingElements = string.Join(", ", new string[] { raceComponent.getInvalidElements(), alignmentComponent.getInvalidElements() }.Where(s => !string.IsNullOrEmpty(s))); break; case WizardState.appearance: missingElements = string.Join(", ", new string[] { ageComponent.getInvalidElements(), bodyComponent.getInvalidElements(), appearanceComponent.getInvalidElements() }.Where(s => !string.IsNullOrEmpty(s))); break; case WizardState.classBackground: missingElements = string.Join(", ", new string[] { classComponent.getInvalidElements(), backgroundComponent.getInvalidElements() }.Where(s => !string.IsNullOrEmpty(s))); break; case WizardState.stats: missingElements = abilityComponent.getInvalidElements(); break; case WizardState.languages: missingElements = languageComponent.getInvalidElements(); break; case WizardState.skillEquipment: missingElements = string.Join(", ", new string[] { skillComponent.getInvalidElements(), equipmentComponent.getInvalidElements() }.Where(s => !string.IsNullOrEmpty(s))); break; case WizardState.spells: missingElements = spellComponent.getInvalidElements(); break; case WizardState.extraRaceChoices: missingElements = extraRaceChoiceComponent.getInvalidElements(); break; case WizardState.extraClassChoices: missingElements = extraClassChoiceComponent.getInvalidElements(); break; case WizardState.extraSubclassChoices: missingElements = extraSubclassChoiceComponent.getInvalidElements(); break; case WizardState.story: missingElements = string.Join(", ", new string[] { nameComponent.getInvalidElements(), storyComponent.getInvalidElements() }.Where(s => !string.IsNullOrEmpty(s))); break; case WizardState.export: missingElements = exportComponent.getInvalidElements(); break; default: //WizardState.intro missingElements = introComponent.getInvalidElements(); break; } missingElementsLabel.Text += missingElements; } else { missingElementsLabel.Text = "Page is filled out correctly."; } }