/// <summary>
 /// Initializes a new instance of the <see cref="MnStudentSectionAssociationExtensionReadable" /> class.
 /// </summary>
 /// <param name="SectionEnrollmentTypeDescriptor">Section enrollment type..</param>
 /// <param name="CollegeCourseReference">CollegeCourseReference.</param>
 /// <param name="InstructionalApproaches">An unordered collection of studentSectionAssociationInstructionalApproaches. Instructional approach as implemented for the student section association. General purpose but intially implemented for Early Education..</param>
 /// <param name="SiteBasedInitiatives">An unordered collection of studentSectionAssociationSiteBasedInitiatives. Site-based initiative as implemented for the student section association. General purpose but intially implemented for Early Education..</param>
 public MnStudentSectionAssociationExtensionReadable(string SectionEnrollmentTypeDescriptor = default(string), EdFiCourseReference CollegeCourseReference = default(EdFiCourseReference), List <MnStudentSectionAssociationInstructionalApproachReadable> InstructionalApproaches = default(List <MnStudentSectionAssociationInstructionalApproachReadable>), List <MnStudentSectionAssociationSiteBasedInitiativeReadable> SiteBasedInitiatives = default(List <MnStudentSectionAssociationSiteBasedInitiativeReadable>))
 {
     this.SectionEnrollmentTypeDescriptor = SectionEnrollmentTypeDescriptor;
     this.CollegeCourseReference          = CollegeCourseReference;
     this.InstructionalApproaches         = InstructionalApproaches;
     this.SiteBasedInitiatives            = SiteBasedInitiatives;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiCourseOfferingWritable" /> class.
 /// </summary>
 /// <param name="Id">Id (required).</param>
 /// <param name="LocalCourseCode">The local code assigned by the School that identifies the course offering provided for the instruction of students. (required).</param>
 /// <param name="CourseReference">CourseReference (required).</param>
 /// <param name="SchoolReference">SchoolReference (required).</param>
 /// <param name="SessionReference">SessionReference (required).</param>
 /// <param name="Etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="Ext">Ext.</param>
 public EdFiCourseOfferingWritable(string Id = default(string), string LocalCourseCode = default(string), EdFiCourseReference CourseReference = default(EdFiCourseReference), EdFiSchoolReference SchoolReference = default(EdFiSchoolReference), EdFiSessionReference SessionReference = default(EdFiSessionReference), string Etag = default(string), CourseOfferingExtensionsWritable Ext = default(CourseOfferingExtensionsWritable))
 {
     // to ensure "Id" is required (not null)
     if (Id == null)
     {
         throw new InvalidDataException("Id is a required property for EdFiCourseOfferingWritable and cannot be null");
     }
     else
     {
         this.Id = Id;
     }
     // to ensure "LocalCourseCode" is required (not null)
     if (LocalCourseCode == null)
     {
         throw new InvalidDataException("LocalCourseCode is a required property for EdFiCourseOfferingWritable and cannot be null");
     }
     else
     {
         this.LocalCourseCode = LocalCourseCode;
     }
     // to ensure "CourseReference" is required (not null)
     if (CourseReference == null)
     {
         throw new InvalidDataException("CourseReference is a required property for EdFiCourseOfferingWritable and cannot be null");
     }
     else
     {
         this.CourseReference = CourseReference;
     }
     // to ensure "SchoolReference" is required (not null)
     if (SchoolReference == null)
     {
         throw new InvalidDataException("SchoolReference is a required property for EdFiCourseOfferingWritable and cannot be null");
     }
     else
     {
         this.SchoolReference = SchoolReference;
     }
     // to ensure "SessionReference" is required (not null)
     if (SessionReference == null)
     {
         throw new InvalidDataException("SessionReference is a required property for EdFiCourseOfferingWritable and cannot be null");
     }
     else
     {
         this.SessionReference = SessionReference;
     }
     this.Etag = Etag;
     this.Ext  = Ext;
 }