Слияние кода завершено, страница обновится автоматически
using EXAM.Models;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace EXAM.Controllers
{
public class AnswersController : Controller
{
// GET: Answers
public ActionResult TeAnswer()
{
return View();
}
public ActionResult TeAnswerDetail(int AnswerID)
{
return View();
}
public ActionResult Verify(int id)
{
using (ExamDBEntities db=new ExamDBEntities())
{
var da= db.Detail.Where(d=>d.AnswerID==id).ToList();
int sum = 0;
foreach (var i in da)
{
if (i.DetailAnswer==i.Topic.TopicAnswer)
{
sum += i.Topic.TopicScore;
}
}
var dd = db.Answer.Find(id);
dd.AnswerScore = sum;
dd.AnswerState = 2;
dd.BatchTime = DateTime.Now;
db.Entry(dd).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("TeAnswer");
}
}
/// <summary>
/// 学生答题列表
/// </summary>
/// <returns></returns>
public ActionResult MyAnswer()
{
if (Session["Student"] == null)
{
return RedirectToAction("LoginStudent", "Home");
}
using (ExamDBEntities db = new ExamDBEntities()) {
db.Configuration.LazyLoadingEnabled = false;
var da = Session["Student"] as Student;
var dd= db.Answer.Where(a => a.StuID == da.StuID).Include("Student").Include("Paper").ToList();
return View(dd);
}
}
/// <summary>
/// 点击开始答题/继续答题的跳转
/// </summary>
/// <param name="PaperID"></param>
/// <param name="AnswerID"></param>
/// <returns></returns>
public ActionResult BeginAnswer(int PaperID,int? AnswerID)
{
var stu = Session["Student"] as Student;
if (stu==null)
{
return RedirectToAction("Index","Home");
}
using (ExamDBEntities db = new ExamDBEntities())
{
var st = new Answer
{
StuID = stu.StuID,
AnswerTime = DateTime.Now,
AnswerState = 0,
PaperID = PaperID,
TeacherID=1,
AnswerScore=0
};
var res = db.Answer.Where(s => s.StuID == stu.StuID && s.PaperID == PaperID).FirstOrDefault();
//点击开始答题的时候
if (res == null&&AnswerID == null)
{
db.Configuration.LazyLoadingEnabled = false;
//添加做题记录
db.Entry(st).State = EntityState.Added;
// db.SaveChanges();
//找到试卷中的说有题目
var top = db.Topic.Where(t => t.PaperID == PaperID).ToList();
//插入到答题表
foreach (var item in top)
{
db.Entry(new Detail
{
AnswerID = st.AnswerID,
TopicID = item.TopicID
}).State = EntityState.Added;
}
db.SaveChanges();
}
else
{
st.AnswerID = res.AnswerID;
if (res.AnswerState != 0)
{
//查看详情MyAnswerDetail
return RedirectToAction("MyAnswerDetail", new { AnswersID = st.AnswerID });
}
}
return RedirectToAction("AnswerDetail", new { AnswerID = st.AnswerID });
}
}
/// <summary>
/// 学生考试
/// </summary>
/// <param name="AnswerID"></param>
/// <returns></returns>
public ActionResult AnswerDetail(int AnswerID)
{
return View();
}
/// <summary>
/// 提交试卷
/// 停用
/// </summary>
/// <param name="Detail"></param>
/// <returns></returns>
[HttpPost]
public bool AnswerDetail(IList<Detail> Detail,int? type)
{
using (ExamDBEntities db = new ExamDBEntities())
{
var id = Detail[0].AnswerID;
var dd = db.Detail.Where(d => d.AnswerID == id).ToList();
for (int i = 0; i < dd.Count; i++)
{
dd[i].DetailAnswer = Detail[i].DetailAnswer;
dd[i].Answer.AnswerState = int.Parse(type+"");
}
db.SaveChanges();
return true;
}
}
public ActionResult MyAnswerDetail(int AnswersID)
{
return View();
}
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )