/// <summary>
 /// Initializes a new instance of the <see cref="EdFiCalendarWritable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="calendarCode">The identifier for the Calendar. (required).</param>
 /// <param name="schoolReference">schoolReference (required).</param>
 /// <param name="schoolYearTypeReference">schoolYearTypeReference (required).</param>
 /// <param name="calendarTypeDescriptor">Indicates the type of Calendar. (required).</param>
 /// <param name="gradeLevels">An unordered collection of calendarGradeLevels. Indicates the GradeLevel associated with the Calendar..</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="ext">ext.</param>
 public EdFiCalendarWritable(string id = default(string), string calendarCode = default(string), EdFiSchoolReference schoolReference = default(EdFiSchoolReference), EdFiSchoolYearTypeReference schoolYearTypeReference = default(EdFiSchoolYearTypeReference), string calendarTypeDescriptor = default(string), List <EdFiCalendarGradeLevelWritable> gradeLevels = default(List <EdFiCalendarGradeLevelWritable>), string etag = default(string), CalendarExtensionsWritable ext = default(CalendarExtensionsWritable))
 {
     // to ensure "calendarCode" is required (not null)
     if (calendarCode == null)
     {
         throw new InvalidDataException("calendarCode is a required property for EdFiCalendarWritable and cannot be null");
     }
     else
     {
         this.CalendarCode = calendarCode;
     }
     // to ensure "schoolReference" is required (not null)
     if (schoolReference == null)
     {
         throw new InvalidDataException("schoolReference is a required property for EdFiCalendarWritable and cannot be null");
     }
     else
     {
         this.SchoolReference = schoolReference;
     }
     // to ensure "schoolYearTypeReference" is required (not null)
     if (schoolYearTypeReference == null)
     {
         throw new InvalidDataException("schoolYearTypeReference is a required property for EdFiCalendarWritable and cannot be null");
     }
     else
     {
         this.SchoolYearTypeReference = schoolYearTypeReference;
     }
     // to ensure "calendarTypeDescriptor" is required (not null)
     if (calendarTypeDescriptor == null)
     {
         throw new InvalidDataException("calendarTypeDescriptor is a required property for EdFiCalendarWritable and cannot be null");
     }
     else
     {
         this.CalendarTypeDescriptor = calendarTypeDescriptor;
     }
     this.Id          = id;
     this.GradeLevels = gradeLevels;
     this.Etag        = etag;
     this.Ext         = ext;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiCalendarReadable" /> class.
 /// </summary>
 /// <param name="Id">Id (required).</param>
 /// <param name="CalendarCode">The identifier for the Calendar. (required).</param>
 /// <param name="SchoolReference">SchoolReference (required).</param>
 /// <param name="SchoolYearTypeReference">SchoolYearTypeReference (required).</param>
 /// <param name="CalendarTypeDescriptor">Indicates the type of Calendar. (required).</param>
 /// <param name="GradeLevels">An unordered collection of calendarGradeLevels. Indicates the GradeLevel associated with the Calendar..</param>
 /// <param name="Etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="Ext">Ext.</param>
 public EdFiCalendarReadable(string Id = default(string), string CalendarCode = default(string), EdFiSchoolReference SchoolReference = default(EdFiSchoolReference), EdFiSchoolYearTypeReference SchoolYearTypeReference = default(EdFiSchoolYearTypeReference), string CalendarTypeDescriptor = default(string), List <EdFiCalendarGradeLevelReadable> GradeLevels = default(List <EdFiCalendarGradeLevelReadable>), string Etag = default(string), CalendarExtensionsReadable Ext = default(CalendarExtensionsReadable))
 {
     // to ensure "Id" is required (not null)
     if (Id == null)
     {
         throw new InvalidDataException("Id is a required property for EdFiCalendarReadable and cannot be null");
     }
     else
     {
         this.Id = Id;
     }
     // to ensure "CalendarCode" is required (not null)
     if (CalendarCode == null)
     {
         throw new InvalidDataException("CalendarCode is a required property for EdFiCalendarReadable and cannot be null");
     }
     else
     {
         this.CalendarCode = CalendarCode;
     }
     // to ensure "SchoolReference" is required (not null)
     if (SchoolReference == null)
     {
         throw new InvalidDataException("SchoolReference is a required property for EdFiCalendarReadable and cannot be null");
     }
     else
     {
         this.SchoolReference = SchoolReference;
     }
     // to ensure "SchoolYearTypeReference" is required (not null)
     if (SchoolYearTypeReference == null)
     {
         throw new InvalidDataException("SchoolYearTypeReference is a required property for EdFiCalendarReadable and cannot be null");
     }
     else
     {
         this.SchoolYearTypeReference = SchoolYearTypeReference;
     }
     // to ensure "CalendarTypeDescriptor" is required (not null)
     if (CalendarTypeDescriptor == null)
     {
         throw new InvalidDataException("CalendarTypeDescriptor is a required property for EdFiCalendarReadable and cannot be null");
     }
     else
     {
         this.CalendarTypeDescriptor = CalendarTypeDescriptor;
     }
     this.GradeLevels = GradeLevels;
     this.Etag        = Etag;
     this.Ext         = Ext;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiSessionWritable" /> class.
 /// </summary>
 /// <param name="Id">Id (required).</param>
 /// <param name="SessionName">The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer). (required).</param>
 /// <param name="SchoolReference">SchoolReference (required).</param>
 /// <param name="SchoolYearTypeReference">SchoolYearTypeReference (required).</param>
 /// <param name="BeginDate">Month, day, and year of the first day of the Session. (required).</param>
 /// <param name="EndDate">Month, day and year of the last day of the Session. (required).</param>
 /// <param name="TermDescriptor">An descriptor value indicating the term (e.g. &#39;Fall Semester&#39;, &#39;Second Quarter&#39;, &#39;Summer Semester&#39;, etc.). (required).</param>
 /// <param name="TotalInstructionalDays">The total number of instructional days in the school calendar. (required).</param>
 /// <param name="Etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="Ext">Ext.</param>
 public EdFiSessionWritable(string Id = default(string), string SessionName = default(string), EdFiSchoolReference SchoolReference = default(EdFiSchoolReference), EdFiSchoolYearTypeReference SchoolYearTypeReference = default(EdFiSchoolYearTypeReference), DateTime?BeginDate = default(DateTime?), DateTime?EndDate = default(DateTime?), string TermDescriptor = default(string), int?TotalInstructionalDays = default(int?), string Etag = default(string), SessionExtensionsWritable Ext = default(SessionExtensionsWritable))
 {
     // to ensure "Id" is required (not null)
     if (Id == null)
     {
         throw new InvalidDataException("Id is a required property for EdFiSessionWritable and cannot be null");
     }
     else
     {
         this.Id = Id;
     }
     // to ensure "SessionName" is required (not null)
     if (SessionName == null)
     {
         throw new InvalidDataException("SessionName is a required property for EdFiSessionWritable and cannot be null");
     }
     else
     {
         this.SessionName = SessionName;
     }
     // to ensure "SchoolReference" is required (not null)
     if (SchoolReference == null)
     {
         throw new InvalidDataException("SchoolReference is a required property for EdFiSessionWritable and cannot be null");
     }
     else
     {
         this.SchoolReference = SchoolReference;
     }
     // to ensure "SchoolYearTypeReference" is required (not null)
     if (SchoolYearTypeReference == null)
     {
         throw new InvalidDataException("SchoolYearTypeReference is a required property for EdFiSessionWritable and cannot be null");
     }
     else
     {
         this.SchoolYearTypeReference = SchoolYearTypeReference;
     }
     // to ensure "BeginDate" is required (not null)
     if (BeginDate == null)
     {
         throw new InvalidDataException("BeginDate is a required property for EdFiSessionWritable and cannot be null");
     }
     else
     {
         this.BeginDate = BeginDate;
     }
     // to ensure "EndDate" is required (not null)
     if (EndDate == null)
     {
         throw new InvalidDataException("EndDate is a required property for EdFiSessionWritable and cannot be null");
     }
     else
     {
         this.EndDate = EndDate;
     }
     // to ensure "TermDescriptor" is required (not null)
     if (TermDescriptor == null)
     {
         throw new InvalidDataException("TermDescriptor is a required property for EdFiSessionWritable and cannot be null");
     }
     else
     {
         this.TermDescriptor = TermDescriptor;
     }
     // to ensure "TotalInstructionalDays" is required (not null)
     if (TotalInstructionalDays == null)
     {
         throw new InvalidDataException("TotalInstructionalDays is a required property for EdFiSessionWritable and cannot be null");
     }
     else
     {
         this.TotalInstructionalDays = TotalInstructionalDays;
     }
     this.Etag = Etag;
     this.Ext  = Ext;
 }
示例#4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentSchoolAssociationReadable" /> class.
 /// </summary>
 /// <param name="Id">Id (required).</param>
 /// <param name="EntryDate">The month, day, and year on which an individual enters and begins to receive instructional services in a school. (required).</param>
 /// <param name="SchoolReference">SchoolReference (required).</param>
 /// <param name="SchoolYearTypeReference">SchoolYearTypeReference.</param>
 /// <param name="StudentReference">StudentReference (required).</param>
 /// <param name="EntryGradeLevelDescriptor">The grade level or primary instructional level at which a student enters and receives services in a school or an educational institution during a given academic session. (required).</param>
 /// <param name="EntryTypeDescriptor">The process by which a student enters a school during a given academic session..</param>
 /// <param name="ExitWithdrawDate">The month, day, and year of the first day after the date of an individual&#39;s last attendance at a school (if known), the day on which an individual graduated, or the date on which it becomes known officially that an individual left school..</param>
 /// <param name="ExitWithdrawTypeDescriptor">The circumstances under which the student exited from membership in an educational institution..</param>
 /// <param name="Etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="Ext">Ext.</param>
 public EdFiStudentSchoolAssociationReadable(string Id = default(string), DateTime?EntryDate = default(DateTime?), EdFiSchoolReference SchoolReference = default(EdFiSchoolReference), EdFiSchoolYearTypeReference SchoolYearTypeReference = default(EdFiSchoolYearTypeReference), EdFiStudentReference StudentReference = default(EdFiStudentReference), string EntryGradeLevelDescriptor = default(string), string EntryTypeDescriptor = default(string), DateTime?ExitWithdrawDate = default(DateTime?), string ExitWithdrawTypeDescriptor = default(string), string Etag = default(string), StudentSchoolAssociationExtensionsReadable Ext = default(StudentSchoolAssociationExtensionsReadable))
 {
     // to ensure "Id" is required (not null)
     if (Id == null)
     {
         throw new InvalidDataException("Id is a required property for EdFiStudentSchoolAssociationReadable and cannot be null");
     }
     else
     {
         this.Id = Id;
     }
     // to ensure "EntryDate" is required (not null)
     if (EntryDate == null)
     {
         throw new InvalidDataException("EntryDate is a required property for EdFiStudentSchoolAssociationReadable and cannot be null");
     }
     else
     {
         this.EntryDate = EntryDate;
     }
     // to ensure "SchoolReference" is required (not null)
     if (SchoolReference == null)
     {
         throw new InvalidDataException("SchoolReference is a required property for EdFiStudentSchoolAssociationReadable and cannot be null");
     }
     else
     {
         this.SchoolReference = SchoolReference;
     }
     // to ensure "StudentReference" is required (not null)
     if (StudentReference == null)
     {
         throw new InvalidDataException("StudentReference is a required property for EdFiStudentSchoolAssociationReadable and cannot be null");
     }
     else
     {
         this.StudentReference = StudentReference;
     }
     // to ensure "EntryGradeLevelDescriptor" is required (not null)
     if (EntryGradeLevelDescriptor == null)
     {
         throw new InvalidDataException("EntryGradeLevelDescriptor is a required property for EdFiStudentSchoolAssociationReadable and cannot be null");
     }
     else
     {
         this.EntryGradeLevelDescriptor = EntryGradeLevelDescriptor;
     }
     this.SchoolYearTypeReference    = SchoolYearTypeReference;
     this.EntryTypeDescriptor        = EntryTypeDescriptor;
     this.ExitWithdrawDate           = ExitWithdrawDate;
     this.ExitWithdrawTypeDescriptor = ExitWithdrawTypeDescriptor;
     this.Etag = Etag;
     this.Ext  = Ext;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiStudentSchoolAssociationReadable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="entryDate">The month, day, and year on which an individual enters and begins to receive instructional services in a school. (required).</param>
 /// <param name="calendarReference">calendarReference.</param>
 /// <param name="schoolReference">schoolReference (required).</param>
 /// <param name="schoolYearTypeReference">schoolYearTypeReference.</param>
 /// <param name="studentReference">studentReference (required).</param>
 /// <param name="entryGradeLevelDescriptor">The grade level or primary instructional level at which a student enters and receives services in a school or an educational institution during a given academic session. (required).</param>
 /// <param name="entryTypeDescriptor">The process by which a student enters a school during a given academic session..</param>
 /// <param name="exitWithdrawDate">The recorded exit or withdraw date for the student..</param>
 /// <param name="exitWithdrawTypeDescriptor">The circumstances under which the student exited from membership in an educational institution..</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="ext">ext.</param>
 public EdFiStudentSchoolAssociationReadable(string id = default(string), DateTime?entryDate = default(DateTime?), EdFiCalendarReference calendarReference = default(EdFiCalendarReference), EdFiSchoolReference schoolReference = default(EdFiSchoolReference), EdFiSchoolYearTypeReference schoolYearTypeReference = default(EdFiSchoolYearTypeReference), EdFiStudentReference studentReference = default(EdFiStudentReference), string entryGradeLevelDescriptor = default(string), string entryTypeDescriptor = default(string), DateTime?exitWithdrawDate = default(DateTime?), string exitWithdrawTypeDescriptor = default(string), string etag = default(string), StudentSchoolAssociationExtensionsReadable ext = default(StudentSchoolAssociationExtensionsReadable))
 {
     // to ensure "entryDate" is required (not null)
     if (entryDate == null)
     {
         throw new InvalidDataException("entryDate is a required property for EdFiStudentSchoolAssociationReadable and cannot be null");
     }
     else
     {
         this.EntryDate = entryDate;
     }
     // to ensure "schoolReference" is required (not null)
     if (schoolReference == null)
     {
         throw new InvalidDataException("schoolReference is a required property for EdFiStudentSchoolAssociationReadable and cannot be null");
     }
     else
     {
         this.SchoolReference = schoolReference;
     }
     // to ensure "studentReference" is required (not null)
     if (studentReference == null)
     {
         throw new InvalidDataException("studentReference is a required property for EdFiStudentSchoolAssociationReadable and cannot be null");
     }
     else
     {
         this.StudentReference = studentReference;
     }
     // to ensure "entryGradeLevelDescriptor" is required (not null)
     if (entryGradeLevelDescriptor == null)
     {
         throw new InvalidDataException("entryGradeLevelDescriptor is a required property for EdFiStudentSchoolAssociationReadable and cannot be null");
     }
     else
     {
         this.EntryGradeLevelDescriptor = entryGradeLevelDescriptor;
     }
     this.Id = id;
     this.CalendarReference          = calendarReference;
     this.SchoolYearTypeReference    = schoolYearTypeReference;
     this.EntryTypeDescriptor        = entryTypeDescriptor;
     this.ExitWithdrawDate           = exitWithdrawDate;
     this.ExitWithdrawTypeDescriptor = exitWithdrawTypeDescriptor;
     this.Etag = etag;
     this.Ext  = ext;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiGradingPeriodWritable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="gradingPeriodDescriptor">The name of the period for which grades are reported. (required).</param>
 /// <param name="periodSequence">The sequential order of this period relative to other periods. (required).</param>
 /// <param name="schoolReference">schoolReference (required).</param>
 /// <param name="schoolYearTypeReference">schoolYearTypeReference (required).</param>
 /// <param name="beginDate">Month, day, and year of the first day of the GradingPeriod. (required).</param>
 /// <param name="endDate">Month, day, and year of the last day of the GradingPeriod. (required).</param>
 /// <param name="totalInstructionalDays">Total days available for educational instruction during the GradingPeriod. (required).</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 public EdFiGradingPeriodWritable(string id = default(string), string gradingPeriodDescriptor = default(string), int?periodSequence = default(int?), EdFiSchoolReference schoolReference = default(EdFiSchoolReference), EdFiSchoolYearTypeReference schoolYearTypeReference = default(EdFiSchoolYearTypeReference), DateTime?beginDate = default(DateTime?), DateTime?endDate = default(DateTime?), int?totalInstructionalDays = default(int?), string etag = default(string))
 {
     // to ensure "gradingPeriodDescriptor" is required (not null)
     if (gradingPeriodDescriptor == null)
     {
         throw new InvalidDataException("gradingPeriodDescriptor is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.GradingPeriodDescriptor = gradingPeriodDescriptor;
     }
     // to ensure "periodSequence" is required (not null)
     if (periodSequence == null)
     {
         throw new InvalidDataException("periodSequence is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.PeriodSequence = periodSequence;
     }
     // to ensure "schoolReference" is required (not null)
     if (schoolReference == null)
     {
         throw new InvalidDataException("schoolReference is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.SchoolReference = schoolReference;
     }
     // to ensure "schoolYearTypeReference" is required (not null)
     if (schoolYearTypeReference == null)
     {
         throw new InvalidDataException("schoolYearTypeReference is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.SchoolYearTypeReference = schoolYearTypeReference;
     }
     // to ensure "beginDate" is required (not null)
     if (beginDate == null)
     {
         throw new InvalidDataException("beginDate is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.BeginDate = beginDate;
     }
     // to ensure "endDate" is required (not null)
     if (endDate == null)
     {
         throw new InvalidDataException("endDate is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.EndDate = endDate;
     }
     // to ensure "totalInstructionalDays" is required (not null)
     if (totalInstructionalDays == null)
     {
         throw new InvalidDataException("totalInstructionalDays is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.TotalInstructionalDays = totalInstructionalDays;
     }
     this.Id   = id;
     this.Etag = etag;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiSessionReadable" /> class.
 /// </summary>
 /// <param name="id">id.</param>
 /// <param name="sessionName">The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer). (required).</param>
 /// <param name="schoolReference">schoolReference (required).</param>
 /// <param name="schoolYearTypeReference">schoolYearTypeReference (required).</param>
 /// <param name="beginDate">Month, day, and year of the first day of the Session. (required).</param>
 /// <param name="endDate">Month, day and year of the last day of the Session. (required).</param>
 /// <param name="termDescriptor">An descriptor value indicating the term (e.g. &#39;Semester&#39;, &#39;Quarter&#39;, etc.). (required).</param>
 /// <param name="totalInstructionalDays">The total number of instructional days in the school calendar. (required).</param>
 /// <param name="etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="ext">ext.</param>
 public EdFiSessionReadable(string id = default(string), string sessionName = default(string), EdFiSchoolReference schoolReference = default(EdFiSchoolReference), EdFiSchoolYearTypeReference schoolYearTypeReference = default(EdFiSchoolYearTypeReference), DateTime?beginDate = default(DateTime?), DateTime?endDate = default(DateTime?), string termDescriptor = default(string), int?totalInstructionalDays = default(int?), string etag = default(string), SessionExtensionsReadable ext = default(SessionExtensionsReadable))
 {
     // to ensure "sessionName" is required (not null)
     if (sessionName == null)
     {
         throw new InvalidDataException("sessionName is a required property for EdFiSessionReadable and cannot be null");
     }
     else
     {
         this.SessionName = sessionName;
     }
     // to ensure "schoolReference" is required (not null)
     if (schoolReference == null)
     {
         throw new InvalidDataException("schoolReference is a required property for EdFiSessionReadable and cannot be null");
     }
     else
     {
         this.SchoolReference = schoolReference;
     }
     // to ensure "schoolYearTypeReference" is required (not null)
     if (schoolYearTypeReference == null)
     {
         throw new InvalidDataException("schoolYearTypeReference is a required property for EdFiSessionReadable and cannot be null");
     }
     else
     {
         this.SchoolYearTypeReference = schoolYearTypeReference;
     }
     // to ensure "beginDate" is required (not null)
     if (beginDate == null)
     {
         throw new InvalidDataException("beginDate is a required property for EdFiSessionReadable and cannot be null");
     }
     else
     {
         this.BeginDate = beginDate;
     }
     // to ensure "endDate" is required (not null)
     if (endDate == null)
     {
         throw new InvalidDataException("endDate is a required property for EdFiSessionReadable and cannot be null");
     }
     else
     {
         this.EndDate = endDate;
     }
     // to ensure "termDescriptor" is required (not null)
     if (termDescriptor == null)
     {
         throw new InvalidDataException("termDescriptor is a required property for EdFiSessionReadable and cannot be null");
     }
     else
     {
         this.TermDescriptor = termDescriptor;
     }
     // to ensure "totalInstructionalDays" is required (not null)
     if (totalInstructionalDays == null)
     {
         throw new InvalidDataException("totalInstructionalDays is a required property for EdFiSessionReadable and cannot be null");
     }
     else
     {
         this.TotalInstructionalDays = totalInstructionalDays;
     }
     this.Id   = id;
     this.Etag = etag;
     this.Ext  = ext;
 }
示例#8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiGradingPeriodWritable" /> class.
 /// </summary>
 /// <param name="Id">Id (required).</param>
 /// <param name="GradingPeriodDescriptor">The name of the period for which grades are reported. (required).</param>
 /// <param name="PeriodSequence">The sequential order of this period relative to other periods. (required).</param>
 /// <param name="SchoolReference">SchoolReference (required).</param>
 /// <param name="SchoolYearTypeReference">SchoolYearTypeReference (required).</param>
 /// <param name="BeginDate">Month, day, and year of the first day of the GradingPeriod. (required).</param>
 /// <param name="EndDate">Month, day, and year of the last day of the GradingPeriod. (required).</param>
 /// <param name="TotalInstructionalDays">Total days available for educational instruction during the GradingPeriod. (required).</param>
 /// <param name="Etag">A unique system-generated value that identifies the version of the resource..</param>
 public EdFiGradingPeriodWritable(string Id = default(string), string GradingPeriodDescriptor = default(string), int?PeriodSequence = default(int?), EdFiSchoolReference SchoolReference = default(EdFiSchoolReference), EdFiSchoolYearTypeReference SchoolYearTypeReference = default(EdFiSchoolYearTypeReference), DateTime?BeginDate = default(DateTime?), DateTime?EndDate = default(DateTime?), int?TotalInstructionalDays = default(int?), string Etag = default(string))
 {
     // to ensure "Id" is required (not null)
     if (Id == null)
     {
         throw new InvalidDataException("Id is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.Id = Id;
     }
     // to ensure "GradingPeriodDescriptor" is required (not null)
     if (GradingPeriodDescriptor == null)
     {
         throw new InvalidDataException("GradingPeriodDescriptor is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.GradingPeriodDescriptor = GradingPeriodDescriptor;
     }
     // to ensure "PeriodSequence" is required (not null)
     if (PeriodSequence == null)
     {
         throw new InvalidDataException("PeriodSequence is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.PeriodSequence = PeriodSequence;
     }
     // to ensure "SchoolReference" is required (not null)
     if (SchoolReference == null)
     {
         throw new InvalidDataException("SchoolReference is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.SchoolReference = SchoolReference;
     }
     // to ensure "SchoolYearTypeReference" is required (not null)
     if (SchoolYearTypeReference == null)
     {
         throw new InvalidDataException("SchoolYearTypeReference is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.SchoolYearTypeReference = SchoolYearTypeReference;
     }
     // to ensure "BeginDate" is required (not null)
     if (BeginDate == null)
     {
         throw new InvalidDataException("BeginDate is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.BeginDate = BeginDate;
     }
     // to ensure "EndDate" is required (not null)
     if (EndDate == null)
     {
         throw new InvalidDataException("EndDate is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.EndDate = EndDate;
     }
     // to ensure "TotalInstructionalDays" is required (not null)
     if (TotalInstructionalDays == null)
     {
         throw new InvalidDataException("TotalInstructionalDays is a required property for EdFiGradingPeriodWritable and cannot be null");
     }
     else
     {
         this.TotalInstructionalDays = TotalInstructionalDays;
     }
     this.Etag = Etag;
 }