ComplianceServer/oldcode/Core.BLL/Exam/EXAM_PAPER_BL.cs

48 lines
1.5 KiB
C#

using CRM.Core.Model.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using WX.CRM.Common;
namespace CRM.Core.BLL.Exam
{
public class EXAM_PAPER_BL : DbContextRepository<EXAM_PAPER>
{
public bool HandExamPaper(int paperId, Dictionary<int, string> answerList)
{
using (var db = new zxdContext())
{
LogHelper.Info("paperId:" + paperId.ToString());
var paper = db.EXAM_PAPER.FirstOrDefault(p => p.ID == paperId);
if (paper == null)
{
return false;
}
//如果已经交过卷,直接返回
if (paper.HANDTIME.HasValue)
return true;
paper.HANDTIME = DateTime.Now;
paper.USETIME = (paper.HANDTIME - paper.STARTTIME).Value.Seconds;
var paperSubject = db.EXAM_PAPERSUBJECT.Where(p => p.PAPERID == paper.ID);
var score = 0;
foreach (var item in paperSubject)
{
var answer = answerList.FirstOrDefault(p => p.Key == item.ID).Value;
if (item.RIGHTANSWER == answer)
{
score++;
}
item.ANSWER = answer;
}
paper.SCORE = score;
db.SaveChanges();
return true;
}
}
}
}