public AutoCompleteSetting GetSetting(Type autoCompleteType) { try { var existing = AutoCompletes.FirstOrDefault(s => autoCompleteType.Name.Equals(s.Key)); if (existing != null) { return(existing); } var proto = Convert.ChangeType(Activator.CreateInstance(autoCompleteType, new object[] { null }), autoCompleteType); var setting = new AutoCompleteSetting(proto as IAutoComplete); AutoCompletes.Add(setting); return(setting); } catch (Exception) { return(null); } }
public string[] GetSuggestions(string text, int index) { return(AutoCompletes.Where(x => x.ToLower().StartsWith(text.ToLower())).ToArray()); }
public bool Equals(AutoCompleteSettings other) { return(other != null && AutoCompletes.SequenceEqual(other.AutoCompletes)); }
public AutoCompleteSetting GetSetting <TAutoComplete>() where TAutoComplete : IAutoComplete { return(AutoCompletes.FirstOrDefault(s => typeof(TAutoComplete).Name.Equals(s.Key)) ?? GetSetting(typeof(TAutoComplete))); }