From 28a5ceed592223fbd6a342b059dca14fb7bdae59 Mon Sep 17 00:00:00 2001 From: Lorenzo Corallo Date: Thu, 4 Jul 2024 18:01:41 +0200 Subject: [PATCH 1/2] feat: make Ranking IComparable for List Sort --- .../Objects/RankingNS/Ranking.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/PoliNetwork.Graduatorie.Parser/Objects/RankingNS/Ranking.cs b/PoliNetwork.Graduatorie.Parser/Objects/RankingNS/Ranking.cs index eb23b7dd..4a4fad20 100644 --- a/PoliNetwork.Graduatorie.Parser/Objects/RankingNS/Ranking.cs +++ b/PoliNetwork.Graduatorie.Parser/Objects/RankingNS/Ranking.cs @@ -18,7 +18,7 @@ namespace PoliNetwork.Graduatorie.Parser.Objects.RankingNS; [Serializable] [JsonObject(MemberSerialization.Fields, NamingStrategyType = typeof(CamelCaseNamingStrategy))] -public class Ranking +public class Ranking : IComparable { public List? ByCourse; public MeritTable? ByMerit; @@ -35,6 +35,14 @@ public RankingSummaryStudent GetRankingSummaryStudent() return new RankingSummaryStudent(RankingOrder?.Phase, School, Year, Url); } + public int CompareTo(Ranking? other) + { + if (ReferenceEquals(this, other)) return 0; + if (ReferenceEquals(null, other)) return 1; + + return string.Compare(GetId(), other.GetId(), StringComparison.Ordinal); + } + /*** * Ottieni l'hash senza considerare il valore di LastUpdate From 9044d4baf2bcf2c1741f9dc15bb7950020a39a9c Mon Sep 17 00:00:00 2001 From: Lorenzo Corallo Date: Thu, 4 Jul 2024 18:02:23 +0200 Subject: [PATCH 2/2] fix: fill RankingOrder in SingleCourseJson --- .../Objects/Json/Indexes/Specific/BySchoolYearCourseJson.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PoliNetwork.Graduatorie.Parser/Objects/Json/Indexes/Specific/BySchoolYearCourseJson.cs b/PoliNetwork.Graduatorie.Parser/Objects/Json/Indexes/Specific/BySchoolYearCourseJson.cs index 900968e6..f7f51b21 100644 --- a/PoliNetwork.Graduatorie.Parser/Objects/Json/Indexes/Specific/BySchoolYearCourseJson.cs +++ b/PoliNetwork.Graduatorie.Parser/Objects/Json/Indexes/Specific/BySchoolYearCourseJson.cs @@ -145,7 +145,8 @@ private static SingleCourseJson CreateCourseJson(Ranking ranking, CourseTable co BasePath = basePath, Year = ranking.Year, School = ranking.School, - Location = course.Location + Location = course.Location, + RankingOrder = ranking.RankingOrder }; }