using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Bowin.Common.Data;
using Bowin.Common.Utility;
using Bowin.Web.Controls.Mvc;
using EMIS.CommonLogic.ScoreManage;
using EMIS.ViewModel;
using EMIS.Web.Controls;
using EMIS.Utility.FormValidate;
using EMIS.ViewModel.ScoreManage;
namespace EMIS.Web.Controllers.ScoreManage
{
[Authorization]
public class MisconductController : Controller
{
public IMisconductServices MisconductServices { get; set; }
///
/// 违纪名单页面
///
///
public ActionResult List()
{
ViewBag.StartStatusID = MisconductServices.GetStartStatus();
return View();
}
public ActionResult Edit(Guid? misconductID)
{
MisconductView misconductView = new MisconductView();
if (misconductID.HasValue)
{
misconductView = this.MisconductServices.GetMisconductView(misconductID.Value);
}
else
{
//默认值
misconductView.SchoolyearID = BaseExtensions.GetCurrentSchoolYearID();
}
return View(misconductView);
}
public ActionResult View(Guid misconductID)
{
MisconductView misconductView = new MisconductView();
misconductView = this.MisconductServices.GetMisconductView(misconductID);
return View(misconductView);
}
[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 examsStateID = pararms.getExtraInt("ddlExamsState") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("ddlExamsState");
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(MisconductServices.GetMisconductGridView(configuretView, schoolyearID, collegeID, yearID, standardID,
classmajorID, examsCategoryID, examsStateID, recordstatus,learningformID,education,LearnSystem, (int)pararms.page, (int)pararms.rows));
}
[HttpPost]
public ActionResult Edit(MisconductView misconductView)
{
try
{
this.MisconductServices.Save(misconductView);
return Json(new ReturnMessage { IsSuccess = true, Message = "保存成功。" });
}
catch (Exception ex)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "保存失败:" + ex.Message });
}
}
///
/// 导出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 examsStateID = Request.Form["ddlExamsState"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["ddlExamsState"].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 = MisconductServices.GetMisconductViewList(configuretView, schoolyearID, collegeID, yearID, standardID,
classmajorID, examsCategoryID, examsStateID, recordstatus, learningformID, education, LearnSystem).Select(x => new
{
x.LoginID,
x.Name,
x.ClassmajorName,
x.SchoolyearCode,
x.CourseCode,
x.CourseName,
x.ExamsCategoryName,
x.ExamsStateName,
x.RecordStatusName
}).ToTable();
string[] liststring = { "学号", "姓名", "班级", "学年学期", "课程代码", "课程名称", "考试性质", "考试状态", "状态" };
neh.Export(dt, liststring, "违纪名单");
return RedirectToAction("MsgShow", "Common", new
{
msg = "导出成功!",
url = Url.Action("List").AddMenuParameter()
});
}
[HttpPost]
public ActionResult Submit(string misconductIDs)
{
var misconductIDList = misconductIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => new Guid(x)).ToList();
var curUserID = CustomPrincipal.Current.UserID;
if (misconductIDList.Count == 0)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "请选择至少一条记录进行提交。" });
}
try
{
this.MisconductServices.StartUp(misconductIDList, curUserID);
return Json(new ReturnMessage { IsSuccess = true, Message = "提交成功。" });
}
catch (Exception ex)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "提交失败:" + ex.Message });
}
}
[HttpPost]
public ActionResult Approve(string misconductIDs, Guid actionID, string comment)
{
var misconductIDList = misconductIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => new Guid(x)).ToList();
var curUserID = CustomPrincipal.Current.UserID;
if (misconductIDList.Count == 0)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "请选择至少一条记录进行审核。" });
}
try
{
this.MisconductServices.Approve(misconductIDList, curUserID, 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 misconductIDs, string comment)
{
var misconductIDList = misconductIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => new Guid(x)).ToList();
var curUserID = CustomPrincipal.Current.UserID;
if (misconductIDList.Count == 0)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "请选择至少一条记录进行撤销。" });
}
try
{
this.MisconductServices.Cancel(misconductIDList, curUserID, 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 misconductIDs)
{
var misconductIDList = misconductIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => new Guid(x)).ToList();
try
{
this.MisconductServices.Delete(misconductIDList);
return Json(new ReturnMessage { IsSuccess = true, Message = "删除成功。" });
}
catch (Exception ex)
{
return Json(new ReturnMessage { IsSuccess = false, Message = "删除失败:" + ex.Message });
}
}
[HttpPost]
public ActionResult GetMisconductExamsStateList(DropdownListBindType? bindType)
{
List list = MisconductServices.GetMisconductExamsStateList()
.Select(x => new DropdownListItem { Text = x.Name, Value = x.Value }).ToList();
DropdownListBindType dbt = bindType == null ? DropdownListBindType.SelectAll : bindType.Value;
DropdownList.FormatDropdownItemList(dbt, list);
return base.Json(list);
}
[HttpPost]
public ActionResult GetCoursematerial(QueryParamsModel pararms, Guid? schoolyearID, Guid? userID)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
return Json(MisconductServices.GetMisconductCoursematerialGridView(configuretView, schoolyearID, userID, (int)pararms.page, (int)pararms.rows));
}
}
}