/// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentEducationOrganizationAssociationReadable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="educationOrganizationReference">educationOrganizationReference (required).</param>
 /// <param name="studentReference">studentReference (required).</param>
 /// <param name="ancestryEthnicOrigins">An unordered collection of studentEducationOrganizationAssociationAncestryEthnicOrigins. The original peoples or cultures with which the individual identifies..</param>
 /// <param name="hispanicLatinoEthnicity">An indication that the individual traces his or her origin or descent to Mexico, Puerto Rico, Cuba, Central, and South America, and other Spanish cultures, regardless of race, as last reported to the education organization. The term, \&quot;Spanish origin,\&quot; can be used in addition to \&quot;Hispanic or Latino.\&quot;.</param>
 /// <param name="languages">An unordered collection of studentEducationOrganizationAssociationLanguages. The language(s) the individual uses to communicate. It is strongly recommended that entries use only ISO 639-3 language codes..</param>
 /// <param name="races">An unordered collection of studentEducationOrganizationAssociationRaces. The general racial category which most clearly reflects the individual&#39;s recognition of his or her community or with which the individual most identifies as last reported to the education organization. The data model allows for multiple entries so that each individual can specify all appropriate races..</param>
 /// <param name="sexDescriptor">The student&#39;s gender as last reported to the education organization. (required).</param>
 /// <param name="studentCharacteristics">An unordered collection of studentEducationOrganizationAssociationStudentCharacteristics. Reflects important characteristics of a student. If a student has a characteristic present, that characteristic is considered true or active for that student. If a characteristic is not present, no assumption is made as to the applicability of the characteristic, but local policy may dictate otherwise..</param>
 /// <param name="studentIdentificationCodes">An unordered collection of studentEducationOrganizationAssociationStudentIdentificationCodes. A coding scheme that is used for identification and record-keeping purposes by schools, social services, or other agencies to refer to a student..</param>
 /// <param name="studentIndicators">An unordered collection of studentEducationOrganizationAssociationStudentIndicators. An indicator or metric computed for the student (e.g., at risk)..</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="ext">ext.</param>
 public EdFiStudentEducationOrganizationAssociationReadable(string id = default(string), EdFiEducationOrganizationReference educationOrganizationReference = default(EdFiEducationOrganizationReference), EdFiStudentReference studentReference = default(EdFiStudentReference), List <EdFiStudentEducationOrganizationAssociationAncestryEthnicOriginReadable> ancestryEthnicOrigins = default(List <EdFiStudentEducationOrganizationAssociationAncestryEthnicOriginReadable>), bool?hispanicLatinoEthnicity = default(bool?), List <EdFiStudentEducationOrganizationAssociationLanguageReadable> languages = default(List <EdFiStudentEducationOrganizationAssociationLanguageReadable>), List <EdFiStudentEducationOrganizationAssociationRaceReadable> races = default(List <EdFiStudentEducationOrganizationAssociationRaceReadable>), string sexDescriptor = default(string), List <EdFiStudentEducationOrganizationAssociationStudentCharacteristicReadable> studentCharacteristics = default(List <EdFiStudentEducationOrganizationAssociationStudentCharacteristicReadable>), List <EdFiStudentEducationOrganizationAssociationStudentIdentificationCodeReadable> studentIdentificationCodes = default(List <EdFiStudentEducationOrganizationAssociationStudentIdentificationCodeReadable>), List <EdFiStudentEducationOrganizationAssociationStudentIndicatorReadable> studentIndicators = default(List <EdFiStudentEducationOrganizationAssociationStudentIndicatorReadable>), string etag = default(string), StudentEducationOrganizationAssociationExtensionsReadable ext = default(StudentEducationOrganizationAssociationExtensionsReadable))
 {
     // to ensure "educationOrganizationReference" is required (not null)
     if (educationOrganizationReference == null)
     {
         throw new InvalidDataException("educationOrganizationReference is a required property for EdFiStudentEducationOrganizationAssociationReadable and cannot be null");
     }
     else
     {
         this.EducationOrganizationReference = educationOrganizationReference;
     }
     // to ensure "studentReference" is required (not null)
     if (studentReference == null)
     {
         throw new InvalidDataException("studentReference is a required property for EdFiStudentEducationOrganizationAssociationReadable and cannot be null");
     }
     else
     {
         this.StudentReference = studentReference;
     }
     // to ensure "sexDescriptor" is required (not null)
     if (sexDescriptor == null)
     {
         throw new InvalidDataException("sexDescriptor is a required property for EdFiStudentEducationOrganizationAssociationReadable and cannot be null");
     }
     else
     {
         this.SexDescriptor = sexDescriptor;
     }
     this.Id = id;
     this.AncestryEthnicOrigins   = ancestryEthnicOrigins;
     this.HispanicLatinoEthnicity = hispanicLatinoEthnicity;
     this.Languages = languages;
     this.Races     = races;
     this.StudentCharacteristics     = studentCharacteristics;
     this.StudentIdentificationCodes = studentIdentificationCodes;
     this.StudentIndicators          = studentIndicators;
     this.Etag = etag;
     this.Ext  = ext;
 }
Example #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentHomelessProgramAssociationReadable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="beginDate">The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. (required).</param>
 /// <param name="educationOrganizationReference">educationOrganizationReference (required).</param>
 /// <param name="programReference">programReference (required).</param>
 /// <param name="studentReference">studentReference (required).</param>
 /// <param name="endDate">The month, day, and year on which the Student exited the Program or stopped receiving services..</param>
 /// <param name="homelessPrimaryNighttimeResidenceDescriptor">The primary nighttime residence of the student at the time the student is identified as homeless..</param>
 /// <param name="homelessUnaccompaniedYouth">A homeless unaccompanied youth is a youth who is not in the physical custody of a parent or guardian and who fits the McKinney-Vento definition of homeless. Students must be both unaccompanied and homeless to be included as an unaccompanied homeless youth..</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 public EdFiStudentHomelessProgramAssociationReadable(string id = default(string), DateTime?beginDate = default(DateTime?), EdFiEducationOrganizationReference educationOrganizationReference = default(EdFiEducationOrganizationReference), EdFiProgramReference programReference = default(EdFiProgramReference), EdFiStudentReference studentReference = default(EdFiStudentReference), DateTime?endDate = default(DateTime?), string homelessPrimaryNighttimeResidenceDescriptor = default(string), bool?homelessUnaccompaniedYouth = default(bool?), string etag = default(string))
 {
     // to ensure "beginDate" is required (not null)
     if (beginDate == null)
     {
         throw new InvalidDataException("beginDate is a required property for EdFiStudentHomelessProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.BeginDate = beginDate;
     }
     // to ensure "educationOrganizationReference" is required (not null)
     if (educationOrganizationReference == null)
     {
         throw new InvalidDataException("educationOrganizationReference is a required property for EdFiStudentHomelessProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.EducationOrganizationReference = educationOrganizationReference;
     }
     // to ensure "programReference" is required (not null)
     if (programReference == null)
     {
         throw new InvalidDataException("programReference is a required property for EdFiStudentHomelessProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.ProgramReference = programReference;
     }
     // to ensure "studentReference" is required (not null)
     if (studentReference == null)
     {
         throw new InvalidDataException("studentReference is a required property for EdFiStudentHomelessProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.StudentReference = studentReference;
     }
     this.Id      = id;
     this.EndDate = endDate;
     this.HomelessPrimaryNighttimeResidenceDescriptor = homelessPrimaryNighttimeResidenceDescriptor;
     this.HomelessUnaccompaniedYouth = homelessUnaccompaniedYouth;
     this.Etag = etag;
 }
Example #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentLanguageInstructionProgramAssociationWritable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="beginDate">The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. (required).</param>
 /// <param name="educationOrganizationReference">educationOrganizationReference (required).</param>
 /// <param name="programReference">programReference (required).</param>
 /// <param name="studentReference">studentReference (required).</param>
 /// <param name="endDate">The month, day, and year on which the Student exited the Program or stopped receiving services..</param>
 /// <param name="englishLearnerParticipation">An indication that an English Learner student is served by an English language instruction educational program supported with Title III of ESEA funds..</param>
 /// <param name="languageInstructionProgramServices">An unordered collection of studentLanguageInstructionProgramAssociationLanguageInstructionProgramServices. Indicates the service(s) being provided to the Student by the Language Instruction Program..</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 public EdFiStudentLanguageInstructionProgramAssociationWritable(string id = default(string), DateTime?beginDate = default(DateTime?), EdFiEducationOrganizationReference educationOrganizationReference = default(EdFiEducationOrganizationReference), EdFiProgramReference programReference = default(EdFiProgramReference), EdFiStudentReference studentReference = default(EdFiStudentReference), DateTime?endDate = default(DateTime?), bool?englishLearnerParticipation = default(bool?), List <EdFiStudentLanguageInstructionProgramAssociationLanguageInstructionProgramServiceWritable> languageInstructionProgramServices = default(List <EdFiStudentLanguageInstructionProgramAssociationLanguageInstructionProgramServiceWritable>), string etag = default(string))
 {
     // to ensure "beginDate" is required (not null)
     if (beginDate == null)
     {
         throw new InvalidDataException("beginDate is a required property for EdFiStudentLanguageInstructionProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.BeginDate = beginDate;
     }
     // to ensure "educationOrganizationReference" is required (not null)
     if (educationOrganizationReference == null)
     {
         throw new InvalidDataException("educationOrganizationReference is a required property for EdFiStudentLanguageInstructionProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.EducationOrganizationReference = educationOrganizationReference;
     }
     // to ensure "programReference" is required (not null)
     if (programReference == null)
     {
         throw new InvalidDataException("programReference is a required property for EdFiStudentLanguageInstructionProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.ProgramReference = programReference;
     }
     // to ensure "studentReference" is required (not null)
     if (studentReference == null)
     {
         throw new InvalidDataException("studentReference is a required property for EdFiStudentLanguageInstructionProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.StudentReference = studentReference;
     }
     this.Id      = id;
     this.EndDate = endDate;
     this.EnglishLearnerParticipation        = englishLearnerParticipation;
     this.LanguageInstructionProgramServices = languageInstructionProgramServices;
     this.Etag = etag;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentSchoolFoodServiceProgramAssociationReadable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="beginDate">The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. (required).</param>
 /// <param name="educationOrganizationReference">educationOrganizationReference (required).</param>
 /// <param name="programReference">programReference (required).</param>
 /// <param name="studentReference">studentReference (required).</param>
 /// <param name="endDate">The month, day, and year on which the Student exited the Program or stopped receiving services..</param>
 /// <param name="schoolFoodServiceProgramServices">An unordered collection of studentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramServices. Indicates the service(s) being provided to the Student by the School Food Service Program..</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 public EdFiStudentSchoolFoodServiceProgramAssociationReadable(string id = default(string), DateTime?beginDate = default(DateTime?), EdFiEducationOrganizationReference educationOrganizationReference = default(EdFiEducationOrganizationReference), EdFiProgramReference programReference = default(EdFiProgramReference), EdFiStudentReference studentReference = default(EdFiStudentReference), DateTime?endDate = default(DateTime?), List <EdFiStudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramServiceReadable> schoolFoodServiceProgramServices = default(List <EdFiStudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramServiceReadable>), string etag = default(string))
 {
     // to ensure "beginDate" is required (not null)
     if (beginDate == null)
     {
         throw new InvalidDataException("beginDate is a required property for EdFiStudentSchoolFoodServiceProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.BeginDate = beginDate;
     }
     // to ensure "educationOrganizationReference" is required (not null)
     if (educationOrganizationReference == null)
     {
         throw new InvalidDataException("educationOrganizationReference is a required property for EdFiStudentSchoolFoodServiceProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.EducationOrganizationReference = educationOrganizationReference;
     }
     // to ensure "programReference" is required (not null)
     if (programReference == null)
     {
         throw new InvalidDataException("programReference is a required property for EdFiStudentSchoolFoodServiceProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.ProgramReference = programReference;
     }
     // to ensure "studentReference" is required (not null)
     if (studentReference == null)
     {
         throw new InvalidDataException("studentReference is a required property for EdFiStudentSchoolFoodServiceProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.StudentReference = studentReference;
     }
     this.Id      = id;
     this.EndDate = endDate;
     this.SchoolFoodServiceProgramServices = schoolFoodServiceProgramServices;
     this.Etag = etag;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentTitleIPartAProgramAssociationWritable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="beginDate">The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. (required).</param>
 /// <param name="educationOrganizationReference">educationOrganizationReference (required).</param>
 /// <param name="programReference">programReference (required).</param>
 /// <param name="studentReference">studentReference (required).</param>
 /// <param name="endDate">The month, day, and year on which the Student exited the Program or stopped receiving services..</param>
 /// <param name="titleIPartAParticipantDescriptor">An indication of the type of Title I program, if any, in which the student is participating and by which the student is served:         Public Targeted Assistance Program         Public Schoolwide Program         Private School Students Participating         Local Neglected Program. (required).</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 public EdFiStudentTitleIPartAProgramAssociationWritable(string id = default(string), DateTime?beginDate = default(DateTime?), EdFiEducationOrganizationReference educationOrganizationReference = default(EdFiEducationOrganizationReference), EdFiProgramReference programReference = default(EdFiProgramReference), EdFiStudentReference studentReference = default(EdFiStudentReference), DateTime?endDate = default(DateTime?), string titleIPartAParticipantDescriptor = default(string), string etag = default(string))
 {
     // to ensure "beginDate" is required (not null)
     if (beginDate == null)
     {
         throw new InvalidDataException("beginDate is a required property for EdFiStudentTitleIPartAProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.BeginDate = beginDate;
     }
     // to ensure "educationOrganizationReference" is required (not null)
     if (educationOrganizationReference == null)
     {
         throw new InvalidDataException("educationOrganizationReference is a required property for EdFiStudentTitleIPartAProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.EducationOrganizationReference = educationOrganizationReference;
     }
     // to ensure "programReference" is required (not null)
     if (programReference == null)
     {
         throw new InvalidDataException("programReference is a required property for EdFiStudentTitleIPartAProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.ProgramReference = programReference;
     }
     // to ensure "studentReference" is required (not null)
     if (studentReference == null)
     {
         throw new InvalidDataException("studentReference is a required property for EdFiStudentTitleIPartAProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.StudentReference = studentReference;
     }
     // to ensure "titleIPartAParticipantDescriptor" is required (not null)
     if (titleIPartAParticipantDescriptor == null)
     {
         throw new InvalidDataException("titleIPartAParticipantDescriptor is a required property for EdFiStudentTitleIPartAProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.TitleIPartAParticipantDescriptor = titleIPartAParticipantDescriptor;
     }
     this.Id      = id;
     this.EndDate = endDate;
     this.Etag    = etag;
 }
Example #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentSpecialEducationProgramAssociationWritable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="beginDate">The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. (required).</param>
 /// <param name="educationOrganizationReference">educationOrganizationReference (required).</param>
 /// <param name="programReference">programReference (required).</param>
 /// <param name="studentReference">studentReference (required).</param>
 /// <param name="disabilities">An unordered collection of studentSpecialEducationProgramAssociationDisabilities. The disability condition(s) that best describes an individual&#39;s impairment, as related to special education services received..</param>
 /// <param name="endDate">The month, day, and year on which the Student exited the Program or stopped receiving services..</param>
 /// <param name="specialEducationSettingDescriptor">The major instructional setting (more than 50 percent of a student&#39;s special education program)..</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="ext">ext.</param>
 public EdFiStudentSpecialEducationProgramAssociationWritable(string id = default(string), DateTime?beginDate = default(DateTime?), EdFiEducationOrganizationReference educationOrganizationReference = default(EdFiEducationOrganizationReference), EdFiProgramReference programReference = default(EdFiProgramReference), EdFiStudentReference studentReference = default(EdFiStudentReference), List <EdFiStudentSpecialEducationProgramAssociationDisabilityWritable> disabilities = default(List <EdFiStudentSpecialEducationProgramAssociationDisabilityWritable>), DateTime?endDate = default(DateTime?), string specialEducationSettingDescriptor = default(string), string etag = default(string), StudentSpecialEducationProgramAssociationExtensionsWritable ext = default(StudentSpecialEducationProgramAssociationExtensionsWritable))
 {
     // to ensure "beginDate" is required (not null)
     if (beginDate == null)
     {
         throw new InvalidDataException("beginDate is a required property for EdFiStudentSpecialEducationProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.BeginDate = beginDate;
     }
     // to ensure "educationOrganizationReference" is required (not null)
     if (educationOrganizationReference == null)
     {
         throw new InvalidDataException("educationOrganizationReference is a required property for EdFiStudentSpecialEducationProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.EducationOrganizationReference = educationOrganizationReference;
     }
     // to ensure "programReference" is required (not null)
     if (programReference == null)
     {
         throw new InvalidDataException("programReference is a required property for EdFiStudentSpecialEducationProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.ProgramReference = programReference;
     }
     // to ensure "studentReference" is required (not null)
     if (studentReference == null)
     {
         throw new InvalidDataException("studentReference is a required property for EdFiStudentSpecialEducationProgramAssociationWritable and cannot be null");
     }
     else
     {
         this.StudentReference = studentReference;
     }
     this.Id           = id;
     this.Disabilities = disabilities;
     this.EndDate      = endDate;
     this.SpecialEducationSettingDescriptor = specialEducationSettingDescriptor;
     this.Etag = etag;
     this.Ext  = ext;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentNeglectedOrDelinquentProgramAssociationReadable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="beginDate">The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. (required).</param>
 /// <param name="educationOrganizationReference">educationOrganizationReference (required).</param>
 /// <param name="programReference">programReference (required).</param>
 /// <param name="studentReference">studentReference (required).</param>
 /// <param name="elaProgressLevelDescriptor">The progress measured from pre- to post- test for ELA..</param>
 /// <param name="endDate">The month, day, and year on which the Student exited the Program or stopped receiving services..</param>
 /// <param name="mathematicsProgressLevelDescriptor">The progress measured from pre- to post-test for Mathematics..</param>
 /// <param name="neglectedOrDelinquentProgramDescriptor">The type of program under ESEA Title I, Part D, Subpart 1 (state programs) or Subpart 2 (LEA)..</param>
 /// <param name="neglectedOrDelinquentProgramServices">An unordered collection of studentNeglectedOrDelinquentProgramAssociationNeglectedOrDelinquentProgramServices. Indicates the service(s) being provided to the Student by the Neglected or Delinquent Program..</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="ext">ext.</param>
 public EdFiStudentNeglectedOrDelinquentProgramAssociationReadable(string id = default(string), DateTime?beginDate = default(DateTime?), EdFiEducationOrganizationReference educationOrganizationReference = default(EdFiEducationOrganizationReference), EdFiProgramReference programReference = default(EdFiProgramReference), EdFiStudentReference studentReference = default(EdFiStudentReference), string elaProgressLevelDescriptor = default(string), DateTime?endDate = default(DateTime?), string mathematicsProgressLevelDescriptor = default(string), string neglectedOrDelinquentProgramDescriptor = default(string), List <EdFiStudentNeglectedOrDelinquentProgramAssociationNeglectedOrDelinquentProgramServiceReadable> neglectedOrDelinquentProgramServices = default(List <EdFiStudentNeglectedOrDelinquentProgramAssociationNeglectedOrDelinquentProgramServiceReadable>), string etag = default(string), StudentNeglectedOrDelinquentProgramAssociationExtensionsReadable ext = default(StudentNeglectedOrDelinquentProgramAssociationExtensionsReadable))
 {
     // to ensure "beginDate" is required (not null)
     if (beginDate == null)
     {
         throw new InvalidDataException("beginDate is a required property for EdFiStudentNeglectedOrDelinquentProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.BeginDate = beginDate;
     }
     // to ensure "educationOrganizationReference" is required (not null)
     if (educationOrganizationReference == null)
     {
         throw new InvalidDataException("educationOrganizationReference is a required property for EdFiStudentNeglectedOrDelinquentProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.EducationOrganizationReference = educationOrganizationReference;
     }
     // to ensure "programReference" is required (not null)
     if (programReference == null)
     {
         throw new InvalidDataException("programReference is a required property for EdFiStudentNeglectedOrDelinquentProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.ProgramReference = programReference;
     }
     // to ensure "studentReference" is required (not null)
     if (studentReference == null)
     {
         throw new InvalidDataException("studentReference is a required property for EdFiStudentNeglectedOrDelinquentProgramAssociationReadable and cannot be null");
     }
     else
     {
         this.StudentReference = studentReference;
     }
     this.Id = id;
     this.ElaProgressLevelDescriptor = elaProgressLevelDescriptor;
     this.EndDate = endDate;
     this.MathematicsProgressLevelDescriptor     = mathematicsProgressLevelDescriptor;
     this.NeglectedOrDelinquentProgramDescriptor = neglectedOrDelinquentProgramDescriptor;
     this.NeglectedOrDelinquentProgramServices   = neglectedOrDelinquentProgramServices;
     this.Etag = etag;
     this.Ext  = ext;
 }
Example #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiProgramWritable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="programName">The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies. (required).</param>
 /// <param name="programTypeDescriptor">The type of program. (required).</param>
 /// <param name="educationOrganizationReference">educationOrganizationReference (required).</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 public EdFiProgramWritable(string id = default(string), string programName = default(string), string programTypeDescriptor = default(string), EdFiEducationOrganizationReference educationOrganizationReference = default(EdFiEducationOrganizationReference), string etag = default(string))
 {
     // to ensure "programName" is required (not null)
     if (programName == null)
     {
         throw new InvalidDataException("programName is a required property for EdFiProgramWritable and cannot be null");
     }
     else
     {
         this.ProgramName = programName;
     }
     // to ensure "programTypeDescriptor" is required (not null)
     if (programTypeDescriptor == null)
     {
         throw new InvalidDataException("programTypeDescriptor is a required property for EdFiProgramWritable and cannot be null");
     }
     else
     {
         this.ProgramTypeDescriptor = programTypeDescriptor;
     }
     // to ensure "educationOrganizationReference" is required (not null)
     if (educationOrganizationReference == null)
     {
         throw new InvalidDataException("educationOrganizationReference is a required property for EdFiProgramWritable and cannot be null");
     }
     else
     {
         this.EducationOrganizationReference = educationOrganizationReference;
     }
     this.Id   = id;
     this.Etag = etag;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiCourseWritable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="courseCode">A unique alphanumeric code assigned to a course. (required).</param>
 /// <param name="identificationCodes">An unordered collection of courseIdentificationCodes. The code that identifies the organization of subject matter and related learning experiences provided for the instruction of students. (required).</param>
 /// <param name="educationOrganizationReference">educationOrganizationReference (required).</param>
 /// <param name="courseDefinedByDescriptor">Specifies whether the course was defined by the SEA, LEA, School, or national organization..</param>
 /// <param name="courseDescription">A description of the content standards and goals covered in the course. Reference may be made to state or national content standards..</param>
 /// <param name="courseTitle">The descriptive name given to a course of study offered in a school or other institution or organization. In departmentalized classes at the elementary, secondary, and postsecondary levels (and for staff development activities), this refers to the name by which a course is identified (e.g., American History, English III). For elementary and other non-departmentalized classes, it refers to any portion of the instruction for which a grade or report is assigned (e.g., reading, composition, spelling, and language arts). (required).</param>
 /// <param name="dateCourseAdopted">Date the course was adopted by the education agency..</param>
 /// <param name="highSchoolCourseRequirement">An indication that this course may satisfy high school graduation requirements in the course&#39;s subject area..</param>
 /// <param name="learningStandards">An unordered collection of courseLearningStandards. Learning Standard(s) to be taught by the course..</param>
 /// <param name="levelCharacteristics">An unordered collection of courseLevelCharacteristics. The type of specific program or designation with which the course is associated (e.g., AP, IB, Dual Credit, CTE)..</param>
 /// <param name="maximumAvailableCredits">The value of credits or units of value awarded for the completion of a course..</param>
 /// <param name="numberOfParts">The number of parts identified for a course. (required).</param>
 /// <param name="offeredGradeLevels">An unordered collection of courseOfferedGradeLevels. The grade levels in which the course is offered..</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="ext">ext.</param>
 public EdFiCourseWritable(string id = default(string), string courseCode = default(string), List <EdFiCourseIdentificationCodeWritable> identificationCodes = default(List <EdFiCourseIdentificationCodeWritable>), EdFiEducationOrganizationReference educationOrganizationReference = default(EdFiEducationOrganizationReference), string courseDefinedByDescriptor = default(string), string courseDescription = default(string), string courseTitle = default(string), DateTime?dateCourseAdopted = default(DateTime?), bool?highSchoolCourseRequirement = default(bool?), List <EdFiCourseLearningStandardWritable> learningStandards = default(List <EdFiCourseLearningStandardWritable>), List <EdFiCourseLevelCharacteristicWritable> levelCharacteristics = default(List <EdFiCourseLevelCharacteristicWritable>), double?maximumAvailableCredits = default(double?), int?numberOfParts = default(int?), List <EdFiCourseOfferedGradeLevelWritable> offeredGradeLevels = default(List <EdFiCourseOfferedGradeLevelWritable>), string etag = default(string), CourseExtensionsWritable ext = default(CourseExtensionsWritable))
 {
     // to ensure "courseCode" is required (not null)
     if (courseCode == null)
     {
         throw new InvalidDataException("courseCode is a required property for EdFiCourseWritable and cannot be null");
     }
     else
     {
         this.CourseCode = courseCode;
     }
     // to ensure "identificationCodes" is required (not null)
     if (identificationCodes == null)
     {
         throw new InvalidDataException("identificationCodes is a required property for EdFiCourseWritable and cannot be null");
     }
     else
     {
         this.IdentificationCodes = identificationCodes;
     }
     // to ensure "educationOrganizationReference" is required (not null)
     if (educationOrganizationReference == null)
     {
         throw new InvalidDataException("educationOrganizationReference is a required property for EdFiCourseWritable and cannot be null");
     }
     else
     {
         this.EducationOrganizationReference = educationOrganizationReference;
     }
     // to ensure "courseTitle" is required (not null)
     if (courseTitle == null)
     {
         throw new InvalidDataException("courseTitle is a required property for EdFiCourseWritable and cannot be null");
     }
     else
     {
         this.CourseTitle = courseTitle;
     }
     // to ensure "numberOfParts" is required (not null)
     if (numberOfParts == null)
     {
         throw new InvalidDataException("numberOfParts is a required property for EdFiCourseWritable and cannot be null");
     }
     else
     {
         this.NumberOfParts = numberOfParts;
     }
     this.Id = id;
     this.CourseDefinedByDescriptor   = courseDefinedByDescriptor;
     this.CourseDescription           = courseDescription;
     this.DateCourseAdopted           = dateCourseAdopted;
     this.HighSchoolCourseRequirement = highSchoolCourseRequirement;
     this.LearningStandards           = learningStandards;
     this.LevelCharacteristics        = levelCharacteristics;
     this.MaximumAvailableCredits     = maximumAvailableCredits;
     this.OfferedGradeLevels          = offeredGradeLevels;
     this.Etag = etag;
     this.Ext  = ext;
 }