/// <summary>
 /// Constructor that accepts values for all mandatory fields
 /// </summary>
 ///<param name="refId">The ID (GUID) assigned to uniquely identify this attendance record.</param>
 ///<param name="studentPersonalRefId">The GUID of the student that this attendance applies to.</param>
 ///<param name="schoolInfoRefId">The school where the attendance was recorded.  Somewhat redundant, needed for requests.</param>
 ///<param name="date">The date of the attendance event.</param>
 ///<param name="attendanceCode">An AttendanceCode</param>
 ///<param name="attendanceStatus">Approved or Unapproved status of this attendance code.</param>
 ///
 public StudentPeriodAttendance( string refId, string studentPersonalRefId, string schoolInfoRefId, DateTime? date, AttendanceCode attendanceCode, StudentPeriodAttendanceAttendanceStatusType attendanceStatus )
     : base(Adk.SifVersion, GradebookDTD.STUDENTPERIODATTENDANCE)
 {
     this.RefId = refId;
     this.StudentPersonalRefId = studentPersonalRefId;
     this.SchoolInfoRefId = schoolInfoRefId;
     this.Date = date;
     this.AttendanceCode = attendanceCode;
     this.SetAttendanceStatus( attendanceStatus );
 }
 /// <summary>
 /// Constructor that accepts values for all mandatory fields
 /// </summary>
 ///<param name="refId">The ID (GUID) assigned to uniquely identify this attendance record.</param>
 ///<param name="studentPersonalRefId">The GUID of the student that this attendance applies to.</param>
 ///<param name="schoolInfoRefId">The school where the attendance was recorded.  Somewhat redundant, needed for requests.</param>
 ///<param name="date">The date of the attendance event.</param>
 ///<param name="attendanceCode">An AttendanceCode</param>
 ///<param name="attendanceStatus">Approved or Unapproved status of this attendance code.</param>
 ///
 public StudentPeriodAttendance(string refId, string studentPersonalRefId, string schoolInfoRefId, DateTime?date, AttendanceCode attendanceCode, StudentPeriodAttendanceAttendanceStatusType attendanceStatus) : base(Adk.SifVersion, GradebookDTD.STUDENTPERIODATTENDANCE)
 {
     this.RefId = refId;
     this.StudentPersonalRefId = studentPersonalRefId;
     this.SchoolInfoRefId      = schoolInfoRefId;
     this.Date           = date;
     this.AttendanceCode = attendanceCode;
     this.SetAttendanceStatus(attendanceStatus);
 }
 /// <summary>
 /// Sets the value of the <c>&lt;AttendanceStatus&gt;</c> element.
 /// </summary>
 /// <param name="val">A StudentPeriodAttendanceAttendanceStatusType object</param>
 /// <remarks>
 /// <para>The SIF specification defines the meaning of this element as: "Approved or Unapproved status of this attendance code."</para>
 /// <para>Version: 2.5</para>
 /// <para>Since: 2.3</para>
 /// </remarks>
 public void SetAttendanceStatus( StudentPeriodAttendanceAttendanceStatusType val )
 {
     SetField( GradebookDTD.STUDENTPERIODATTENDANCE_ATTENDANCESTATUS, val );
 }
 /// <summary>
 /// Sets the value of the <c>&lt;AttendanceStatus&gt;</c> element.
 /// </summary>
 /// <param name="val">A StudentPeriodAttendanceAttendanceStatusType object</param>
 /// <remarks>
 /// <para>The SIF specification defines the meaning of this element as: "Approved or Unapproved status of this attendance code."</para>
 /// <para>Version: 2.6</para>
 /// <para>Since: 2.3</para>
 /// </remarks>
 public void SetAttendanceStatus(StudentPeriodAttendanceAttendanceStatusType val)
 {
     SetField(GradebookDTD.STUDENTPERIODATTENDANCE_ATTENDANCESTATUS, val);
 }