using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using EMIS.CommonLogic.ExaminationApply; using EMIS.ViewModel.ExaminationApply; using EMIS.ViewModel; using EMIS.Web.Controls; using Bowin.Common.Data; using Bowin.Common.Utility; using Bowin.Common.Exceptions; namespace EMIS.Web.Controllers.ExaminationApply { [Authorization] public class ExaminationSubjectCountLimitController : Controller { public ISubjectCountLimitServices SubjectCountLimitServices { get; set; } /// /// 专业控制页面 /// /// public ActionResult List() { return View(); } public ActionResult Add() { SubjectCountLimitView subjectCountLimitView = new SubjectCountLimitView(); return View(subjectCountLimitView); } [HttpPost] public ActionResult Add(SubjectCountLimitView subjectCountLimitView) { try { if (subjectCountLimitView.FacultymajorID == null) return Json(new ReturnMessage() { IsSuccess = false, Message = "请选择院系专业!" }); var facultymajorString = Request.Form["FacultymajorID"]; var facultymajorIDList = facultymajorString.Split(',').Where(x => x.IndexOf("-") >= 0).Select(x => new Guid(x)).ToList(); foreach (var facultymajorID in facultymajorIDList) { subjectCountLimitView.FacultymajorID = facultymajorID; SubjectCountLimitServices.Save(subjectCountLimitView); } return Json(new ReturnMessage() { IsSuccess = true, Message = "保存成功!" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败:" + ex.Message }); } } public ActionResult Edit(Guid? SubjectCountLimitID) { SubjectCountLimitView subjectCountLimitView = new SubjectCountLimitView(); if (SubjectCountLimitID != null && SubjectCountLimitID != Guid.Empty) { subjectCountLimitView = SubjectCountLimitServices.GetSubjectCountLimitViewInfo(SubjectCountLimitID); } return View(subjectCountLimitView); } /// /// 列表查询 /// /// /// [HttpPost] public ActionResult List(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var examinationTypeID = pararms.getExtraGuid("ExaminationTypeDropdown"); var facultymajorID = pararms.getExtraGuid("FacultymajorDropdown"); var yearNum = pararms.getExtraInt("YearNumDropdown") == Bowin.Web.Controls.Mvc.DropdownList.SELECT_ALL ? null : pararms.getExtraInt("YearNumDropdown"); if (configuretView.Attribute == Bowin.Web.Controls.Mvc.DropdownList.SELECT_ALL.ToString()) configuretView.Attribute = ""; return base.Json(SubjectCountLimitServices.GetSubjectCountLimitViewList(configuretView, examinationTypeID, facultymajorID, yearNum, (int)pararms.page, (int)pararms.rows)); } [HttpPost] public ActionResult Excel() { NpoiExcelHelper neh = new NpoiExcelHelper(); ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null); var examinationTypeID = Request.Form["ExaminationTypeDropdown"].ParseStrTo(); var facultymajorID = Request.Form["FacultymajorDropdown"].ParseStrTo(); if (configuretView.Attribute == Bowin.Web.Controls.Mvc.DropdownList.SELECT_ALL.ToString()) configuretView.Attribute = ""; var dt = SubjectCountLimitServices.GetSubjectCountLimitViewList(configuretView, examinationTypeID, facultymajorID).Select(x => new { x.ExaminationTypeName, x.FacultymajorName, x.SchoolyearNumName, x.SubjectCountLimit }).ToTable(); string[] liststring = { "考试类型", "院系专业", "年级数", "报名门数" }; neh.Export(dt, liststring, "门数限定信息"); return RedirectToAction("MsgShow", "Common", new { msg = "导出成功!", url = Url.Content("~/SubjectCountLimit/List").AddMenuParameter() }); } /// /// 删除 /// /// /// [HttpPost] public ActionResult Delete(string subjectCountLimitIDs) { try { var subjectCountLimitIDList = subjectCountLimitIDs.Split(',').Select(x => (Guid?)new Guid(x)).ToList(); SubjectCountLimitServices.Delete(subjectCountLimitIDList); return base.Json("删除成功"); } catch (Exception ex) { return base.Json("删除失败,原因:" + ex.Message + "!"); } } /// /// 修改 /// /// [HttpPost] public ActionResult Edit(SubjectCountLimitView subjectCountLimitView) { try { if (subjectCountLimitView.FacultymajorID == null) return Json(new ReturnMessage() { IsSuccess = false, Message = "请选择院系专业!" }); SubjectCountLimitServices.Save(subjectCountLimitView); return Json(new ReturnMessage() { IsSuccess = true, Message = "保存成功!" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败:" + ex.Message }); } } public ActionResult Validation(Guid? examinationType, string facultymajorIDs, string years) { List list = new List(); foreach (var i in facultymajorIDs.Split(',')) { list.Add(new Guid(i)); } List list1 = new List(); foreach (var i in years.Split(',')) { list1.Add(Convert.ToInt32(i)); } string [] result=SubjectCountLimitServices.Validation(examinationType, list, list1); return Json(new ReturnMessage() { IsSuccess = result[0] == "true" ? true : false, Message = result[1] }); } } }