📄 mainmodule.cs
字号:
if (School.subjects != null)
{
School.subjects.Clear();
}
}
public static void RemoveAllTeacher()
{
if (School.teachers != null)
{
School.teachers.Clear();
}
if (School.grades != null)
{
for (int i = 0; i < grades.Count; i++)
{
if (grades[i].Teachers != null)
grades[i].Teachers.Clear();
}
}
}
public static void Clear()
{
if (School.teachers != null)
School.teachers.Clear();
if (School.subjects != null)
School.subjects.Clear();
if (School.grades != null)
School.grades.Clear();
if (School.courses != null)
School.courses.Clear();
if (School.classes != null)
School.classes.Clear();
}
public static Class GetClass(string className)
{
Class cls = null;
if (School.classes != null)
{
for (int i = 0; i < School.classes.Count; i++)
{
if (School.classes[i].ClassName == className)
{
cls = School.classes[i];
break;
}
}
}
return cls;
}
public static Grade GetGrade(string gradeName)
{
Grade grade = null;
if (School.grades != null)
{
for (int i = 0; i < School.grades.Count; i++)
{
if (School.grades[i].GradeName == gradeName)
{
grade = School.grades[i];
break;
}
}
}
return grade;
}
public static Subject GetSubject(string subjectName)
{
Subject subject = null;
if (School.subjects != null)
{
for (int i = 0; i < School.subjects.Count; i++)
{
if (School.subjects[i].SubjectName == subjectName)
{
subject = School.subjects[i];
break;
}
}
}
return subject;
}
public static Teacher GetTeacher(string teacherName)
{
Teacher teacher = null;
if (School.teachers != null)
{
for (int i = 0; i < School.teachers.Count; i++)
{
if (School.teachers[i].TeacherName == teacherName)
{
teacher = School.teachers[i];
break;
}
}
}
return teacher;
}
#region 读写数据库
public static void ReadFromDB()
{
IDataOperate dataOper = DataBaseFactory.CreateAccessOperate();
DataTable dtClass = dataOper.Search(sqlClass);
DataTable dtRelationTable = dataOper.Search(sqlRelationTable1);
DataTable dtTeacher = dataOper.Search(sqlTeacher);
DataTable dtSubject = dataOper.Search(sqlSubject);
DataTable dtCourseTable = dataOper.Search(sqlCourseTable);
if (School.grades == null)
School.grades = new List<Grade>();
else
School.grades.Clear();
for (int i = 1; i <= 12; i++)
{
Grade grade = new Grade();
grade.GradeName = i.ToString();
School.grades.Add(grade);
}
if (dtTeacher != null)
{
if (School.teachers == null)
School.teachers = new List<Teacher>();
else
School.teachers.Clear();
for (int i = 0; i < dtTeacher.Rows.Count; i++)
{
Teacher teacher = new Teacher();
teacher.TeacherName = dtTeacher.Rows[i][teacherNameField].ToString();
School.AddTeacher(teacher);
}
}
if (dtClass != null)
{
if (School.classes == null)
School.classes = new List<Class>();
else
School.classes.Clear();
for (int i = 0; i < dtClass.Rows.Count; i++)
{
//Class cls = new Class();
string className = dtClass.Rows[i][classNameField].ToString();
//cls.ClassName = dtClass.Rows[i][classNameField].ToString();
DateTime dateTime = Convert.ToDateTime(dtClass.Rows[i][classStartTimeField]);
Class cls = School.CreateClass(className, dateTime);
EditLevel el = Utility.GetEditLevelObject(dtClass.Rows[i][classLevelField].ToString());
string gradeName = Utility.GetGradeName(dateTime, el);
Grade grade = GetGrade(gradeName);
cls.Grade = grade;
grade.AddClass(cls);
}
}
if (dtSubject != null)
{
if (School.subjects == null)
School.subjects = new List<Subject>();
else
School.subjects.Clear();
for (int i = 0; i < dtSubject.Rows.Count; i++)
{
Subject subject = new Subject();
subject.SubjectName = dtSubject.Rows[i][subjectNameField].ToString();
School.AddSubject(subject);
}
}
if (dtRelationTable != null)
{
// 获取教师和年级有关系的所有记录
DataRow[] drs = dtRelationTable.Select(relateTypeField + " = 1");
for (int i = 0; i < drs.Length; i++)
{
string rv1 = drs[i][relatePK1Field].ToString();
string teacherName = GetName(dtTeacher, teacherNameField, rv1);
string gradeName = drs[i][relatePK2Field].ToString();
Teacher teacher = GetTeacher(teacherName);
Grade grade = GetGrade(gradeName);
teacher.AddGrade(grade);
grade.AddTeacher(teacher);
}
// 获取教师和科目有关系的所有记录
drs = dtRelationTable.Select(relateTypeField + " = 2");
for (int i = 0; i < drs.Length; i++)
{
string rv1 = drs[i][relatePK1Field].ToString();
string rv2 = drs[i][relatePK2Field].ToString();
string teacherName = GetName(dtTeacher, teacherNameField, rv1);
string subjectName = GetName(dtSubject, subjectNameField, rv2);
Teacher teacher = GetTeacher(teacherName);
Subject subject = GetSubject(subjectName);
teacher.AddSubject(subject);
subject.AddTeacher(teacher);
}
// 获取年级和科目有关系的所有记录
drs = dtRelationTable.Select(relateTypeField + " = 3");
for (int i = 0; i < drs.Length; i++)
{
string rv1 = drs[i][relatePK2Field].ToString();
string gradeName = drs[i][relatePK1Field].ToString();
string subjectName = GetName(dtSubject, subjectNameField, rv1);
Subject subject = GetSubject(subjectName);
Grade grade = GetGrade(gradeName);
grade.AddSubject(subject);
}
}
if (School.courses == null)
School.courses = new List<Course>();
else
School.courses.Clear();
if (dtCourseTable != null)
{
for (int i = 0; i < dtCourseTable.Rows.Count; i++)
{
string courseTimeString = dtCourseTable.Rows[i][courseTimeField].ToString();
string teacherId = dtCourseTable.Rows[i][courseTeacherIdField].ToString();
string subjectId = dtCourseTable.Rows[i][courseSubjectIdField].ToString();
string classId = dtCourseTable.Rows[i][courseClassIdField].ToString();
string teacherName = GetName(dtTeacher, teacherNameField, teacherId);
string subjectName = GetName(dtSubject, subjectNameField, subjectId);
string className = GetName(dtClass, classNameField, classId);
Teacher teacher = GetTeacher(teacherName);
Subject subject = GetSubject(subjectName);
Class cls = GetClass(className);
Course course = new Course();
course.Class = cls;
course.Teacher = teacher;
course.Subject = subject;
course.CourseTime = Utility.GetCourseTimeObject(courseTimeString);
School.courses.Add(course);
if (teacher.CourseTable == null)
teacher.CourseTable = new CourseTable();
teacher.CourseTable.AddCourse(course);
if (cls.CourseTable == null)
cls.CourseTable = new CourseTable();
cls.CourseTable.AddCourse(course);
}
}
}
private static string GetName(DataTable dt, string nameField, string id)
{
string name = "";
DataRow[] drs = dt.Select(idField + " = " + id);
if (drs.Length > 0)
{
name = drs[0][nameField].ToString();
}
return name;
}
// 将数据写入到数据库中
public static bool WriteToDB()
{
bool b;
try
{
IDataOperate dataOper = DataBaseFactory.CreateAccessOperate();
dataOper.ClearTable(teacherTableName);
DataTable dtTeacher = dataOper.Search(sqlTeacher);
dtTeacher = dataOper.Search(sqlTeacher);
if (School.teachers != null)
{
for (int i = 0; i < School.teachers.Count; i++)
{
DataRow dr = dtTeacher.NewRow();
dtTeacher.Rows.Add(dr);
dr[teacherNameField] = School.teachers[i].TeacherName;
}
dataOper.UpdateTable(sqlTeacher, dtTeacher);
dtTeacher.AcceptChanges();
}
dataOper.ClearTable(subjectTableName);
DataTable dtSubject = dataOper.Search(sqlSubject);
if (School.subjects != null)
{
for (int i = 0; i < School.subjects.Count; i++)
{
DataRow dr = dtSubject.NewRow();
dtSubject.Rows.Add(dr);
dr[subjectNameField] = School.subjects[i].SubjectName;
}
dataOper.UpdateTable(sqlSubject, dtSubject);
dtSubject.AcceptChanges();
}
dataOper.ClearTable(classTableName);
DataTable dtClass = dataOper.Search(sqlClass);
if (School.classes != null)
{
for (int i = 0; i < School.classes.Count; i++)
{
string gradeName = School.classes[i].Grade.GradeName;
DateTime date = School.classes[i].ClassStartTime;
EditLevel el = Utility.GetEditLevel(gradeName);
string elstr = Utility.GetEditLevelString(el);
DataRow dr = dtClass.NewRow();
dtClass.Rows.Add(dr);
dr[classNameField] = School.classes[i].ClassName;
dr[classStartTimeField] = date;
dr[classLevelField] = elstr;
}
dataOper.UpdateTable(sqlClass, dtClass);
dtClass.AcceptChanges();
}
// 设置关系表1
dtTeacher = dataOper.Search(sqlTeacher);
dtSubject = dataOper.Search(sqlSubject);
dtClass = dataOper.Search(sqlClass);
dataOper.ClearTable(relationTableName);
DataTable dtRelationTable = dataOper.Search(sqlRelationTable1);
if (School.teachers != null)
{
for (int i = 0; i < School.teachers.Count; i++)
{
Teacher teacher = School.teachers[i];
DataRow drt = Utility.GetRowByName(dtTeacher, teacherNameField, teacher.TeacherName);
if (teacher.Grades != null)
{
for (int j = 0; j < teacher.Grades.Count; j++)
{
if (drt != null)
{
DataRow dr = dtRelationTable.NewRow();
dtRelationTable.Rows.Add(dr);
dr[relateTypeField] = 1;
dr[relatePK1Field] = drt[idField].ToString();
dr[relatePK2Field] = teacher.Grades[j].GradeName;
}
}
}
if (teacher.Subjects != null)
{
for (int j = 0; j < teacher.Subjects.Count; j++)
{
DataRow drs = Utility.GetRowByName(dtSubject, subjectNameField, teacher.Subjects[j].SubjectName);
if (drt != null && drs != null)
{
DataRow dr = dtRelationTable.NewRow();
dtRelationTable.Rows.Add(dr);
dr[relateTypeField] = 2;
dr[relatePK1Field] = drt[idField].ToString();
dr[relatePK2Field] = drs[idField].ToString();
}
}
}
}
}
if (School.grades != null)
{
for (int i = 0; i < School.grades.Count; i++)
{
Grade grade = School.grades[i];
if (grade.Subjects != null)
{
for (int j = 0; j < grade.Subjects.Count; j++)
{
DataRow drs = Utility.GetRowByName(dtSubject, subjectNameField, grade.Subjects[j].SubjectName);
if (drs != null)
{
DataRow dr = dtRelationTable.NewRow();
dtRelationTable.Rows.Add(dr);
dr[relateTypeField] = 3;
dr[relatePK1Field] = grade.GradeName;
dr[relatePK2Field] = drs[idField].ToString();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -