예제 #1
0
 /// <summary>
 /// 用于向 JudgeInfos EntitySet 添加新对象的方法,已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
 /// </summary>
 public void AddToJudgeInfos(JudgeInfo judgeInfo)
 {
     base.AddObject("JudgeInfos", judgeInfo);
 }
예제 #2
0
        void DeleteJudgeInfoScore(MooDB db, Record record, JudgeInfo info)
        {
            if (info.Score >= 0)
            {
                var hisRecords = from r in db.Records
                                 where r.User.ID == record.User.ID && r.Problem.ID == record.Problem.ID
                                       && r.JudgeInfo != null && r.JudgeInfo.Score >= 0
                                 select r;
                int oldScore = hisRecords.Max(r => r.JudgeInfo.Score);
                int newScore = (from r in hisRecords
                                where r.ID != record.ID
                                select r.JudgeInfo.Score).DefaultIfEmpty().Max();
                record.User.Score -= oldScore;
                record.Problem.ScoreSum -= oldScore;
                record.User.Score += newScore;
                record.Problem.ScoreSum += newScore;

                if (record.Problem.MaximumScore == info.Score)
                {
                    var problemRecords = from r in db.Records
                                         where r.ID != record.ID
                                               && r.Problem.ID == record.Problem.ID
                                               && r.JudgeInfo != null && r.JudgeInfo.Score >= 0
                                         select r;
                    if (problemRecords.Any())
                    {
                        record.Problem.MaximumScore = problemRecords.Max(r => r.JudgeInfo.Score);
                    }
                    else
                    {
                        record.Problem.MaximumScore = null;
                    }
                }
            }
        }
예제 #3
0
 /// <summary>
 /// 创建新的 JudgeInfo 对象。
 /// </summary>
 /// <param name="id">ID 属性的初始值。</param>
 /// <param name="score">Score 属性的初始值。</param>
 /// <param name="info">Info 属性的初始值。</param>
 public static JudgeInfo CreateJudgeInfo(global::System.Int32 id, global::System.Int32 score, global::System.String info)
 {
     JudgeInfo judgeInfo = new JudgeInfo();
     judgeInfo.ID = id;
     judgeInfo.Score = score;
     judgeInfo.Info = info;
     return judgeInfo;
 }