金苹果萍水相逢

导航

 

今日完成任务:

1、自动组卷功能调整

添加了生成试卷时选择专业,考试类型(统一考试、随机试题、模拟测试3种)。管理员根据考生考试模式可以采用不同生成试卷方式。

页面效果:

 

 核心代码:

/// <summary>
/// 自动组卷-视图
/// </summary>
/// <returns></returns>
public ActionResult AddPaper()
{
ViewBag.Course = GetCourseInfoForDDL();
ViewBag.PaperLibrary = GetPaperLibraryForDDL();
ViewBag.Major = GetMajorForDDL();
return View();
}

/// <summary>
/// 自动组卷-功能实现
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost]
public ActionResult AddPaper(FormCollection frm)
{
int PaperLibrary_Id = Convert.ToInt32(frm["PaperLibrary_Id"]);
using (OnLineExamDB db = new OnLineExamDB())
{
//修改试卷考试时长
using (TransactionScope transaction = new TransactionScope())
{
//模拟测试不需要添加开考时间
DateTime? beginTime = null;
if (frm["beginTime"].ToString() !="")
{
beginTime =Convert.ToDateTime(frm["beginTime"]);
}
PaperLibraryDetail pld = new PaperLibraryDetail {

beginTime = beginTime,
status = 1,
counts = 50,
exam_Type = Convert.ToInt32(frm["exam_Type"]),
major_Id= Convert.ToInt32(frm["major_Id"]),
PaperLibrary_Id= Convert.ToInt32(frm["PaperLibrary_Id"]),
Duration= Convert.ToInt32(frm["Duration"])
};
db.PaperLibraryDetail.Add(pld);
db.SaveChanges();

if (Convert.ToInt32(frm["exam_Type"]) == 1) {
//根据设置的科目数量生成相应的试题
string couse_Ids = frm["couse_Id"].ToString();//获取传递来的课程编号
string[] ids = couse_Ids.Split(',');
foreach (string item in ids)
{
int id = Convert.ToInt32(item);
List<QuestionBank> listBank = db.QuestionBank.Where(a => a.course_Id == id).ToList();
List<QuestionBank> newListBank = new List<QuestionBank>();
//创建随机数
Random r = new Random();
//获取该科目的数量
int course_count = Convert.ToInt32(frm["course_counts " + id]);
int[] result = new int[course_count];//定义一个数组用来保存生成过的数
for (int i = 0; i < course_count; i++)//循环遍历5个数值
{
int m = r.Next(1, listBank.Count);//产生随机值
if (!result.Contains(m))//判断产生的新数是否存在result中,如果不存在则添加,否则重新生成
{
result[i] = m;
//取出listBank中第m道题,并添加到试卷表中
Paper p = new Paper();
p.Detail_Id = pld.Detail_Id;
p.createTime = DateTime.Now;
p.PaperLibrary_Id = PaperLibrary_Id;
p.question_Id = listBank[m].question_Id;
p.status = 1;
db.Paper.Add(p);
db.SaveChanges();
}
else
{
i--;
}
}
}
}
transaction.Complete();
}
}
ViewBag.Course = GetCourseInfoForDDL();
ViewBag.PaperLibrary = GetPaperLibraryForDDL();
ViewBag.Major = GetMajorForDDL();
return View();
}

2、专业管理

2.1专业列表

页面效果:

 

 

核心代码:

/// <summary>
/// 专业列表
/// </summary>
/// <returns></returns>
public ActionResult MajorList()
{
List<MajorListModel> list = GetAllMajorList().Select(a=>new MajorListModel {
major_Id=a.major_Id,
major_Name=a.major_Name
}).ToList();
return View(list);
}

2.2添加专业

页面效果:

 

 核心代码:

/// <summary>
/// 添加专业-视图
/// </summary>
/// <returns></returns>
public ActionResult AddMajor()
{
return View();
}
/// <summary>
/// 添加视图-功能实现
/// </summary>
/// <param name="model">专业信息</param>
/// <returns></returns>
[HttpPost]
public ActionResult AddMajor(AddMajorModel model)
{
major m = new major();
m.major_Name = model.major_Name;
using (OnLineExamDB db = new OnLineExamDB())
{
db.major.Add(m);
db.SaveChanges();
}
return View("MajorList");
}

2.3修改专业

页面效果:

 

 

核心代码:

/// <summary>
/// 修改专业-视图
/// </summary>
/// <param name="id">编号</param>
/// <returns></returns>
public ActionResult UpdateMajor(int id)
{
using (OnLineExamDB db = new OnLineExamDB())
{
UpdateMajorModel model = db.major.Where(a => a.major_Id == id).Select(a=>new UpdateMajorModel
{
major_Id=a.major_Id,
major_Name=a.major_Name
}).FirstOrDefault();
return View(model);
}
}
/// <summary>
///修改专业信息
/// </summary>
/// <param name="model">专业信息</param>
/// <returns></returns>
[HttpPost]
public ActionResult UpdateMajor(UpdateMajorModel model)
{
using (OnLineExamDB db = new OnLineExamDB())
{
major m = db.major.First(a => a.major_Id == model.major_Id);
m.major_Name = model.major_Name;
db.SaveChanges();
}
return View("MajorList");
}

2.4删除专业

页面效果:

 

 

核心代码:

[HttpPost]
public ActionResult DelMajor(int id)
{
using (OnLineExamDB db = new OnLineExamDB())
{
major m = db.major.First(a => a.major_Id == id);
m.Status = 2;
db.SaveChanges();
}
return View("MajorList");
}

暂无遇到问题

posted on 2020-07-22 17:30  小橙子儿  阅读(278)  评论(0编辑  收藏  举报