summaryrefslogtreecommitdiff
path: root/dsa/DSALib/Auxiliary/IDataObjectEnumerableExtension.cs
diff options
context:
space:
mode:
authoruzvkl <dennis.kobert@student.kit.edu>2019-06-11 23:05:52 +0200
committeruzvkl <dennis.kobert@student.kit.edu>2019-06-11 23:05:52 +0200
commite6181c24124d97f2fbc932b8a68311e625463156 (patch)
treec1f097c344ca266b7941c9668590b0fd35c7870a /dsa/DSALib/Auxiliary/IDataObjectEnumerableExtension.cs
parent2490ad5d31fe2ac778ff9303776f0e91f47a2862 (diff)
Move dsa related stuff to subfolder
Diffstat (limited to 'dsa/DSALib/Auxiliary/IDataObjectEnumerableExtension.cs')
-rw-r--r--dsa/DSALib/Auxiliary/IDataObjectEnumerableExtension.cs25
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);
+ }
+ }
+}