using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using EMIS.CommonLogic.ExamManage; using EMIS.ViewModel; using EMIS.Web.Controls; using Bowin.Common.Exceptions; using Bowin.Common.Utility; using Bowin.Common.Data; using Bowin.Web.Controls.Mvc; namespace EMIS.Web.Controllers.ExamManage { [Authorization] public class ExamProjectControlController : Controller { public IExamProjectControlServices IExamProjectControlService { get; set; } public IExamBatchProjectServices IExamBatchProjectService { get; set; } public IProjectFeeServices IProjectFeeService { get; set; } // // GET: /ExaminationBatch/ public ActionResult List() { return View(); } public ActionResult Select() { return View(); } /// /// 项目列表查询 /// /// /// [HttpPost] public ActionResult List(QueryParamsModel pararms) { List configuretViews = new List(); configuretViews.Add(ConfiguretExtensions.GetConfiguretermsView(pararms)); configuretViews.AddRange(pararms.getConditions()); var StartDate = configuretViews.Where(x => x.Attribute == "StartDate").SingleOrDefault(); if (StartDate != null) StartDate.Condition = ">="; var EndDate = configuretViews.Where(x => x.Attribute == "EndDate").SingleOrDefault(); if (EndDate != null) EndDate.Condition = "<="; return base.Json(IExamProjectControlService.GetListGridView((int)pararms.page, (int)pararms.rows, configuretViews.ToArray())); } /// /// 控制考试类型列表查询 /// /// /// [HttpPost] public ActionResult GetControlExamTypeListViewGrid(QueryParamsModel pararms) { List configuretViews = new List(); configuretViews.Add(ConfiguretExtensions.GetConfiguretermsView(pararms)); configuretViews.AddRange(pararms.getConditions()); return base.Json(IExamProjectControlService.GetControlExamTypeListViewGrid((int)pararms.page, (int)pararms.rows, configuretViews.ToArray())); } /// /// 控制考试列表查询 /// /// /// [HttpPost] public ActionResult GetControlProjectListViewGrid(QueryParamsModel pararms) { List configuretViews = new List(); configuretViews.Add(ConfiguretExtensions.GetConfiguretermsView(pararms)); configuretViews.AddRange(pararms.getConditions()); return base.Json(IExamProjectControlService.GetControlProjectListViewGrid((int)pararms.page, (int)pararms.rows, configuretViews.ToArray())); } /// /// 控制收费项目列表查询 /// /// /// [HttpPost] public ActionResult GetControlProjectFeeListViewGrid(QueryParamsModel pararms) { List configuretViews = new List(); var ExaminationBatchProjectID = pararms.getExtraGuid("ExaminationBatchProjectID"); var view = IExamBatchProjectService.GetView(x => x.ExaminationBatchProjectID == ExaminationBatchProjectID); if (view != null) { configuretViews.Add(new ConfiguretView() { Attribute = "ExaminationProjectID", Condition = "=", ConditionValue = view.ExaminationProjectID.ToString() }); } else { configuretViews.Add(new ConfiguretView() { Attribute = "ExaminationProjectID", Condition = "=", ConditionValue = null }); } return base.Json(IProjectFeeService.GetProjectFeeGrid((int)pararms.page, (int)pararms.rows, configuretViews.ToArray())); } /// /// 设置编辑页 /// /// /// [HttpGet] public ActionResult Edit(Guid? ViewID) { EMIS.ViewModel.ExamProjectControlView projectFeeView = new EMIS.ViewModel.ExamProjectControlView() { ExaminationBatchProjectControlID = Guid.NewGuid(), SchoolYearCode = BaseExtensions.GetCurrentSchoolYearID() }; if (ViewID.HasValue && ViewID != Guid.Empty) { projectFeeView = IExamProjectControlService.GetView(ViewID); } return View(projectFeeView); } /// /// 设置编辑页提交 /// /// /// [HttpPost] public ActionResult Edit(ExamProjectControlView view) { try { var standardList = DataGrid.GetTableData("dgStandardList"); //新增时候是批量,修改为单条操作 if (standardList == null || standardList.Count == 0) { IExamProjectControlService.Edit(view); } else { IExamProjectControlService.Edit(view, standardList); } return Json(new ReturnMessage() { IsSuccess = true, Message = "保存成功。" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败,原因:" + ex.Message }); } } /// /// 删除项目设置 /// /// /// [HttpPost] public JsonResult Delete(string IDs) { try { List list = IDs.Split(',').Where(x => !string.IsNullOrEmpty(x)) .Select(x => (Guid?)new Guid(x)).ToList(); IExamProjectControlService.Delete(list); return base.Json("删除成功。"); } catch (Exception ex) { string mge = ex.Message; System.Data.SqlClient.SqlException num = ExceptionHelper.GetSqlException(ex); if (num != null) { if (num.Number == 547) { mge = "请先删除与其有关联的数据"; } } return base.Json("删除失败,原因:" + mge); } } [HttpPost] public ActionResult Excel(QueryParamsModel pararms) { List configuretViews = new List(); configuretViews.Add(ConfiguretExtensions.GetConfiguretermsView(pararms)); configuretViews.AddRange(pararms.getConditions()); var StartDate = configuretViews.Where(x => x.Attribute == "StartDate").SingleOrDefault(); if (StartDate != null) StartDate.Condition = ">="; var EndDate = configuretViews.Where(x => x.Attribute == "EndDate").SingleOrDefault(); if (EndDate != null) EndDate.Condition = "<="; var query = IExamProjectControlService.GetList(configuretViews.ToArray()); var SelectedID = Request.Form["SelectedID"]; List selectIDlist = new List(); if (SelectedID != "" && SelectedID != null) { selectIDlist = SelectedID.SplitIDString(); query = query.Where(x => selectIDlist.Contains(x.ExaminationBatchProjectControlID)); } var dt = query.ToList().Select(q => new { q.Schoolyear, q.ExaminationBatchProject, q.ExaminationType, q.ProjectName, q.ExaminationProjectFee, q.SchoolyearID, q.CollegeName, q.StandardName, q.IsOnlinePayName, }).ToTable(); NpoiExcelHelper neh = new NpoiExcelHelper(); string[] liststring = { "学年学期","考试批次","考试类型","项目名称","收费标准名称","年级","院系所","专业","能否线上缴费"}; neh.Export(dt, liststring, "批次报名控制列表" + DateTime.Now.ToString("yyyyMMddhhmmss")); return RedirectToAction("MsgShow", "Common", new { msg = "导出成功!", url = Url.Content("~/ExaminationBatc/List").AddMenuParameter() }); } } }