using System; using System.Collections.Generic; using System.Linq; using DSALib.Auxiliary; using DSALib.Models.Database; namespace DSACore.Auxiliary { public static class DataObjectEnumerableExtension { public static IDataObject Match(this IEnumerable dataObjects, string name) { return (dataObjects as IOrderedEnumerable ?? throw new InvalidOperationException()) .OrderBy(x => SpellCorrect.Compare(name, x.Name)).Last(); } public static bool TryMatch(this IEnumerable dataObjects, out IDataObject data, string name) { data = (dataObjects as IOrderedEnumerable ?? throw new InvalidOperationException()) .OrderBy(x => SpellCorrect.Compare(name, x.Name)).Last(); return SpellCorrect.IsMatch(name, data.Name); } } }