|
@@ -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 });
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|