/// <summary>
 /// Initializes a new instance of the <see cref="EdFiLocalEducationAgency" /> class.
 /// </summary>
 /// <param name="Id">Id (required).</param>
 /// <param name="Addresses">An unordered collection of educationOrganizationAddresses. The set of elements that describes the physical location of the education entity, including the street address, city, state, ZIP code, and ZIP code + 4. (required).</param>
 /// <param name="Categories">An unordered collection of educationOrganizationCategories. The classification of the education agency within the geographic boundaries of a state according to the level of administrative and operational control granted by the state. (required).</param>
 /// <param name="LocalEducationAgencyId">The identifier assigned to a local education agency. (required).</param>
 /// <param name="EducationServiceCenterReference">EducationServiceCenterReference.</param>
 /// <param name="ParentLocalEducationAgencyReference">ParentLocalEducationAgencyReference.</param>
 /// <param name="StateEducationAgencyReference">StateEducationAgencyReference.</param>
 /// <param name="Accountabilities">An unordered collection of localEducationAgencyAccountabilities. This entity maintains information about federal reporting and accountability for local education agencies..</param>
 /// <param name="CharterStatusDescriptor">A school or agency providing free public elementary or secondary education to eligible students under a specific charter granted by the state legislature or other appropriate authority and designated by such authority to be a charter school..</param>
 /// <param name="FederalFunds">An unordered collection of localEducationAgencyFederalFunds. Contains the information about the reception and use of federal funds for reporting purposes..</param>
 /// <param name="IdentificationCodes">An unordered collection of educationOrganizationIdentificationCodes. A unique number or alphanumeric code assigned to an education organization by a school, school system, a state, or other agency or entity..</param>
 /// <param name="InstitutionTelephones">An unordered collection of educationOrganizationInstitutionTelephones. The 10-digit telephone number, including the area code, for the education entity..</param>
 /// <param name="InternationalAddresses">An unordered collection of educationOrganizationInternationalAddresses. The set of elements that describes the international physical location of the education entity..</param>
 /// <param name="LocalEducationAgencyCategoryDescriptor">The category of local education agency/district. For example: Independent or Charter. (required).</param>
 /// <param name="NameOfInstitution">The full, legally accepted name of the institution. (required).</param>
 /// <param name="OperationalStatusDescriptor">The current operational status of the EducationOrganization (e.g., active, inactive)..</param>
 /// <param name="ShortNameOfInstitution">A short name for the institution..</param>
 /// <param name="WebSite">The public web site address (URL) for the EducationOrganization..</param>
 /// <param name="Etag">A unique system-generated value that identifies the version of the resource..</param>
 /// <param name="Ext">Ext.</param>
 public EdFiLocalEducationAgency(string Id = default(string), List <EdFiEducationOrganizationAddress> Addresses = default(List <EdFiEducationOrganizationAddress>), List <EdFiEducationOrganizationCategory> Categories = default(List <EdFiEducationOrganizationCategory>), int?LocalEducationAgencyId = default(int?), EdFiEducationServiceCenterReference EducationServiceCenterReference = default(EdFiEducationServiceCenterReference), EdFiLocalEducationAgencyReference ParentLocalEducationAgencyReference = default(EdFiLocalEducationAgencyReference), EdFiStateEducationAgencyReference StateEducationAgencyReference = default(EdFiStateEducationAgencyReference), List <EdFiLocalEducationAgencyAccountability> Accountabilities = default(List <EdFiLocalEducationAgencyAccountability>), string CharterStatusDescriptor = default(string), List <EdFiLocalEducationAgencyFederalFunds> FederalFunds = default(List <EdFiLocalEducationAgencyFederalFunds>), List <EdFiEducationOrganizationIdentificationCode> IdentificationCodes = default(List <EdFiEducationOrganizationIdentificationCode>), List <EdFiEducationOrganizationInstitutionTelephone> InstitutionTelephones = default(List <EdFiEducationOrganizationInstitutionTelephone>), List <EdFiEducationOrganizationInternationalAddress> InternationalAddresses = default(List <EdFiEducationOrganizationInternationalAddress>), string LocalEducationAgencyCategoryDescriptor = default(string), string NameOfInstitution = default(string), string OperationalStatusDescriptor = default(string), string ShortNameOfInstitution = default(string), string WebSite = default(string), string Etag = default(string), LocalEducationAgencyExtensions Ext = default(LocalEducationAgencyExtensions))
 {
     // to ensure "Id" is required (not null)
     if (Id == null)
     {
         throw new InvalidDataException("Id is a required property for EdFiLocalEducationAgency and cannot be null");
     }
     else
     {
         this.Id = Id;
     }
     // to ensure "Addresses" is required (not null)
     if (Addresses == null)
     {
         throw new InvalidDataException("Addresses is a required property for EdFiLocalEducationAgency and cannot be null");
     }
     else
     {
         this.Addresses = Addresses;
     }
     // to ensure "Categories" is required (not null)
     if (Categories == null)
     {
         throw new InvalidDataException("Categories is a required property for EdFiLocalEducationAgency and cannot be null");
     }
     else
     {
         this.Categories = Categories;
     }
     // to ensure "LocalEducationAgencyId" is required (not null)
     if (LocalEducationAgencyId == null)
     {
         throw new InvalidDataException("LocalEducationAgencyId is a required property for EdFiLocalEducationAgency and cannot be null");
     }
     else
     {
         this.LocalEducationAgencyId = LocalEducationAgencyId;
     }
     // to ensure "LocalEducationAgencyCategoryDescriptor" is required (not null)
     if (LocalEducationAgencyCategoryDescriptor == null)
     {
         throw new InvalidDataException("LocalEducationAgencyCategoryDescriptor is a required property for EdFiLocalEducationAgency and cannot be null");
     }
     else
     {
         this.LocalEducationAgencyCategoryDescriptor = LocalEducationAgencyCategoryDescriptor;
     }
     // to ensure "NameOfInstitution" is required (not null)
     if (NameOfInstitution == null)
     {
         throw new InvalidDataException("NameOfInstitution is a required property for EdFiLocalEducationAgency and cannot be null");
     }
     else
     {
         this.NameOfInstitution = NameOfInstitution;
     }
     this.EducationServiceCenterReference     = EducationServiceCenterReference;
     this.ParentLocalEducationAgencyReference = ParentLocalEducationAgencyReference;
     this.StateEducationAgencyReference       = StateEducationAgencyReference;
     this.Accountabilities            = Accountabilities;
     this.CharterStatusDescriptor     = CharterStatusDescriptor;
     this.FederalFunds                = FederalFunds;
     this.IdentificationCodes         = IdentificationCodes;
     this.InstitutionTelephones       = InstitutionTelephones;
     this.InternationalAddresses      = InternationalAddresses;
     this.OperationalStatusDescriptor = OperationalStatusDescriptor;
     this.ShortNameOfInstitution      = ShortNameOfInstitution;
     this.WebSite = WebSite;
     this.Etag    = Etag;
     this.Ext     = Ext;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdFiEducationServiceCenter" /> class.
 /// </summary>
 /// <param name="Id">Id (required).</param>
 /// <param name="Addresses">An unordered collection of educationOrganizationAddresses. The set of elements that describes the physical location of the education entity, including the street address, city, state, ZIP code, and ZIP code + 4. (required).</param>
 /// <param name="Categories">An unordered collection of educationOrganizationCategories. The classification of the education agency within the geographic boundaries of a state according to the level of administrative and operational control granted by the state. (required).</param>
 /// <param name="EducationServiceCenterId">The identifier assigned to an education service center. (required).</param>
 /// <param name="StateEducationAgencyReference">StateEducationAgencyReference.</param>
 /// <param name="IdentificationCodes">An unordered collection of educationOrganizationIdentificationCodes. A unique number or alphanumeric code assigned to an education organization by a school, school system, a state, or other agency or entity..</param>
 /// <param name="InstitutionTelephones">An unordered collection of educationOrganizationInstitutionTelephones. The 10-digit telephone number, including the area code, for the education entity..</param>
 /// <param name="InternationalAddresses">An unordered collection of educationOrganizationInternationalAddresses. The set of elements that describes the international physical location of the education entity..</param>
 /// <param name="NameOfInstitution">The full, legally accepted name of the institution. (required).</param>
 /// <param name="OperationalStatusDescriptor">The current operational status of the EducationOrganization (e.g., active, inactive)..</param>
 /// <param name="ShortNameOfInstitution">A short name for the institution..</param>
 /// <param name="WebSite">The public web site address (URL) for the EducationOrganization..</param>
 /// <param name="Etag">A unique system-generated value that identifies the version of the resource..</param>
 public EdFiEducationServiceCenter(string Id = default(string), List <EdFiEducationOrganizationAddress> Addresses = default(List <EdFiEducationOrganizationAddress>), List <EdFiEducationOrganizationCategory> Categories = default(List <EdFiEducationOrganizationCategory>), int?EducationServiceCenterId = default(int?), EdFiStateEducationAgencyReference StateEducationAgencyReference = default(EdFiStateEducationAgencyReference), List <EdFiEducationOrganizationIdentificationCode> IdentificationCodes = default(List <EdFiEducationOrganizationIdentificationCode>), List <EdFiEducationOrganizationInstitutionTelephone> InstitutionTelephones = default(List <EdFiEducationOrganizationInstitutionTelephone>), List <EdFiEducationOrganizationInternationalAddress> InternationalAddresses = default(List <EdFiEducationOrganizationInternationalAddress>), string NameOfInstitution = default(string), string OperationalStatusDescriptor = default(string), string ShortNameOfInstitution = default(string), string WebSite = default(string), string Etag = default(string))
 {
     // to ensure "Id" is required (not null)
     if (Id == null)
     {
         throw new InvalidDataException("Id is a required property for EdFiEducationServiceCenter and cannot be null");
     }
     else
     {
         this.Id = Id;
     }
     // to ensure "Addresses" is required (not null)
     if (Addresses == null)
     {
         throw new InvalidDataException("Addresses is a required property for EdFiEducationServiceCenter and cannot be null");
     }
     else
     {
         this.Addresses = Addresses;
     }
     // to ensure "Categories" is required (not null)
     if (Categories == null)
     {
         throw new InvalidDataException("Categories is a required property for EdFiEducationServiceCenter and cannot be null");
     }
     else
     {
         this.Categories = Categories;
     }
     // to ensure "EducationServiceCenterId" is required (not null)
     if (EducationServiceCenterId == null)
     {
         throw new InvalidDataException("EducationServiceCenterId is a required property for EdFiEducationServiceCenter and cannot be null");
     }
     else
     {
         this.EducationServiceCenterId = EducationServiceCenterId;
     }
     // to ensure "NameOfInstitution" is required (not null)
     if (NameOfInstitution == null)
     {
         throw new InvalidDataException("NameOfInstitution is a required property for EdFiEducationServiceCenter and cannot be null");
     }
     else
     {
         this.NameOfInstitution = NameOfInstitution;
     }
     this.StateEducationAgencyReference = StateEducationAgencyReference;
     this.IdentificationCodes           = IdentificationCodes;
     this.InstitutionTelephones         = InstitutionTelephones;
     this.InternationalAddresses        = InternationalAddresses;
     this.OperationalStatusDescriptor   = OperationalStatusDescriptor;
     this.ShortNameOfInstitution        = ShortNameOfInstitution;
     this.WebSite = WebSite;
     this.Etag    = Etag;
 }