using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Bowin.Common.Utility;
using Bowin.Common.Data;
using Bowin.Web.Controls.Mvc;
using EMIS.ViewModel;
using EMIS.Web.Controls;
using EMIS.CommonLogic.ScoreManage;
using EMIS.Utility.FormValidate;
using EMIS.ViewModel.ScoreManage;
namespace EMIS.Web.Controllers.ScoreManage
{
[Authorization]
public class ExaminationExemptionController : Controller
{
public IExaminationExemptionServices ExaminationExemptionServices { get; set; }
///
/// 免修名单页面
///
///
public ActionResult List()
{
ViewBag.StartStatusID = this.ExaminationExemptionServices.GetStartStatus();
return View();
}
public ActionResult StudentList()
{
ViewBag.StartStatusID = ExaminationExemptionServices.GetStartStatus();
return View();
}
public ActionResult Edit(Guid? examinationExemptionID)
{
ExaminationExemptionView examinationExemptionView = new ExaminationExemptionView();
if (examinationExemptionID.HasValue)
{
examinationExemptionView = this.ExaminationExemptionServices.GetExaminationExemptionView(examinationExemptionID.Value);
}
else
{
//默认值
examinationExemptionView.ExamsCategoryID = (int)EMIS.ViewModel.CF_ExamsCategory.FinalExam;
}
return View(examinationExemptionView);
}
[HttpPost]
public ActionResult List(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var schoolyearID = pararms.getExtraGuid("ddlSchoolYear");
var collegeID = pararms.getExtraGuid("cbgCollege");
var yearID = pararms.getExtraInt("ddlYear") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("ddlYear");
var standardID = pararms.getExtraInt("cbgStandard") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("cbgStandard");
var classmajorID = pararms.getExtraGuid("cbgClassmajor");
var examsCategoryID = pararms.getExtraInt("ddlExamsCategory") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("ddlExamsCategory");
var recordstatus = pararms.getExtraInt("ddlRecordStatus") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("ddlRecordStatus");
var learningformID = pararms.getExtraInt("LearningformDictionaryDropDown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("LearningformDictionaryDropDown");
var education = pararms.getExtraInt("DictionaryEducation") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryEducation");
var LearnSystem = pararms.getExtraString("DictionaryLearnSystem");
return Json(ExaminationExemptionServices.GetExaminationExemptionGridView(configuretView, schoolyearID, collegeID, yearID, standardID,
classmajorID, examsCategoryID, recordstatus,learningformID,education,LearnSystem, (int)pararms.page, (int)pararms.rows));
}
///
/// 导出Excel
///
///
[HttpPost]
public ActionResult Excel()
{
NpoiExcelHelper neh = new NpoiExcelHelper();
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null);
var schoolyearID = Request.Form["ddlSchoolYear"].ParseStrTo();
var collegeID = Request.Form["cbgCollege"].ParseStrTo();
var yearID = Request.Form["ddlYear"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["ddlYear"].ParseStrTo();
var standardID = Request.Form["cbgStandard"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["cbgStandard"].ParseStrTo();
var classmajorID = Request.Form["cbgClassmajor"].ParseStrTo();
var examsCategoryID = Request.Form["ddlExamsCategory"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["ddlExamsCategory"].ParseStrTo();
var recordstatus = Request.Form["ddlRecordStatus"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["ddlRecordStatus"].ParseStrTo();
var learningformID = Request.Form["LearningformDictionaryDropDown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["LearningformDictionaryDropDown"].ParseStrTo();
var education = Request.Form["DictionaryEducation"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryEducation"].ParseStrTo();
var LearnSystem = Request.Form["DictionaryLearnSystem"].ToString();
var dt = ExaminationExemptionServices.GetExaminationExemptionViewList(configuretView, schoolyearID, collegeID, yearID, standardID,
classmajorID, examsCategoryID, recordstatus, learningformID, education, LearnSystem).Select(x => new
{
x.LoginID,
x.Name,
x.ClassmajorName,
x.SchoolyearCode,
x.CourseCode,
x.CourseName,
x.ExamsCategoryName,
CreateTime = x.CreateTime.ToStringEx("yyyy-MM-dd"),
x.RecordStatusName
}).ToTable();
string[] liststring = { "学号", "姓名", "班级", "学年学期", "课程代码", "课程名称", "考试性质", "申请日期", "状态" };
neh.Export(dt, liststring, "免考名单");
return RedirectToAction("MsgShow", "Common", new
{
msg = "导出成功!",
url = Url.Action("List").AddMenuParameter()
});
}
[HttpPost]
public ActionResult StudentList(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
return Json(ExaminationExemptionServices.GetExaminationExemptionStudentGridView(configuretView, CustomPrincipal.Current.UserID,
(int)pararms.page, (int)pararms.rows));
}
[HttpPost]
public ActionResult GetCoursematerial(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
return Json(ExaminationExemptionServices.GetExaminationExemptionCoursematerialGridView(configuretView, (int)pararms.page, (int)pararms.rows));
}
[HttpPost]
public ActionResult GetCoursematerialForTeacher(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var UserID = pararms.getExtraGuid("UserID");
return Json(ExaminationExemptionServices.GetExaminationExemptionCoursematerialGridViewForTeacher(configuretView, UserID, (int)pararms.page, (int)pararms.rows));
}
[HttpPost]
public ActionResult Edit(ExaminationExemptionView examinationExemptionView)
{
try
{
examinationExemptionView.UserID = CustomPrincipal.Current.UserID;
examinationExemptionView.SchoolyearID = BaseExtensions.GetCurrentSchoolYearID();
examinationExemptionView.ExamsCategoryID = (int)CF_ExamsCategory.FinalExam;
this.ExaminationExemptionServices.Save(examinationExemptionView);
return Json(new ReturnMessage { IsSuccess = true, Message = "保存成功。" });
}
catch (Exception ex)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "保存失败:" + ex.Message });
}
}
[HttpPost]
public ActionResult Approve(string examinationExemptionIDs, Guid actionID, string comment)
{
var examinationExemptionIDList = examinationExemptionIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => new Guid(x)).ToList();
var curUserID = CustomPrincipal.Current.UserID;
if (examinationExemptionIDList.Count == 0)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "请选择至少一条记录进行审核。" });
}
try
{
this.ExaminationExemptionServices.Approve(examinationExemptionIDList, curUserID, (Guid)actionID, comment);
return Json(new ReturnMessage { IsSuccess = true, Message = "审核成功。" });
}
catch (Exception ex)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "审核失败:" + ex.Message });
}
}
[HttpPost]
public ActionResult Cancel(string examinationExemptionIDs, string comment)
{
var examinationExemptionIDList = examinationExemptionIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => new Guid(x)).ToList();
var curUserID = CustomPrincipal.Current.UserID;
if (examinationExemptionIDList.Count == 0)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "请选择至少一条记录进行撤销。" });
}
try
{
this.ExaminationExemptionServices.Cancel(examinationExemptionIDList, curUserID, comment);
return Json(new ReturnMessage { IsSuccess = true, Message = "撤销成功。" });
}
catch (Exception ex)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "撤销失败:" + ex.Message });
}
}
//[HttpPost]
//public ActionResult Rollback(string examinationExemptionIDs, string comment)
//{
// var examinationExemptionIDList = examinationExemptionIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => new Guid(x)).ToList();
// var curUserID = CustomPrincipal.Current.UserID;
// if (examinationExemptionIDList.Count == 0)
// {
// return Json(new ReturnMessage { IsSuccess = false, Message = "请选择至少一条记录进行退回。" });
// }
// try
// {
// var actionViewList = this.ExaminationExemptionServices.GetActionView(examinationExemptionIDList[0], curUserID);
// var actionView = actionViewList.FirstOrDefault(x => x.ActionName != "同意" && x.ActionName != "撤销");
// if (actionView == null)
// {
// return Json(new ReturnMessage { IsSuccess = false, Message = "退回失败:当前环节不可退回。" });
// }
// foreach (var examinationExemptionID in examinationExemptionIDList)
// {
// this.ExaminationExemptionServices.Approve(examinationExemptionID, curUserID, actionView.ActionID, comment);
// }
// return Json(new ReturnMessage { IsSuccess = true, Message = "退回成功。" });
// }
// catch (Exception ex)
// {
// return Json(new ReturnMessage { IsSuccess = false, Message = "退回失败:" + ex.Message });
// }
//}
[HttpPost]
public ActionResult Delete(string examinationExemptionIDs)
{
var examinationExemptionIDList = examinationExemptionIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => new Guid(x)).ToList();
try
{
this.ExaminationExemptionServices.Delete(examinationExemptionIDList);
return Json(new ReturnMessage { IsSuccess = true, Message = "删除成功。" });
}
catch (Exception ex)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "删除失败:" + ex.Message });
}
}
[HttpPost]
public ActionResult Submit(string examinationExemptionIDs)
{
var examinationExemptionIDList = examinationExemptionIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => new Guid(x)).ToList();
var curUserID = CustomPrincipal.Current.UserID;
if (examinationExemptionIDList.Count == 0)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "请选择至少一条记录进行提交。" });
}
try
{
this.ExaminationExemptionServices.StartUp(examinationExemptionIDList, curUserID);
return Json(new ReturnMessage { IsSuccess = true, Message = "提交成功。" });
}
catch (Exception ex)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "提交失败:" + ex.Message });
}
}
public ActionResult applyEdit(Guid examinationExemptionID)
{
var es = ExaminationExemptionServices.GetExaminationExemptionView(examinationExemptionID);
return View(es);
}
public ActionResult TeacherEdit(Guid? examinationExemptionID)
{
ExaminationExemptionView examinationExemptionView = new ExaminationExemptionView();
if (examinationExemptionID.HasValue)
{
examinationExemptionView = this.ExaminationExemptionServices.GetExaminationExemptionView(examinationExemptionID.Value);
}
else
{
//默认值
examinationExemptionView.ExamsCategoryID = (int)EMIS.ViewModel.CF_ExamsCategory.FinalExam;
}
ViewBag.CoursematerialID = examinationExemptionView.CoursematerialID;
return View(examinationExemptionView);
}
[HttpPost]
public ActionResult TeacherEdit(ExaminationExemptionView examinationExemptionView)
{
try
{
examinationExemptionView.SchoolyearID = BaseExtensions.GetCurrentSchoolYearID();
examinationExemptionView.ExamsCategoryID = (int)CF_ExamsCategory.FinalExam;
this.ExaminationExemptionServices.Save(examinationExemptionView);
return Json(new ReturnMessage { IsSuccess = true, Message = "保存成功。" });
}
catch (Exception ex)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "保存失败:" + ex.Message });
}
}
///
/// 免修申请报表
///
///
public ActionResult ExaminationExemptionReport()
{
var user = HttpContext.User as EMIS.Utility.FormValidate.CustomPrincipal;
ViewBag.LoginUserID = user.UserID;
return View();
}
}
}