/// <summary> /// 增加一个学生 /// </summary> /// <param name="depname">学生所在系的名称</param> /// <param name="classname">学生所在班级的名称</param> /// <param name="stu">学生对象</param> /// <returns></returns> internal bool AddStudent(string depname, string classname, Student stu) { Department depobj = FindDepartmentByName(depname); if (depobj == null) { return(false); } clsClass clsobj = FindClassByName(depobj, classname); if (clsobj == null) { return(false); } if (clsobj.AddStudent(stu)) //学生增加成功 { EventArgsStudent e = new EventArgsStudent(); e.clsobj = clsobj; e.depobj = depobj; e.stuobj = stu; e.number = StudentNumber; ActOnStudentAdd(this, e); return(true); } return(false); }
/// <summary> /// 修改学生信息 /// </summary> /// <param name="OldDepName">修改前所在的系名称</param> /// <param name="NewDepName">修改后所在的系名称</param> /// <param name="OldClassName">修改前所在的班级名称</param> /// <param name="NewClassName">修改后所在的班级名称</param> /// <param name="StudentID">学生的ID</param> /// <param name="NewStudent">新的学生对象</param> /// <returns>成功:true;失败:false</returns> internal bool ModifyStudent(string OldDepName, string NewDepName, string OldClassName, string NewClassName, string StudentID, Student NewStudent) { Department olddep; clsClass oldclass; Student OldStudent = FindStudentByID(StudentID, out olddep, out oldclass); Department newdep = FindDepartmentByName(NewDepName); clsClass newclass = FindClassByName(newdep, NewClassName);//原来的学生对象 //找不到相应的对象,则返回ture; if (olddep == null || newdep == null || oldclass == null || newclass == null || OldStudent == null) { return(false); } if (olddep == newdep) { if (oldclass == newclass) //学生所在的系和班级没有改动 { ChangeStudentInfo(OldStudent, NewStudent); EventArgsStudent e = new EventArgsStudent(); e.OldDepName = OldDepName; e.OldClassName = OldClassName; e.NewDepName = NewDepName; e.NewClassName = NewClassName; e.stuobj = OldStudent; e.NewStuobj = NewStudent; e.number = StudentNumber; ActOnStudentModify(this, e); } else //系没有改动,班级发生改动 { oldclass.DelStudent(StudentID); //在原来班级中删除学生对象 newclass.AddStudent(NewStudent); //在新班级中添加学生 EventArgsStudent e = new EventArgsStudent(); e.OldDepName = OldDepName; e.OldClassName = OldClassName; e.NewDepName = NewDepName; e.NewClassName = NewClassName; e.stuobj = OldStudent; e.NewStuobj = NewStudent; e.number = StudentNumber; ActOnStudentModify(this, e); } } else//系发生改变 { DelStudent(OldDepName, OldClassName, StudentID);//在原来的系原来的班级中删除学生对象 AddStudent(NewDepName, NewClassName, NewStudent);//在新的系新的班级中增加学生 EventArgsStudent e = new EventArgsStudent(); e.OldDepName = OldDepName; e.OldClassName = OldClassName; e.NewDepName = NewDepName; e.NewClassName = NewClassName; e.stuobj = OldStudent; e.NewStuobj = NewStudent; e.number = StudentNumber; ActOnStudentModify(this, e); } return(true); }