private void AddMultiSelectControl(MultiSelectFormControlSettingsDescriptor setting, string name) { if (setting.MultiSelectTemplate.TemplateName == nameof(QuestionTemplateSelector.MultiSelectTemplate)) { properties.Add(CreateMultiSelectValidatableObject(setting, name)); } else { throw new ArgumentException($"{nameof(setting.DropDownTemplate.TemplateName)}: 880DF2E6-97E8-49F2-B88C-FE8DB4F01C63"); } }
public MultiSelectValidatableObject(string name, MultiSelectFormControlSettingsDescriptor setting, IHttpService httpService, IEnumerable <IValidationRule> validations, UiNotificationService uiNotificationService) : base(name, setting.MultiSelectTemplate.TemplateName, validations, uiNotificationService) { this.Title = setting.Title; this._multiSelectFormControlSettingsDescriptor = setting; this._multiSelectTemplate = setting.MultiSelectTemplate; this.httpService = httpService; itemComparer = new MultiSelectItemComparer <E>(_multiSelectFormControlSettingsDescriptor.KeyFields); SelectedItems = new ObservableCollection <object>(); GetItemSource(); }
public MultiSelectValidatableObject(string name, MultiSelectFormControlSettingsDescriptor setting, IEnumerable <IValidationRule> validations, IContextProvider contextProvider) : base(name, setting.MultiSelectTemplate.TemplateName, validations, contextProvider.UiNotificationService) { this._multiSelectFormControlSettingsDescriptor = setting; this._multiSelectTemplate = setting.MultiSelectTemplate; this.Title = this._multiSelectTemplate.LoadingIndicatorText; this.httpService = contextProvider.HttpService; itemComparer = new MultiSelectItemComparer <E>(_multiSelectFormControlSettingsDescriptor.KeyFields); SelectedItems = new ObservableCollection <object>(); this.canExecute = false; this.Placeholder = this._multiSelectTemplate.LoadingIndicatorText; GetItemSource(); }
private void AddMultiSelectControl(MultiSelectFormControlSettingsDescriptor setting) { ValidateSettingType(GetFieldName(setting.Field), setting.Type); if (setting.MultiSelectTemplate.TemplateName == nameof(QuestionTemplateSelector.MultiSelectTemplate)) { formLayout.Add(CreateMultiSelectValidatableObject(setting), this.groupBoxSettings); } else { throw new ArgumentException($"{nameof(setting.DropDownTemplate.TemplateName)}: 880DF2E6-97E8-49F2-B88C-FE8DB4F01C63"); } }
private void AddMultiSelectControl(MultiSelectFormControlSettingsDescriptor setting) { ValidateSettingType(GetFieldName(setting.Field), setting.Type); if (setting.MultiSelectTemplate.TemplateName == nameof(ReadOnlyControlTemplateSelector.MultiSelectTemplate)) { formLayout.Add(CreateMultiSelectReadOnlyObject(setting), this.groupBoxSettings); } else { throw new ArgumentException($"{nameof(setting.DropDownTemplate.TemplateName)}: E63A881F-3B4D-47A1-A13C-835EA8A86C61"); } }
private IReadOnly CreateMultiSelectReadOnlyObject(MultiSelectFormControlSettingsDescriptor setting) { return(GetValidatable(Type.GetType(setting.MultiSelectTemplate.ModelType))); IReadOnly GetValidatable(Type elementType) => (IReadOnly)Activator.CreateInstance ( typeof(MultiSelectReadOnlyObject <,>).MakeGenericType ( typeof(ObservableCollection <>).MakeGenericType(elementType), elementType ), GetFieldName(setting.Field), setting.KeyFields, setting.Title, setting.StringFormat, setting.MultiSelectTemplate, this.contextProvider ); }
private IValidatable CreateMultiSelectValidatableObject(MultiSelectFormControlSettingsDescriptor setting) { return(GetValidatable(Type.GetType(setting.MultiSelectTemplate.ModelType))); IValidatable GetValidatable(Type elementType) => ValidatableObjectFactory.GetValidatable ( Activator.CreateInstance ( typeof(MultiSelectValidatableObject <,>).MakeGenericType ( typeof(ObservableCollection <>).MakeGenericType(elementType), elementType ), GetFieldName(setting.Field), setting, GetValidationRules(setting), this.contextProvider ), setting ); }