/// <summary> /// 用于向 JudgeInfos EntitySet 添加新对象的方法,已弃用。请考虑改用关联的 ObjectSet<T> 属性的 .Add 方法。 /// </summary> public void AddToJudgeInfos(JudgeInfo judgeInfo) { base.AddObject("JudgeInfos", judgeInfo); }
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; } } } }
/// <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; }