using System;
using Learun.Util;
using System.Data;
using System.Web.Mvc;
using System.Collections.Generic;
using Learun.Application.TwoDevelopment.EducationalAdministration;
using Learun.Application.TwoDevelopment.EvaluationTeach;
using System.Linq;
namespace Learun.Application.Web.Areas.EvaluationTeach.Controllers
{
///
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2019-04-23 15:50
/// 描 述:问卷管理
///
public class Eval_MainController : MvcControllerBase
{
private Eval_MainIBLL ask_MainIBLL = new Eval_MainBLL();
private EmpInfoIBLL empInfoIbll = new EmpInfoBLL();
private StuInfoBasicIBLL stuInfoBasicIbll = new StuInfoBasicBLL();
private LessonInfoIBLL lessonInfoIbll = new LessonInfoBLL();
#region 视图功能
///
/// 主页面
///
///
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult AnswerIndex()
{
return View();
}
[HttpGet]
public ActionResult TeacherIndex()
{
return View();
}
[HttpGet]
public ActionResult TeacherIndex2()
{
return View();
}
[HttpGet]
public ActionResult StudentIndex()
{
var logininfo = LoginUserInfo.Get();
ViewBag.StuNo = logininfo.account;
ViewBag.StuName = logininfo.realName;
var yearsemester = Common.GetSemesterAndYear();
ViewBag.AcademicYearNo = yearsemester.AcademicYearShort;
ViewBag.Semester = yearsemester.Semester;
return View();
}
[HttpGet]
public ActionResult AnswerQuery()
{
return View();
}
[HttpGet]
public ActionResult Paper(string VID)
{
ViewBag.StuNo = LoginUserInfo.Get().account;
ViewBag.StuName = LoginUserInfo.Get().realName;
if (!string.IsNullOrEmpty(VID))
{
var Eval_Main = ask_MainIBLL.GetEval_MainEntityAndQuestions(VID);
return View(Eval_Main);
}
else
{
return View();
}
}
[HttpGet]
public ActionResult PaperAdminView(string VID)
{
ViewBag.StuNo = LoginUserInfo.Get().account;
ViewBag.StuName = LoginUserInfo.Get().realName;
if (!string.IsNullOrEmpty(VID))
{
var Eval_Main = ask_MainIBLL.GetEval_MainEntityAndQuestions(VID);
return View(Eval_Main);
}
else
{
return View();
}
}
[HttpGet]
public ActionResult PaperView(string VID, string StuNo, string EmpNo, string LessonNo)
{
if (!string.IsNullOrEmpty(VID))
{
var Eval_Main = ask_MainIBLL.GetEval_MainEntityAndQuestionsResult(VID, StuNo, EmpNo, LessonNo);
Eval_Main.StuName = stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(StuNo).StuName;
Eval_Main.EmpName = empInfoIbll.GetEmpInfoEntityByEmpNo(EmpNo).EmpName;
Eval_Main.LessonName = lessonInfoIbll.GetLessonInfoEntityByLessonNo(LessonNo).LessonName;
return View(Eval_Main);
}
else
{
return View();
}
}
///
/// 表单页
///
///
[HttpGet]
public ActionResult Form()
{
ViewBag.VSerial = "EvaluationTeach_" + CommonHelper.CreateNo();
return View();
}
#endregion
#region 获取数据
[HttpGet]
public ActionResult GenerateNearByAcademic()
{
return Success(Learun.Util.WebHelper.GenerateNearByAcademic());
}
///
/// 获取页面显示列表数据
///
/// 查询参数
///
[HttpGet]
[AjaxOnly]
public ActionResult GetPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject();
var data = ask_MainIBLL.GetPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
[HttpGet]
[AjaxOnly]
public ActionResult GetStudentPageList(string pagination, string queryJson)
{
var data = ask_MainIBLL.GetStudentPageList(null, queryJson);
return Success(data);
}
[HttpGet]
[AjaxOnly]
public ActionResult GetAnswerPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject();
var data = ask_MainIBLL.GetAnswerPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
[HttpGet]
[AjaxOnly]
public ActionResult GetTeacherIndexPageList(string pagination, string queryJson)
{
var data = ask_MainIBLL.GetTeacherIndexPageList(null, queryJson);
return Success(data);
}
[HttpGet]
[AjaxOnly]
public ActionResult GetTeacherIndexPageList2(string pagination, string queryJson)
{
var data = ask_MainIBLL.GetTeacherIndexPageList(null, queryJson);
var data2 = data.GroupBy(x => x.EmpNo).Select(x => new Eval_QuestionResultEntity()
{
EmpNo = x.Key,
EmpName = x.Select(y => y.EmpName).FirstOrDefault(),
LessonNo = String.Join(",", x.Select(y => y.LessonNo).ToArray()),
StudentCount = x.Select(y => y.StudentCount).Sum(),
EvalCount = x.Select(y => y.EvalCount).Sum(),
AverageScore = x.Select(y => y.AverageScore).Sum()
});
return Success(data2);
}
///
/// 获取表单数据
///
///
[HttpGet]
[AjaxOnly]
public ActionResult GetFormData(string keyValue)
{
var Eval_MainData = ask_MainIBLL.GetEval_MainEntity(keyValue);
var jsonData = new
{
Eval_Main = Eval_MainData,
};
return Success(jsonData);
}
#endregion
#region 提交数据
///
/// 删除实体数据
/// 主键
///
///
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string keyValue)
{
ask_MainIBLL.DeleteEntity(keyValue);
return Success("删除成功!");
}
[HttpPost]
[AjaxOnly]
public ActionResult SubmitForm(string keyValue)
{
ask_MainIBLL.ChangeFormStatus(keyValue, true);
return Success("操作成功!");
}
[HttpPost]
[AjaxOnly]
public ActionResult UnSubmitForm(string keyValue)
{
ask_MainIBLL.ChangeFormStatus(keyValue, false);
return Success("操作成功!");
}
///
/// 保存实体数据(新增、修改)
/// 主键
///
///
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string keyValue, string strEntity)
{
var userinfo = LoginUserInfo.Get();
Eval_MainEntity entity = strEntity.ToObject();
entity.UID = userinfo.userId;
entity.UName = userinfo.realName;
entity.VCreateTime = DateTime.Now;
entity.Status = false;
ask_MainIBLL.SaveEntity(keyValue, entity);
return Success("保存成功!");
}
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
[ValidateInput(false)]
public ActionResult StudentSubmitForm(string answerlist, string VID, string LessonNo, string EmpNo)
{
var userinfo = LoginUserInfo.Get();
List entity = answerlist.ToObject>();
ask_MainIBLL.SaveEval_QuestionResultEntity(entity, VID, LessonNo, EmpNo, userinfo.account, userinfo.realName, userinfo.iPAddress);
return Success("保存成功!");
}
#endregion
}
}