Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }