public ActionResult StudentInSchool(Models.StudentChange.StudentInSchool vm) { var error = new List <string>(); if (error.Count == decimal.Zero) { using (var db = new XkSystem.Models.DbContext()) { var tb = new Student.Entity.tbStudentChange(); if (vm.DataEdit.Id > 0) { tb = db.Table <Entity.tbStudentChange>().Where(d => d.Id == vm.DataEdit.Id).Include(d => d.tbStudent.tbSysUser).FirstOrDefault(); tb.InputDate = DateTime.Now; tb.Remark = vm.DataEdit.Remark; tb.tbStudentChangeType = db.Set <Student.Entity.tbStudentChangeType>().Find(vm.DataEdit.StudentChangeTypeId); tb.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId); } else { var studentCode = ""; if (vm.DataEdit.StudentCode.IndexOf('(') > 0) { studentCode = vm.DataEdit.StudentCode.Split('(')[0]; } var student = db.Table <Student.Entity.tbStudent>().Where(d => d.StudentCode == studentCode).Include(d => d.tbSysUser).FirstOrDefault(); if (student == null) { error.Add("学生不存在!"); return(Code.MvcHelper.Post(error)); } tb = new Student.Entity.tbStudentChange() { InputDate = DateTime.Now, Remark = vm.DataEdit.Remark, tbStudent = student, tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId), tbStudentChangeType = db.Set <Student.Entity.tbStudentChangeType>().Find(vm.DataEdit.StudentChangeTypeId) }; db.Set <Student.Entity.tbStudentChange>().Add(tb); } tb.tbStudent.tbSysUser.IsDisable = false; var classStudent = db.Table <Basis.Entity.tbClassStudent>().Where(d => d.tbStudent.StudentCode == vm.DataEdit.StudentCode).Include(d => d.tbClass).FirstOrDefault(); classStudent.tbClass = db.Set <Basis.Entity.tbClass>().Find(vm.DataEdit.ClassId); if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加学生调动"); } } } return(Code.MvcHelper.Post(error)); }
public ActionResult StudentOut(Models.StudentChange.StudentOut vm) { using (var db = new XkSystem.Models.DbContext()) { var error = new List <string>(); if (error.Count == decimal.Zero) { var studentCode = ""; if (vm.DataEdit.StudentCode.IndexOf('(') > 0) { studentCode = vm.DataEdit.StudentCode.Split('(')[0]; } else { studentCode = vm.DataEdit.StudentCode; } var student = db.Table <Student.Entity.tbStudent>().Where(d => d.StudentCode == studentCode).Include(d => d.tbSysUser).FirstOrDefault(); if (student == null) { error.Add("学生不存在!"); return(Code.MvcHelper.Post(error)); } else { var tb = new Student.Entity.tbStudentChange() { InputDate = DateTime.Now, Remark = vm.DataEdit.Remark, tbStudent = student, tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId), //tbStudentChangeType = db.Table<Student.Entity.tbStudentChangeType>().Where(d => d.StudentChangeTypeName == "转学").FirstOrDefault() tbStudentChangeType = db.Set <Student.Entity.tbStudentChangeType>().Find(vm.DataEdit.StudentChangeTypeId) }; if (tb.tbStudentChangeType.StudentChangeTypeName == "复学" || tb.tbStudentChangeType.StudentChangeTypeName == "转入") { tb.tbStudent.tbSysUser.IsDisable = false; } else { student.IsDeleted = true; tb.tbStudent.tbSysUser.IsDisable = true; } db.Set <Student.Entity.tbStudentChange>().Add(tb); } if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加学生调动"); } } return(Code.MvcHelper.Post(error)); } }
public ActionResult StudentReset(Models.StudentChange.StudentReset vm) { using (var db = new XkSystem.Models.DbContext()) { var error = new List <string>(); if (error.Count == decimal.Zero) { var student = db.Table <Entity.tbStudent>().Where(d => d.StudentCode == vm.DataEdit.StudentCode && d.StudentName == vm.DataEdit.StudentName).FirstOrDefault(); if (student == null) { error.Add("学生不存在!"); return(Code.MvcHelper.Post(error)); } student.tbStudentSession = db.Set <Student.Entity.tbStudentSession>().Find(vm.DataEdit.StudentSessionId); var tb = new Student.Entity.tbStudentChange() { InputDate = DateTime.Now, Remark = vm.DataEdit.Remark, tbStudent = student, tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId), tbStudentChangeType = db.Table <Student.Entity.tbStudentChangeType>().Where(d => d.StudentChangeTypeName == "复学").FirstOrDefault() }; var classStudent = db.Table <Basis.Entity.tbClassStudent>().Where(d => d.tbStudent.Id == student.Id).FirstOrDefault(); if (classStudent != null) { classStudent.tbClass = db.Set <Basis.Entity.tbClass>().Find(vm.DataEdit.ClassId); } else { classStudent = new Basis.Entity.tbClassStudent() { tbClass = db.Set <Basis.Entity.tbClass>().Find(vm.DataEdit.ClassId), tbStudent = student }; db.Set <Basis.Entity.tbClassStudent>().Add(classStudent); } db.Set <Student.Entity.tbStudentChange>().Add(tb); db.Set <Basis.Entity.tbClassStudent>().Add(classStudent); if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加学生调动"); } } return(Code.MvcHelper.Post(error)); } }
public ActionResult StudentIn(Models.StudentChange.StudentIn vm) { using (var db = new XkSystem.Models.DbContext()) { var error = new List <string>(); if (error.Count == decimal.Zero) { var student = new Student.Entity.tbStudent() { StudentCode = vm.DataEdit.StudentCode, StudentName = vm.DataEdit.StudentName, tbSysUser = new Sys.Entity.tbSysUser() { UserCode = vm.DataEdit.StudentCode, UserName = vm.DataEdit.StudentName, Password = Code.Common.DESEnCode("123456"), PasswordMd5 = Code.Common.CreateMD5Hash("123456"), UserType = Code.EnumHelper.SysUserType.Student, tbSex = db.Table <Dict.Entity.tbDictSex>().Where(d => d.SexName == vm.DataEdit.SexName).FirstOrDefault() } }; var tb = new Student.Entity.tbStudentChange() { InputDate = DateTime.Now, Remark = vm.DataEdit.Remark, tbStudent = student, tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId), tbStudentChangeType = db.Table <Student.Entity.tbStudentChangeType>().Where(d => d.StudentChangeTypeName == "转入").FirstOrDefault() }; db.Set <Student.Entity.tbStudentChange>().Add(tb); var classStudent = new Basis.Entity.tbClassStudent() { tbClass = db.Set <Basis.Entity.tbClass>().Find(vm.DataEdit.ClassId), tbStudent = student }; db.Set <Basis.Entity.tbClassStudent>().Add(classStudent); if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加学生调动"); } } return(Code.MvcHelper.Post(error)); } }
/// <summary> /// 学生异动通用方法 /// </summary> public static bool StudentChange(Models.StudentChange.StudentChange sc) { using (var db = new XkSystem.Models.DbContext()) { var studentUser = (from p in db.Table <Sys.Entity.tbSysUser>() where p.UserType == Code.EnumHelper.SysUserType.Student && p.UserCode == sc.StudentCode select p).FirstOrDefault(); var tb = new Student.Entity.tbStudentChange(); tb.Remark = sc.Remark; tb.tbSysUser = studentUser; tb.InputDate = DateTime.Now; db.Set <Student.Entity.tbStudentChange>().Add(tb); db.SaveChanges(); return(true); } }
public ActionResult ChangeClass(Models.ClassStudent.ChangeClass vm) { var error = new List <string>(); if (error.Count == decimal.Zero) { using (var db = new XkSystem.Models.DbContext()) { //todo:添加学生调班记录 var tb = (from p in db.Table <Basis.Entity.tbClassStudent>() .Include(d => d.tbClass).Include(d => d.tbStudent) where p.Id == vm.Id select p).FirstOrDefault(); if (tb != null) { tb.tbClass = db.Set <Basis.Entity.tbClass>().Find(vm.ClassId); tb.No = vm.No; var studentChange = new Student.Entity.tbStudentChange() { InputDate = DateTime.Now, No = db.Table <Student.Entity.tbStudentChange>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1, tbStudent = db.Set <Student.Entity.tbStudent>().Find(tb.tbStudent.Id), tbStudentChangeType = db.Table <Student.Entity.tbStudentChangeType>().Where(d => d.StudentChangeTypeName == "调班").FirstOrDefault(), tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId) }; db.Set <Student.Entity.tbStudentChange>().Add(studentChange); if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加学生调动"); } } } } return(Code.MvcHelper.Post(error)); }
public ActionResult Import(Models.StudentChange.Import vm) { using (var db = new XkSystem.Models.DbContext()) { #region excel文件,并转为DataTable var file = Request.Files[nameof(vm.UploadFile)]; var fileSave = System.IO.Path.GetTempFileName(); file.SaveAs(fileSave); if (Code.Common.GetFileType(file.FileName) != Code.FileType.Excel) { ModelState.AddModelError("", "上传的文件不是正确的EXCLE文件!"); return(View(vm)); } var dt = Code.NpoiHelper.ExcelToDataTable(fileSave, System.IO.Path.GetExtension(file.FileName), string.Empty); if (dt == null) { ModelState.AddModelError("", "无法读取上传的文件,请检查文件格式是否正确!"); return(View(vm)); } var tbList = new List <string>() { "学号", "姓名", "调动类型", "备注" }; var Text = string.Empty; foreach (var a in tbList) { if (dt.Columns.Contains(a.ToString()) == false) { Text += a + ","; } } if (string.IsNullOrEmpty(Text) == false) { ModelState.AddModelError("", "上传的EXCEL内容与预期不一致,缺少对应的字段:" + Text); return(View(vm)); } #endregion #region 将DataTable转为List foreach (System.Data.DataRow dr in dt.Rows) { var dto = new Dto.StudentChange.Import() { #region StudentCode = dr["学号"].ConvertToString(), StudentName = dr["姓名"].ConvertToString(), ChangeTypeName = dr["调动类型"].ConvertToString(), Remark = dr["备注"].ConvertToString(), #endregion }; if (vm.ImportList.Where(d => d.StudentName == dto.StudentName && d.StudentCode == dto.StudentCode && d.ChangeTypeName == dto.ChangeTypeName).Count() == 0) { vm.ImportList.Add(dto); } } if (vm.ImportList.Count == 0) { ModelState.AddModelError("", "未读取到任何有效数据!"); return(View(vm)); } #endregion var studentList = db.Table <Student.Entity.tbStudent>().ToList(); var changeTypeList = db.Table <Student.Entity.tbStudentChangeType>().ToList(); var studentChangeList = db.Table <Student.Entity.tbStudentChange>() .Include(d => d.tbStudentChangeType) .Include(d => d.tbStudent).ToList(); #region 验证数据格式是否正确 foreach (var v in vm.ImportList) { if (string.IsNullOrEmpty(v.ChangeTypeName)) { v.Error += "调动类型不能为空;"; } if (changeTypeList.Where(d => d.StudentChangeTypeName == v.ChangeTypeName).Count() == 0) { v.Error += "调动类型不存在;"; } if (string.IsNullOrEmpty(v.StudentName)) { v.Error += "学生姓名不能为空;"; } if (string.IsNullOrEmpty(v.StudentCode)) { v.Error += "学生学号不能为空;"; } if (studentList.Where(d => d.StudentCode == v.StudentCode && d.StudentName == v.StudentName).Count() == 0) { v.Error += "学生不存在;"; } if (!vm.IsUpdate && studentChangeList.Where(d => d.tbStudent.StudentCode == v.StudentCode && d.tbStudentChangeType.StudentChangeTypeName == v.ChangeTypeName).Count() > 0) { v.Error += "系统中已存在该记录!"; } } if (vm.ImportList.Where(d => string.IsNullOrEmpty(d.Error) == false).Count() > 0) { vm.ImportList.RemoveAll(d => string.IsNullOrEmpty(d.Error)); return(View(vm)); } #endregion #region 数据导入,判断关键字,存在的数据做更新,不存在的做新增 var tbStudentChangeList = new List <Student.Entity.tbStudentChange>(); foreach (var v in vm.ImportList) { var tb = new Student.Entity.tbStudentChange(); if (studentChangeList.Where(d => d.tbStudent.StudentCode == v.StudentCode && d.tbStudentChangeType.StudentChangeTypeName == v.ChangeTypeName).Count() > 0) { #region 修改 if (vm.IsUpdate) { tb = studentChangeList.Where(d => d.tbStudent.StudentCode == v.StudentCode && d.tbStudentChangeType.StudentChangeTypeName == v.ChangeTypeName).FirstOrDefault(); tb.tbStudent = studentList.Where(d => d.StudentCode == v.StudentCode && d.StudentName == v.StudentName).FirstOrDefault(); tb.Remark = v.Remark; tb.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId); if (!string.IsNullOrEmpty(v.ChangeTypeName)) { tb.tbStudentChangeType = changeTypeList.Where(d => d.StudentChangeTypeName == v.ChangeTypeName).FirstOrDefault(); } } #endregion } else { #region 新增 tb = new Student.Entity.tbStudentChange(); tb.InputDate = DateTime.Now; tb.Remark = v.Remark; tb.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId); tb.tbStudent = studentList.Where(d => d.StudentCode == v.StudentCode && d.StudentName == v.StudentName).FirstOrDefault(); if (!string.IsNullOrEmpty(v.ChangeTypeName)) { tb.tbStudentChangeType = changeTypeList.Where(d => d.StudentChangeTypeName == v.ChangeTypeName).FirstOrDefault(); } tbStudentChangeList.Add(tb); #endregion } } db.Set <Student.Entity.tbStudentChange>().AddRange(tbStudentChangeList); if (db.SaveChanges() > 0) { vm.ImportList.RemoveAll(d => string.IsNullOrEmpty(d.Error)); XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("导入学生异动"); vm.Status = true; } #endregion } return(View(vm)); }
public ActionResult Edit(Models.StudentChange.Edit vm) { using (var db = new XkSystem.Models.DbContext()) { var error = new List <string>(); if (error.Count == decimal.Zero) { var tb = (from p in db.Table <Student.Entity.tbStudentChange>() .Include(d => d.tbStudent.tbSysUser) where p.Id == vm.StudentChangeEdit.Id select p).FirstOrDefault(); if (tb != null) { tb.tbStudentChangeType = db.Set <Student.Entity.tbStudentChangeType>().Find(vm.StudentChangeEdit.StudentChangeTypeId); tb.Remark = vm.StudentChangeEdit.Remark; if (tb.tbStudentChangeType.StudentChangeTypeName == "复学") { tb.tbStudent.tbSysUser.IsDisable = false; } else { tb.tbStudent.tbSysUser.IsDisable = true; } // 如果休学、转学、开除、退学、出国、其他,删除学生 //StudentController.Delete(db, vm.StudentChangeEdit.UserCode); if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改学生调动"); } } else { var sCode = vm.StudentChangeEdit.StudentCode.Split('(')[0]; var studentUser = (from p in db.Table <Student.Entity.tbStudent>() .Include(d => d.tbSysUser) where p.StudentCode == sCode select p).FirstOrDefault(); if (studentUser == null) { error.AddError("学号对应学生信息不存在,请核对!"); return(Code.MvcHelper.Post(error, "", "学号对应学生信息不存在,请核对!")); } tb = new Student.Entity.tbStudentChange(); tb.tbStudent = studentUser; tb.tbStudentChangeType = db.Table <Student.Entity.tbStudentChangeType>().Where(d => d.Id == vm.StudentChangeEdit.StudentChangeTypeId).FirstOrDefault(); tb.Remark = vm.StudentChangeEdit.Remark; tb.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId); tb.InputDate = DateTime.Now; db.Set <Student.Entity.tbStudentChange>().Add(tb); if (tb.tbStudentChangeType.StudentChangeTypeName == "复学") { tb.tbStudent.tbSysUser.IsDisable = false; } else { tb.tbStudent.tbSysUser.IsDisable = true; } // 如果休学、转学、开除、退学、出国、其他,删除学生 //StudentController.Delete(db, vm.StudentChangeEdit.UserCode); if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加学生调动"); } } } return(Code.MvcHelper.Post(error)); } }