Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }
        }