diff --git a/GraduatorieScript/Utils/Transformer/ParserNS/Parser.cs b/GraduatorieScript/Utils/Transformer/ParserNS/Parser.cs index 0596ba511..8968accbc 100644 --- a/GraduatorieScript/Utils/Transformer/ParserNS/Parser.cs +++ b/GraduatorieScript/Utils/Transformer/ParserNS/Parser.cs @@ -505,6 +505,18 @@ private static Table> JoinTables(IEnumerable pages) return Table.Create(headers, sections, data, null, null); } + private static bool EnrollCourseToAllowed(string? enrollCourse) + { + var lower = enrollCourse?.ToLower().Trim(); + + if (string.IsNullOrEmpty(lower)) + return false; + if (lower == "-") + return false; + string[] tester = { "immatricolazione non consentita", "non ammesso", "non idoneo" }; + return !tester.Any(test => lower.Contains(test)); + } + private static List ParseMeritTable(Table> table) { List parsedRows = new(); @@ -523,10 +535,7 @@ private static List ParseMeritTable(Table> table) var votoTest = Table.GetFieldByIndex(row, votoTestIndex) ?? "0"; var enrollCourse = Table.GetFieldByIndex(row, corsoIndex) ?? ""; var position = Table.GetFieldByIndex(row, posIndex) ?? "-1"; - var enrollAllowed = !enrollCourse - .ToLower() - .Contains("immatricolazione non consentita"); - + var enrollAllowed = EnrollCourseToAllowed(enrollCourse); var ofa = new Dictionary(); var ofaEng = Table.GetFieldByIndex(row, ofaEngIndex);