示例#1
0
        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));
        }
示例#2
0
        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));
            }
        }
示例#3
0
        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));
            }
        }
示例#4
0
        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));
            }
        }
示例#5
0
 /// <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));
        }
示例#7
0
        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));
        }
示例#8
0
        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));
            }
        }