0

我有学生、课程、注册和出勤模型。每门课程都有不同的出勤天数,我需要能够编辑这些天的出勤率。

我使用以下模型:

public class Student
{
    public int StudentID { get; set; }
    public string LastName { get; set; }
    public string FirstMidName { get; set; }
    public virtual ICollection<Enrollment> Enrollments { get; set; } // To keep track of what classes in which the student is enrolled
}

public class Course
{
    public int CourseID { get; set; }
    public string Title { get; set; }
    public int InstructorID { get; set; }
    public virtual Instructor Instructor { get; set; }
    public int AttendingDays { get; set; } // Total number of days for attendance
    public virtual ICollection<Enrollment> Enrollments { get; set; }
}

public class Enrollment
{
    public int EnrollmentID { get; set; }
    public int CourseID { get; set; }
    public int StudentID { get; set; }
    public virtual Course Course { get; set; }
    public virtual Student Student { get; set; }
}

public class Attendance
{
    public int AttendanceID { get; set; }
    public int CourseID { get; set; }
    public int StudentID { get; set; }
    public int AttendanceDay { get; set; }
    public bool Present { get; set; }
    public virtual Course Course { get; set; }
    public virtual Student Student { get; set; }
}

我将如何构建一个 ViewModel 来让我编辑出勤表,根据 Course 课程中的 AttendingDays int 适当地调整指定课程的出勤天数。

即,如果 X 班的 AttendingDays 值为 10,我需要 10 行出勤日期,我可以填写这些日期并为每个学生填写出席/缺席复选框 - 而 Y 班只有 3 个出席日期,等等。.

因此,出勤表中的示例行将显示为:ID 25:对于课程 X,第 3 天的学生 X 出席。ID26:对于课程 X,第 4 天的学生 X 缺席,等等。.

解决这个问题的最有效方法是什么?

更新:

现在我创建出勤数据库条目,其中学生被标记为 Present = false 一旦他们被添加到班级后,每个可能的出勤日。

既然我知道我将始终为每个学生创建适当的出勤天数,我的 ViewModel 将如何工作?

我需要生成一个页面,为课程中包含的每个学生显示一行(此信息包含在注册表中)。每个学生的行将包含每天出勤的复选框(因此屏幕上会出现一个复选框网格,左侧列出学生姓名,顶部显示出勤日期的数字)。

编辑:

这会是 jqGrid 有用的东西吗?

4

0 回答 0