/// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentSectionAssociationWritable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="beginDate">Month, day, and year of the Student&#39;s entry or assignment to the Section. (required).</param>
 /// <param name="sectionReference">sectionReference (required).</param>
 /// <param name="studentReference">studentReference (required).</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="ext">ext.</param>
 public EdFiStudentSectionAssociationWritable(string id = default(string), DateTime?beginDate = default(DateTime?), EdFiSectionReference sectionReference = default(EdFiSectionReference), EdFiStudentReference studentReference = default(EdFiStudentReference), string etag = default(string), StudentSectionAssociationExtensionsWritable ext = default(StudentSectionAssociationExtensionsWritable))
 {
     // to ensure "beginDate" is required (not null)
     if (beginDate == null)
     {
         throw new InvalidDataException("beginDate is a required property for EdFiStudentSectionAssociationWritable and cannot be null");
     }
     else
     {
         this.BeginDate = beginDate;
     }
     // to ensure "sectionReference" is required (not null)
     if (sectionReference == null)
     {
         throw new InvalidDataException("sectionReference is a required property for EdFiStudentSectionAssociationWritable and cannot be null");
     }
     else
     {
         this.SectionReference = sectionReference;
     }
     // to ensure "studentReference" is required (not null)
     if (studentReference == null)
     {
         throw new InvalidDataException("studentReference is a required property for EdFiStudentSectionAssociationWritable and cannot be null");
     }
     else
     {
         this.StudentReference = studentReference;
     }
     this.Id   = id;
     this.Etag = etag;
     this.Ext  = ext;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentSectionAssociationWritable" /> class.
 /// </summary>
 /// <param name="Id">Id (required).</param>
 /// <param name="BeginDate">Month, day, and year of the Student&#39;s entry or assignment to the Section. (required).</param>
 /// <param name="SectionReference">SectionReference (required).</param>
 /// <param name="StudentReference">StudentReference (required).</param>
 /// <param name="Etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="Ext">Ext.</param>
 public EdFiStudentSectionAssociationWritable(string Id = default(string), DateTime?BeginDate = default(DateTime?), EdFiSectionReference SectionReference = default(EdFiSectionReference), EdFiStudentReference StudentReference = default(EdFiStudentReference), string Etag = default(string), StudentSectionAssociationExtensionsWritable Ext = default(StudentSectionAssociationExtensionsWritable))
 {
     // to ensure "Id" is required (not null)
     if (Id == null)
     {
         throw new InvalidDataException("Id is a required property for EdFiStudentSectionAssociationWritable and cannot be null");
     }
     else
     {
         this.Id = Id;
     }
     // to ensure "BeginDate" is required (not null)
     if (BeginDate == null)
     {
         throw new InvalidDataException("BeginDate is a required property for EdFiStudentSectionAssociationWritable and cannot be null");
     }
     else
     {
         this.BeginDate = BeginDate;
     }
     // to ensure "SectionReference" is required (not null)
     if (SectionReference == null)
     {
         throw new InvalidDataException("SectionReference is a required property for EdFiStudentSectionAssociationWritable and cannot be null");
     }
     else
     {
         this.SectionReference = SectionReference;
     }
     // to ensure "StudentReference" is required (not null)
     if (StudentReference == null)
     {
         throw new InvalidDataException("StudentReference is a required property for EdFiStudentSectionAssociationWritable and cannot be null");
     }
     else
     {
         this.StudentReference = StudentReference;
     }
     this.Etag = Etag;
     this.Ext  = Ext;
 }