diff options
author | uzvkl <dennis.kobert@student.kit.edu> | 2019-06-11 23:05:52 +0200 |
---|---|---|
committer | uzvkl <dennis.kobert@student.kit.edu> | 2019-06-11 23:05:52 +0200 |
commit | e6181c24124d97f2fbc932b8a68311e625463156 (patch) | |
tree | c1f097c344ca266b7941c9668590b0fd35c7870a /dsa/DSALib/Auxiliary/IDataObjectEnumerableExtension.cs | |
parent | 2490ad5d31fe2ac778ff9303776f0e91f47a2862 (diff) |
Move dsa related stuff to subfolder
Diffstat (limited to 'dsa/DSALib/Auxiliary/IDataObjectEnumerableExtension.cs')
-rw-r--r-- | dsa/DSALib/Auxiliary/IDataObjectEnumerableExtension.cs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/dsa/DSALib/Auxiliary/IDataObjectEnumerableExtension.cs b/dsa/DSALib/Auxiliary/IDataObjectEnumerableExtension.cs new file mode 100644 index 0000000..b8a6067 --- /dev/null +++ b/dsa/DSALib/Auxiliary/IDataObjectEnumerableExtension.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using DSALib.Auxiliary; +using DSALib.Models.Database; + +namespace DSACore.Auxiliary +{ + public static class DataObjectEnumerableExtension + { + public static IDataObject Match(this IEnumerable<IDataObject> dataObjects, string name) + { + return (dataObjects as IOrderedEnumerable<IDataObject> ?? throw new InvalidOperationException()).OrderBy(x => SpellCorrect.Compare(name,x.Name)).Last(); + } + + public static bool TryMatch(this IEnumerable<IDataObject> dataObjects,out IDataObject data, string name) + { + data = (dataObjects as IOrderedEnumerable<IDataObject> ?? throw new InvalidOperationException()).OrderBy(x => SpellCorrect.Compare(name,x.Name)).Last(); + + return SpellCorrect.IsMatch(name, data.Name); + } + } +} |