/// <summary>
 /// Constructor that accepts values for all mandatory fields
 /// </summary>
 ///<param name="refId">The Id (GUID) that uniquely identifies this StaffSectionAssignment entity.</param>
 ///<param name="staffPersonalRefId">The Id (GUID) of the teacher or educational staff to whom the assignment information applies.</param>
 ///<param name="sectionInfoRefId">The Id (GUID) of the section in which this staff (teacher) is assigned.</param>
 ///<param name="teacherOfRecord">Indicates if the staff is the Teacher of Record during this assignment.</param>
 ///<param name="roles">List of one or more Roles.</param>
 ///
 public StaffSectionAssignment( string refId, string staffPersonalRefId, string sectionInfoRefId, TeacherOfRecord teacherOfRecord, Role roles )
     : base(Adk.SifVersion, StudentDTD.STAFFSECTIONASSIGNMENT)
 {
     this.RefId = refId;
     this.StaffPersonalRefId = staffPersonalRefId;
     this.SectionInfoRefId = sectionInfoRefId;
     this.SetTeacherOfRecord( teacherOfRecord );
     this.Roles =  new Roles( roles );
 }
 /// <summary>
 /// Constructor that accepts values for all mandatory fields
 /// </summary>
 ///<param name="refId">The Id (GUID) that uniquely identifies this StaffSectionAssignment entity.</param>
 ///<param name="staffPersonalRefId">The Id (GUID) of the teacher or educational staff to whom the assignment information applies.</param>
 ///<param name="sectionInfoRefId">The Id (GUID) of the section in which this staff (teacher) is assigned.</param>
 ///<param name="teacherOfRecord">Indicates if the staff is the Teacher of Record during this assignment.</param>
 ///<param name="roles">List of one or more Roles.</param>
 ///
 public StaffSectionAssignment(string refId, string staffPersonalRefId, string sectionInfoRefId, TeacherOfRecord teacherOfRecord, Role roles) : base(Adk.SifVersion, StudentDTD.STAFFSECTIONASSIGNMENT)
 {
     this.RefId = refId;
     this.StaffPersonalRefId = staffPersonalRefId;
     this.SectionInfoRefId   = sectionInfoRefId;
     this.SetTeacherOfRecord(teacherOfRecord);
     this.Roles = new Roles(roles);
 }
 /// <summary>
 /// Sets the value of the <c>&lt;TeacherOfRecord&gt;</c> element.
 /// </summary>
 /// <param name="val">A TeacherOfRecord object</param>
 /// <remarks>
 /// <para>The SIF specification defines the meaning of this element as: "Indicates if the staff is the Teacher of Record during this assignment."</para>
 /// <para>Version: 2.6</para>
 /// <para>Since: 2.6</para>
 /// </remarks>
 public void SetTeacherOfRecord( TeacherOfRecord val )
 {
     SetField( StudentDTD.STAFFSECTIONASSIGNMENT_TEACHEROFRECORD, val );
 }
 /// <summary>
 /// Sets the value of the <c>&lt;TeacherOfRecord&gt;</c> element.
 /// </summary>
 /// <param name="val">A TeacherOfRecord object</param>
 /// <remarks>
 /// <para>The SIF specification defines the meaning of this element as: "Indicates if the staff is the Teacher of Record during this assignment."</para>
 /// <para>Version: 2.6</para>
 /// <para>Since: 2.6</para>
 /// </remarks>
 public void SetTeacherOfRecord(TeacherOfRecord val)
 {
     SetField(StudentDTD.STAFFSECTIONASSIGNMENT_TEACHEROFRECORD, val);
 }