using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using EMIS.ViewModel; using EMIS.CommonLogic.EducationManagement; using EMIS.Entities; using EMIS.ViewModel.EducationManagement; using Bowin.Common.Utility; using Bowin.Common.Data; using Bowin.Web.Controls.Mvc; using EMIS.Web.Controls; using Bowin.Common.Exceptions; namespace EMIS.Web.Controllers.TeachingManagement { [Authorization] public class ClassGroupingController : Controller { public IClassGroupingServices classGroupingService { get; set; } /// /// 上课类型页面 /// /// public ActionResult List() { return View(); } /// /// 查询分班设置列表 /// /// /// [HttpPost] public ActionResult List(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var className = pararms.getExtraString("ClassNameText").Trim(); return this.Json(classGroupingService.GetClassGroupingGrid(configuretView,className, (int)pararms.page, (int)pararms.rows)); } /// /// 编辑 /// /// /// public ActionResult Edit(Guid? classGroupingID) { ClassGroupingView classGroupingView = new ClassGroupingView(); if (classGroupingID != null && classGroupingID != Guid.Empty) classGroupingView = classGroupingService.GetClassGroupingView(classGroupingID); else classGroupingView.IsEnable = true; return View(classGroupingView); } /// /// 编辑 /// /// /// [HttpPost] public ActionResult Edit(ClassGroupingView classGroupingView) { try { var user = HttpContext.User as EMIS.Utility.FormValidate.CustomPrincipal; EM_ClassGrouping classGrouping = null; var settingsList = DataGrid.GetTableData("dgClassGroupingSettingsList"); classGroupingView.TeachingModeIDs = new List(); var isDuplicate = classGroupingService.IsNameDuplicate(classGroupingView.ClassName, classGroupingView.ClassGroupingID); if (isDuplicate) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败,原因:上课类型重复,请重新修改名称。" }); } if (classGroupingView.ClassGroupingID == null || classGroupingView.ClassGroupingID == Guid.NewGuid()) { classGrouping = new EM_ClassGrouping(); classGrouping.ClassGroupingID = Guid.NewGuid(); classGrouping.ClassName = classGroupingView.ClassName; classGrouping.Remarks = classGroupingView.Remarks; classGrouping.IsEnable = classGroupingView.IsEnable; classGrouping.RecordStatus = 1; classGrouping.CreateTime = DateTime.Now; classGrouping.CreateUserID = user.UserID; classGrouping.ModifyTime = DateTime.Now; classGrouping.ModifyUserID = user.UserID; classGroupingService.ClassGroupingAdd(classGrouping); foreach (var settings in settingsList) { if (settings.IsClassGrouping) classGroupingView.TeachingModeIDs.Add(settings.TeachingModeID.ToString()); } if (classGroupingView.TeachingModeIDs != null) { classGroupingService.ClassGroupingSettingsAdd(classGrouping.ClassGroupingID, classGroupingView.TeachingModeIDs); } } else { classGrouping = classGroupingService.GetClassGrouping(classGroupingView.ClassGroupingID); classGrouping.ClassName = classGroupingView.ClassName; classGrouping.Remarks = classGroupingView.Remarks; classGrouping.IsEnable = classGroupingView.IsEnable; classGrouping.ModifyTime = DateTime.Now; classGrouping.ModifyUserID = user.UserID; classGroupingService.ClassGroupingUpdate(classGrouping); foreach (var settings in settingsList) { if (settings.IsClassGrouping) classGroupingView.TeachingModeIDs.Add(settings.TeachingModeID.ToString()); } if (classGroupingView.TeachingModeIDs != null) { classGroupingService.ClassGroupingSettingsAdd(classGrouping.ClassGroupingID, classGroupingView.TeachingModeIDs); } } return Json(new ReturnMessage() { IsSuccess = true, Message = "保存成功!" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败,原因:" + ex.Message + "!" }); } } /// /// 删除 /// /// /// [HttpPost] public ActionResult Delete(string classGroupingIDs) { try { List list = new List(); for (int i = 0; i < classGroupingIDs.Split(',').Length; i++) { string id = classGroupingIDs.Split(',')[i]; if (!string.IsNullOrEmpty(id)) { Guid classGroupingID = new Guid(id); list.Add(classGroupingID); } } classGroupingService.ClassGroupingDelete(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 TeachingModeType(Guid? classGroupingID) { List list = new List(); if (classGroupingID.HasValue && classGroupingID != Guid.Empty) list = classGroupingService.GetTeachingMode(classGroupingID); return base.Json(list); } /// /// 获取授课方式是否分班列表 /// /// /// [HttpPost] public ActionResult ClassGroupingSettingsView(QueryParamsModel pararms) { var classGroupingID = Request.QueryString["classGroupingID"] == "" ? Guid.Empty : new Guid(Request.QueryString["classGroupingID"]); return this.Json(classGroupingService.GetClassGroupingSettingsViewGrid(classGroupingID)); } /// /// 获取上课类型列表 /// [HttpPost] public ActionResult ClassGroupingDropdownListBanid(DropdownListBindType? bindType) { List list = new List(); list = classGroupingService.GetAvailableClassGroupingViewList().Select(x => new DropdownListItem { Text = x.ClassName, Value = x.ClassGroupingID.ToString() }).ToList(); DropdownListBindType dbt = bindType == null ? DropdownListBindType.PleaseSelect : bindType.Value; DropdownList.FormatDropdownItemList(dbt, list); return base.Json(list); } } }