public SearchComponentModal(Assembly assembly, ComponentTypeEnumeration type, IEnumerable <Firm> firms, IEnumerable <Lookup> lookups, GetUnitVM unitModel) { InitializeComponent(); DialogResult = DialogResult.None; var searchList = new SearchComponentList(assembly, type, firms, lookups, unitModel); Controls.Add(searchList); }
public SearchComponentPage(Assembly assembly, ComponentTypeEnumeration type, IEnumerable <Firm> firms, IEnumerable <Lookup> lookups, GetUnitVM unitModel) { InitializeComponent(); Assembly = assembly; ComponentTypeEnumeration = type; Search.Text = $"Search {type.GetDescription()}"; Search.Clicked += Search_Clicked; foreach (var unit in unitModel.Units) { switch (unit.UnitType) { case UnitType.CheckboxGroup: var checkboxGroupOption = new CheckboxGroupOption(unit); UnitList.Children.Add(checkboxGroupOption); break; case UnitType.RadiobuttonGroup: var radioButtonOption = new RadiobuttonGroupOption(unit); UnitList.Children.Add(radioButtonOption); break; case UnitType.Range: var rangeOption = new RangeOption(unit); UnitList.Children.Add(rangeOption); break; case UnitType.Text: foreach (var option in unit.Options) { var textInput = new TextOption(unit, option); UnitList.Children.Add(textInput); } break; default: break; } } var firmUnit = new Unit { Name = "Firms", Key = "firms", UnitType = UnitType.CheckboxGroup, Options = firms.Select(x => new Option { Key = "firms", Text = $"{x.Name} ({x.Country})", Value = x.Id }) }; var firmsOption = new CheckboxGroupOption(firmUnit); UnitList.Children.Add(firmsOption); foreach (var lookup in lookups) { var lookupUnit = new Unit { Name = lookup.Name, Key = lookup.Key, UnitType = UnitType.CheckboxGroup, Options = lookup.LookupValues.Select(x => new Option { Key = lookup.Key, Text = x.DisplayText, Value = x.Id }) }; var lookupOption = new CheckboxGroupOption(lookupUnit); UnitList.Children.Add(lookupOption); } }