XW 1 year ago
parent
commit
5382fb98d7
1 changed files with 62 additions and 61 deletions
  1. 62 61
      TEAMModelOS.SDK/Models/Service/Common/ActivityService.cs

+ 62 - 61
TEAMModelOS.SDK/Models/Service/Common/ActivityService.cs

@@ -108,90 +108,91 @@ namespace TEAMModelOS.SDK
                             });
                         }
                     }
-
-                    if (contest.score.showType==1)
+                    if(contest.modules.Contains("score") && contest.score!= null)
                     {
-                        teacherScores= teacherScores.Where(x => x.score>=0).OrderByDescending(x => x.score).ToList();
-
-                        if (contest.score.levelType==1)
+                        if (contest.score.showType==1)
                         {
-                            var levels = contest.score.scoreLevels.OrderBy(x => x.order).ToList();
+                            teacherScores= teacherScores.Where(x => x.score>=0).OrderByDescending(x => x.score).ToList();
 
-
-                            foreach (var level in levels)
+                            if (contest.score.levelType==1)
                             {
-                                var datas = teacherScores.Take(level.top);
-                                var scores = datas.ToJsonString().ToObject<List<ActivityTeacherScoreLevel>>();
-                                scores.ForEach(z => { z.scoreLevel=level.lable; });
-                                scoreLevels.Add(new ActivityScoreLevel { lable=level.lable, scores=scores });
-                                teacherScores.RemoveAll(x => scores.Select(v => v.uploadId).Contains(x.uploadId));
+                                var levels = contest.score.scoreLevels.OrderBy(x => x.order).ToList();
+
+
+                                foreach (var level in levels)
+                                {
+                                    var datas = teacherScores.Take(level.top);
+                                    var scores = datas.ToJsonString().ToObject<List<ActivityTeacherScoreLevel>>();
+                                    scores.ForEach(z => { z.scoreLevel=level.lable; });
+                                    scoreLevels.Add(new ActivityScoreLevel { lable=level.lable, scores=scores });
+                                    teacherScores.RemoveAll(x => scores.Select(v => v.uploadId).Contains(x.uploadId));
+                                }
                             }
-                        }
-                        else
-                        {
-                            var levels = contest.score.scoreLevels.OrderByDescending(x => x.max);
-                            foreach (var level in levels) 
+                            else
                             {
-                                scoreLevels.Add(new ActivityScoreLevel { lable=level.lable});
-                                foreach (var item in teacherScores)
+                                var levels = contest.score.scoreLevels.OrderByDescending(x => x.max);
+                                foreach (var level in levels)
                                 {
-                                    string label = string.Empty;
-                                    if (level.max==100)
-                                    {
-                                        if (item.score>level.min  && item.score<=level.max)
-                                        {
-                                            label=level.lable;
-                                        }
-                                    }
-                                    else
+                                    scoreLevels.Add(new ActivityScoreLevel { lable=level.lable });
+                                    foreach (var item in teacherScores)
                                     {
-                                        if (item.score>level.min  && item.score<level.max)
+                                        string label = string.Empty;
+                                        if (level.max==100)
                                         {
-                                            label=level.lable;
+                                            if (item.score>level.min  && item.score<=level.max)
+                                            {
+                                                label=level.lable;
+                                            }
                                         }
-                                    }
-                                    if (!string.IsNullOrWhiteSpace(label))
-                                    {
-                                        var score = item.ToJsonString().ToObject<ActivityTeacherScoreLevel>();
-                                        score.scoreLevel=label;
-                                        score.score=item.score;
-                                        var data = scoreLevels.Find(x => x.lable.Equals(label));
-                                        if (data!=null)
+                                        else
                                         {
-                                            data.scores.Add(score);
+                                            if (item.score>level.min  && item.score<level.max)
+                                            {
+                                                label=level.lable;
+                                            }
                                         }
-                                        else
+                                        if (!string.IsNullOrWhiteSpace(label))
                                         {
-                                            scoreLevels.Add(new ActivityScoreLevel { lable=label, scores= new List<ActivityTeacherScoreLevel>() { score } });
+                                            var score = item.ToJsonString().ToObject<ActivityTeacherScoreLevel>();
+                                            score.scoreLevel=label;
+                                            score.score=item.score;
+                                            var data = scoreLevels.Find(x => x.lable.Equals(label));
+                                            if (data!=null)
+                                            {
+                                                data.scores.Add(score);
+                                            }
+                                            else
+                                            {
+                                                scoreLevels.Add(new ActivityScoreLevel { lable=label, scores= new List<ActivityTeacherScoreLevel>() { score } });
+                                            }
                                         }
                                     }
                                 }
                             }
                         }
-                    }
-                    else
-                    {
-                        if (contest.score.top>-1)
-                        {
-                            teacherScores= teacherScores.Where(x => x.score>=0).OrderByDescending(x => x.score).Take(contest.score.top).ToList();
-                        }
                         else
                         {
-                            teacherScores= teacherScores.Where(x => x.score>=0).ToList();
-                        }
+                            if (contest.score.top>-1)
+                            {
+                                teacherScores= teacherScores.Where(x => x.score>=0).OrderByDescending(x => x.score).Take(contest.score.top).ToList();
+                            }
+                            else
+                            {
+                                teacherScores= teacherScores.Where(x => x.score>=0).ToList();
+                            }
 
-                        var scores = new List<ActivityTeacherScoreLevel>();
-                        foreach (var item in teacherScores)
-                        {
-                            double score = item.score;
-                            var teacher = item.ToJsonString().ToObject<ActivityTeacherScoreLevel>();
-                            teacher.scoreLevel=$"{score}";
-                            teacher.score=score;
-                            scores.Add(teacher);
+                            var scores = new List<ActivityTeacherScoreLevel>();
+                            foreach (var item in teacherScores)
+                            {
+                                double score = item.score;
+                                var teacher = item.ToJsonString().ToObject<ActivityTeacherScoreLevel>();
+                                teacher.scoreLevel=$"{score}";
+                                teacher.score=score;
+                                scores.Add(teacher);
+                            }
+                            scoreLevels.Add(new ActivityScoreLevel { lable="", scores=scores });
                         }
-                        scoreLevels.Add(new ActivityScoreLevel { lable="", scores=scores });
                     }
-
                 }
             }