/// <summary>
 /// Constructor that accepts values for all mandatory fields
 /// </summary>
 ///<param name="refId">The ID (GUID) that uniquely identifies a particular enrollment.</param>
 ///<param name="studentPersonalRefId">The ID (GUID) of the student to whom this information is linked.</param>
 ///<param name="schoolInfoRefId">The ID (GUID) of the school to which this enrollment applies.</param>
 ///<param name="membershipType">The type of this enrollment as it relates to the school identified in SchoolInfoRefId.</param>
 ///<param name="timeFrame">The timeframe of the enrollment based on the SIF_Date in the SIF_Header of the message. For events, it is determined as of the date the event is generated. For requests and responses, it is calculated based on the date of the request.</param>
 ///<param name="schoolYear">A SchoolYear</param>
 ///<param name="entryDate">The date from when this enrollment is valid.</param>
 ///
 public StudentSchoolEnrollment( string refId, string studentPersonalRefId, string schoolInfoRefId, SchoolEnrollmentType membershipType, TimeFrame timeFrame, int? schoolYear, DateTime? entryDate )
     : base(Adk.SifVersion, StudentDTD.STUDENTSCHOOLENROLLMENT)
 {
     this.RefId = refId;
     this.StudentPersonalRefId = studentPersonalRefId;
     this.SchoolInfoRefId = schoolInfoRefId;
     this.SetMembershipType( membershipType );
     this.SetTimeFrame( timeFrame );
     this.SchoolYear = schoolYear;
     this.EntryDate = entryDate;
 }
 /// <summary>
 /// Sets the value of the <c>&lt;TimeFrame&gt;</c> element.
 /// </summary>
 /// <param name="val">A TimeFrame object</param>
 /// <remarks>
 /// <para>The SIF specification defines the meaning of this element as: "The timeframe of the enrollment based on the SIF_Date in the SIF_Header of the message. For events, it is determined as of the date the event is generated. For requests and responses, it is calculated based on the date of the request."</para>
 /// <para>Version: 2.6</para>
 /// <para>Since: 2.3</para>
 /// </remarks>
 public void SetTimeFrame( TimeFrame val )
 {
     SetField( StudentDTD.STUDENTSCHOOLENROLLMENT_TIMEFRAME, val );
 }