diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Metadata/ApiModel.json b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Metadata/ApiModel.json index e5184245e9..422a5de090 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Metadata/ApiModel.json +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Metadata/ApiModel.json @@ -235,11 +235,27 @@ }, { "schema": "edfi", - "name": "AssessmentAdministrationAssessmentAdminstrationPeriod" + "name": "AssessmentAdministrationAssessmentBatteryPart" }, { "schema": "edfi", - "name": "AssessmentAdministrationAssessmentBatteryPart" + "name": "AssessmentAdministrationPeriod" + } + ] + }, + { + "aggregateRootEntityName": { + "schema": "edfi", + "name": "AssessmentAdministrationParticipation" + }, + "aggregateEntityNames": [ + { + "schema": "edfi", + "name": "AssessmentAdministrationParticipation" + }, + { + "schema": "edfi", + "name": "AssessmentAdministrationParticipationAdministrationPointOfContact" } ] }, @@ -367,22 +383,6 @@ } ] }, - { - "aggregateRootEntityName": { - "schema": "edfi", - "name": "AssesssmentAdministrationParticipation" - }, - "aggregateEntityNames": [ - { - "schema": "edfi", - "name": "AssesssmentAdministrationParticipation" - }, - { - "schema": "edfi", - "name": "AssesssmentAdministrationParticipationAdministrationPointOfContact" - } - ] - }, { "aggregateRootEntityName": { "schema": "edfi", @@ -1363,6 +1363,30 @@ } ] }, + { + "aggregateRootEntityName": { + "schema": "edfi", + "name": "DualCreditInstitutionDescriptor" + }, + "aggregateEntityNames": [ + { + "schema": "edfi", + "name": "DualCreditInstitutionDescriptor" + } + ] + }, + { + "aggregateRootEntityName": { + "schema": "edfi", + "name": "DualCreditTypeDescriptor" + }, + "aggregateEntityNames": [ + { + "schema": "edfi", + "name": "DualCreditTypeDescriptor" + } + ] + }, { "aggregateRootEntityName": { "schema": "edfi", @@ -3618,12 +3642,12 @@ { "aggregateRootEntityName": { "schema": "edfi", - "name": "Section504DisabilityTypeDescriptor" + "name": "Section504DisabilityDescriptor" }, "aggregateEntityNames": [ { "schema": "edfi", - "name": "Section504DisabilityTypeDescriptor" + "name": "Section504DisabilityDescriptor" } ] }, @@ -4332,6 +4356,10 @@ { "schema": "edfi", "name": "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode" + }, + { + "schema": "edfi", + "name": "StudentDisciplineIncidentBehaviorAssociationWeapon" } ] }, @@ -6293,26 +6321,148 @@ }, { "schema": "edfi", - "name": "AssessmentAdministrationAssessmentAdminstrationPeriod", + "name": "AssessmentAdministrationAssessmentBatteryPart", "locallyDefinedProperties": [ { - "propertyName": "BeginDate", + "propertyName": "CreateDate", "propertyType": { - "dbType": "Date", - "minLength": 0, + "dbType": "DateTime2", "maxLength": 0, "precision": 0, "scale": 0, "isNullable": false }, - "description": "The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.", - "isIdentifying": true, + "description": "", + "isIdentifying": false, "isServerAssigned": false, "columnNames": { - "sqlServer": "BeginDate", - "postgreSql": "BeginDate" + "sqlServer": "CreateDate", + "postgreSql": "CreateDate" + } + } + ], + "identifiers": [ + { + "identifierName": "AssessmentAdministrationAssessmentBatteryPart_PK", + "identifyingPropertyNames": [ + "AdministrationIdentifier", + "AssessmentIdentifier", + "AssigningEducationOrganizationId", + "Namespace", + "AssessmentBatteryPartName" + ], + "isPrimary": true, + "isUpdatable": false, + "constraintNames": { + "sqlServer": "AssessmentAdministrationAssessmentBatteryPart_PK", + "postgreSql": "AssessmentAdministrationAssessmentBatteryPart_PK" + } + } + ], + "isAbstract": false, + "description": "A reference to the parts of the assessment battery that are offered in this administration of the assessment.", + "tableNames": { + "sqlServer": "AssessmentAdministrationAssessmentBatteryPart", + "postgreSql": "AssessmentAdministrationAssessmentBatteryPart" + } + }, + { + "schema": "edfi", + "name": "AssessmentAdministrationParticipation", + "locallyDefinedProperties": [ + { + "propertyName": "CreateDate", + "propertyType": { + "dbType": "DateTime2", + "maxLength": 0, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "CreateDate", + "postgreSql": "CreateDate" + } + }, + { + "propertyName": "Id", + "propertyType": { + "dbType": "Guid", + "maxLength": 0, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "Id", + "postgreSql": "Id" + } + }, + { + "propertyName": "LastModifiedDate", + "propertyType": { + "dbType": "DateTime2", + "maxLength": 0, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "LastModifiedDate", + "postgreSql": "LastModifiedDate" + } + } + ], + "identifiers": [ + { + "identifierName": "AssessmentAdministrationParticipation_PK", + "identifyingPropertyNames": [ + "AdministrationIdentifier", + "AssessmentIdentifier", + "AssigningEducationOrganizationId", + "Namespace", + "ParticipatingEducationOrganizationId" + ], + "isPrimary": true, + "isUpdatable": false, + "constraintNames": { + "sqlServer": "AssessmentAdministrationParticipation_PK", + "postgreSql": "AssessmentAdministrationParticipation_PK" } }, + { + "identifierName": "UX_AssessmentAdministrationParticipation_Id", + "identifyingPropertyNames": [ + "Id" + ], + "isPrimary": false, + "isUpdatable": false, + "constraintNames": { + "sqlServer": "UX_AssessmentAdministrationParticipation_Id", + "postgreSql": "UX_77818e_Id" + } + } + ], + "isAbstract": false, + "description": "Identifies the point of contact for the administration of an assessment under the purview of an education organization.", + "tableNames": { + "sqlServer": "AssessmentAdministrationParticipation", + "postgreSql": "AssessmentAdministrationParticipation" + } + }, + { + "schema": "edfi", + "name": "AssessmentAdministrationParticipationAdministrationPointOfContact", + "locallyDefinedProperties": [ { "propertyName": "CreateDate", "propertyType": { @@ -6331,53 +6481,127 @@ } }, { - "propertyName": "EndDate", + "propertyName": "ElectronicMailAddress", "propertyType": { - "dbType": "Date", + "dbType": "String", + "minLength": 7, + "maxLength": 128, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "The email address for the contact.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "ElectronicMailAddress", + "postgreSql": "ElectronicMailAddress" + } + }, + { + "propertyName": "FirstName", + "propertyType": { + "dbType": "String", "minLength": 0, - "maxLength": 0, + "maxLength": 75, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "The contact's first name.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "FirstName", + "postgreSql": "FirstName" + } + }, + { + "propertyName": "LastSurname", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 75, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "The contact's last name.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "LastSurname", + "postgreSql": "LastSurname" + } + }, + { + "propertyName": "LoginId", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 60, "precision": 0, "scale": 0, "isNullable": true }, - "description": "The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.", + "description": "The login ID for the user; used for security access control interface.", "isIdentifying": false, "isServerAssigned": false, "columnNames": { - "sqlServer": "EndDate", - "postgreSql": "EndDate" + "sqlServer": "LoginId", + "postgreSql": "LoginId" } } ], "identifiers": [ { - "identifierName": "AssessmentAdministrationAssessmentAdminstrationPeriod_PK", + "identifierName": "AssessmentAdministrationParticipationAdministrationPointOfContact_PK", "identifyingPropertyNames": [ "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", - "BeginDate" + "ParticipatingEducationOrganizationId", + "EducationOrganizationId", + "ElectronicMailAddress" ], "isPrimary": true, "isUpdatable": false, "constraintNames": { - "sqlServer": "AssessmentAdministrationAssessmentAdminstrationPeriod_PK", - "postgreSql": "AssessmentAdministrationAssessmentAdminstrationPeriod_PK" + "sqlServer": "AssessmentAdministrationParticipationAdministrationPointOfContact_PK", + "postgreSql": "AssessmentAdministrationParticipationAdministratio_c63833_PK" } } ], "isAbstract": false, - "description": "The anticipated dates for the assessment or administration window.", + "description": "Pre-identified contacts for education organizations administering the assessment.", "tableNames": { - "sqlServer": "AssessmentAdministrationAssessmentAdminstrationPeriod", - "postgreSql": "AssessmentAdministrationAssessmentAdminstrationPeriod" + "sqlServer": "AssessmentAdministrationParticipationAdministrationPointOfContact", + "postgreSql": "AssessmentAdministrationParticipationAdministrationPoint_c63833" } }, { "schema": "edfi", - "name": "AssessmentAdministrationAssessmentBatteryPart", + "name": "AssessmentAdministrationPeriod", "locallyDefinedProperties": [ + { + "propertyName": "BeginDate", + "propertyType": { + "dbType": "Date", + "minLength": 0, + "maxLength": 0, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "BeginDate", + "postgreSql": "BeginDate" + } + }, { "propertyName": "CreateDate", "propertyType": { @@ -6394,31 +6618,49 @@ "sqlServer": "CreateDate", "postgreSql": "CreateDate" } + }, + { + "propertyName": "EndDate", + "propertyType": { + "dbType": "Date", + "minLength": 0, + "maxLength": 0, + "precision": 0, + "scale": 0, + "isNullable": true + }, + "description": "The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "EndDate", + "postgreSql": "EndDate" + } } ], "identifiers": [ { - "identifierName": "AssessmentAdministrationAssessmentBatteryPart_PK", + "identifierName": "AssessmentAdministrationPeriod_PK", "identifyingPropertyNames": [ "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", - "AssessmentBatteryPartName" + "BeginDate" ], "isPrimary": true, "isUpdatable": false, "constraintNames": { - "sqlServer": "AssessmentAdministrationAssessmentBatteryPart_PK", - "postgreSql": "AssessmentAdministrationAssessmentBatteryPart_PK" + "sqlServer": "AssessmentAdministrationPeriod_PK", + "postgreSql": "AssessmentAdministrationPeriod_PK" } } ], "isAbstract": false, - "description": "A reference to the parts of the assessment battery that are offered in this administration of the assessment.", + "description": "The anticipated dates for the assessment or administration window.", "tableNames": { - "sqlServer": "AssessmentAdministrationAssessmentBatteryPart", - "postgreSql": "AssessmentAdministrationAssessmentBatteryPart" + "sqlServer": "AssessmentAdministrationPeriod", + "postgreSql": "AssessmentAdministrationPeriod" } }, { @@ -8068,220 +8310,6 @@ "postgreSql": "AssessmentSection" } }, - { - "schema": "edfi", - "name": "AssesssmentAdministrationParticipation", - "locallyDefinedProperties": [ - { - "propertyName": "CreateDate", - "propertyType": { - "dbType": "DateTime2", - "maxLength": 0, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "", - "isIdentifying": false, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "CreateDate", - "postgreSql": "CreateDate" - } - }, - { - "propertyName": "Id", - "propertyType": { - "dbType": "Guid", - "maxLength": 0, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "", - "isIdentifying": false, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "Id", - "postgreSql": "Id" - } - }, - { - "propertyName": "LastModifiedDate", - "propertyType": { - "dbType": "DateTime2", - "maxLength": 0, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "", - "isIdentifying": false, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "LastModifiedDate", - "postgreSql": "LastModifiedDate" - } - } - ], - "identifiers": [ - { - "identifierName": "AssesssmentAdministrationParticipation_PK", - "identifyingPropertyNames": [ - "AdministrationIdentifier", - "AssessmentIdentifier", - "AssigningEducationOrganizationId", - "Namespace", - "ParticipatingEducationOrganizationId" - ], - "isPrimary": true, - "isUpdatable": false, - "constraintNames": { - "sqlServer": "AssesssmentAdministrationParticipation_PK", - "postgreSql": "AssesssmentAdministrationParticipation_PK" - } - }, - { - "identifierName": "UX_AssesssmentAdministrationParticipation_Id", - "identifyingPropertyNames": [ - "Id" - ], - "isPrimary": false, - "isUpdatable": false, - "constraintNames": { - "sqlServer": "UX_AssesssmentAdministrationParticipation_Id", - "postgreSql": "UX_0b52ab_Id" - } - } - ], - "isAbstract": false, - "description": "Identifies the point of contact for the administration of an assessment under the purview of an education organization.", - "tableNames": { - "sqlServer": "AssesssmentAdministrationParticipation", - "postgreSql": "AssesssmentAdministrationParticipation" - } - }, - { - "schema": "edfi", - "name": "AssesssmentAdministrationParticipationAdministrationPointOfContact", - "locallyDefinedProperties": [ - { - "propertyName": "CreateDate", - "propertyType": { - "dbType": "DateTime2", - "maxLength": 0, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "", - "isIdentifying": false, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "CreateDate", - "postgreSql": "CreateDate" - } - }, - { - "propertyName": "ElectronicMailAddress", - "propertyType": { - "dbType": "String", - "minLength": 7, - "maxLength": 128, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "The email address for the contact.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "ElectronicMailAddress", - "postgreSql": "ElectronicMailAddress" - } - }, - { - "propertyName": "FirstName", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 75, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "The contact's first name.", - "isIdentifying": false, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "FirstName", - "postgreSql": "FirstName" - } - }, - { - "propertyName": "LastSurname", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 75, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "The contact's last name.", - "isIdentifying": false, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "LastSurname", - "postgreSql": "LastSurname" - } - }, - { - "propertyName": "LoginId", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 60, - "precision": 0, - "scale": 0, - "isNullable": true - }, - "description": "The login ID for the user; used for security access control interface.", - "isIdentifying": false, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "LoginId", - "postgreSql": "LoginId" - } - } - ], - "identifiers": [ - { - "identifierName": "AssesssmentAdministrationParticipationAdministrationPointOfContact_PK", - "identifyingPropertyNames": [ - "AdministrationIdentifier", - "AssessmentIdentifier", - "AssigningEducationOrganizationId", - "Namespace", - "ParticipatingEducationOrganizationId", - "EducationOrganizationId", - "ElectronicMailAddress" - ], - "isPrimary": true, - "isUpdatable": false, - "constraintNames": { - "sqlServer": "AssesssmentAdministrationParticipationAdministrationPointOfContact_PK", - "postgreSql": "AssesssmentAdministrationParticipationAdministrati_c21adc_PK" - } - } - ], - "isAbstract": false, - "description": "Pre-identified contacts for education organizations administering the assessment.", - "tableNames": { - "sqlServer": "AssesssmentAdministrationParticipationAdministrationPointOfContact", - "postgreSql": "AssesssmentAdministrationParticipationAdministrationPoin_c21adc" - } - }, { "schema": "edfi", "name": "AssignmentLateStatusDescriptor", @@ -16147,6 +16175,56 @@ "postgreSql": "DisplacedStudentStatusDescriptor" } }, + { + "schema": "edfi", + "name": "DualCreditInstitutionDescriptor", + "locallyDefinedProperties": [], + "identifiers": [ + { + "identifierName": "DualCreditInstitutionDescriptor_PK", + "identifyingPropertyNames": [ + "DualCreditInstitutionDescriptorId" + ], + "isPrimary": true, + "isUpdatable": false, + "constraintNames": { + "sqlServer": "DualCreditInstitutionDescriptor_PK", + "postgreSql": "DualCreditInstitutionDescriptor_PK" + } + } + ], + "isAbstract": false, + "description": "Custom descriptor of college institutions or categories of institutions participating in the dual credit program.", + "tableNames": { + "sqlServer": "DualCreditInstitutionDescriptor", + "postgreSql": "DualCreditInstitutionDescriptor" + } + }, + { + "schema": "edfi", + "name": "DualCreditTypeDescriptor", + "locallyDefinedProperties": [], + "identifiers": [ + { + "identifierName": "DualCreditTypeDescriptor_PK", + "identifyingPropertyNames": [ + "DualCreditTypeDescriptorId" + ], + "isPrimary": true, + "isUpdatable": false, + "constraintNames": { + "sqlServer": "DualCreditTypeDescriptor_PK", + "postgreSql": "DualCreditTypeDescriptor_PK" + } + } + ], + "isAbstract": false, + "description": "Indicates the type of the dual credit program.", + "tableNames": { + "sqlServer": "DualCreditTypeDescriptor", + "postgreSql": "DualCreditTypeDescriptor" + } + }, { "schema": "edfi", "name": "EducationalEnvironmentDescriptor", @@ -31040,27 +31118,27 @@ }, { "schema": "edfi", - "name": "Section504DisabilityTypeDescriptor", + "name": "Section504DisabilityDescriptor", "locallyDefinedProperties": [], "identifiers": [ { - "identifierName": "Section504DisabilityTypeDescriptor_PK", + "identifierName": "Section504DisabilityDescriptor_PK", "identifyingPropertyNames": [ - "Section504DisabilityTypeDescriptorId" + "Section504DisabilityDescriptorId" ], "isPrimary": true, "isUpdatable": false, "constraintNames": { - "sqlServer": "Section504DisabilityTypeDescriptor_PK", - "postgreSql": "Section504DisabilityTypeDescriptor_PK" + "sqlServer": "Section504DisabilityDescriptor_PK", + "postgreSql": "Section504DisabilityDescriptor_PK" } } ], "isAbstract": false, "description": "This descriptor defines the reason(s) why student qualifies for Section 504 consideration.", "tableNames": { - "sqlServer": "Section504DisabilityTypeDescriptor", - "postgreSql": "Section504DisabilityTypeDescriptor" + "sqlServer": "Section504DisabilityDescriptor", + "postgreSql": "Section504DisabilityDescriptor" } }, { @@ -40522,6 +40600,53 @@ "postgreSql": "StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a21" } }, + { + "schema": "edfi", + "name": "StudentDisciplineIncidentBehaviorAssociationWeapon", + "locallyDefinedProperties": [ + { + "propertyName": "CreateDate", + "propertyType": { + "dbType": "DateTime2", + "maxLength": 0, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "CreateDate", + "postgreSql": "CreateDate" + } + } + ], + "identifiers": [ + { + "identifierName": "StudentDisciplineIncidentBehaviorAssociationWeapon_PK", + "identifyingPropertyNames": [ + "BehaviorDescriptorId", + "IncidentIdentifier", + "SchoolId", + "StudentUSI", + "WeaponDescriptorId" + ], + "isPrimary": true, + "isUpdatable": false, + "constraintNames": { + "sqlServer": "StudentDisciplineIncidentBehaviorAssociationWeapon_PK", + "postgreSql": "StudentDisciplineIncidentBehaviorAssociationWeapon_PK" + } + } + ], + "isAbstract": false, + "description": "Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.", + "tableNames": { + "sqlServer": "StudentDisciplineIncidentBehaviorAssociationWeapon", + "postgreSql": "StudentDisciplineIncidentBehaviorAssociationWeapon" + } + }, { "schema": "edfi", "name": "StudentDisciplineIncidentNonOffenderAssociation", @@ -46437,6 +46562,42 @@ "postgreSql": "CreateDate" } }, + { + "propertyName": "DualCreditIndicator", + "propertyType": { + "dbType": "Boolean", + "minLength": 0, + "maxLength": 0, + "precision": 0, + "scale": 0, + "isNullable": true + }, + "description": "Indicates whether the student assigned to the section is to receive dual credit upon successful completion.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "DualCreditIndicator", + "postgreSql": "DualCreditIndicator" + } + }, + { + "propertyName": "DualHighSchoolCreditIndicator", + "propertyType": { + "dbType": "Boolean", + "minLength": 0, + "maxLength": 0, + "precision": 0, + "scale": 0, + "isNullable": true + }, + "description": "Indicates whether successful completion of the course will result in credits toward high school graduation.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "DualHighSchoolCreditIndicator", + "postgreSql": "DualHighSchoolCreditIndicator" + } + }, { "propertyName": "EndDate", "propertyType": { @@ -47004,6 +47165,23 @@ "postgreSql": "MultiplyDisabled" } }, + { + "propertyName": "ReductionInHoursPerWeekComparedToPeers", + "propertyType": { + "dbType": "Decimal", + "maxLength": 0, + "precision": 5, + "scale": 2, + "isNullable": true + }, + "description": "Records the number of hours reduced for the shortened school day for the IEP student as compared to peers in regular education.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "ReductionInHoursPerWeekComparedToPeers", + "postgreSql": "ReductionInHoursPerWeekComparedToPeers" + } + }, { "propertyName": "SchoolHoursPerWeek", "propertyType": { @@ -47021,6 +47199,24 @@ "postgreSql": "SchoolHoursPerWeek" } }, + { + "propertyName": "ShortenedSchoolDayIndicator", + "propertyType": { + "dbType": "Boolean", + "minLength": 0, + "maxLength": 0, + "precision": 0, + "scale": 0, + "isNullable": true + }, + "description": "Indicator that the student's IEP requires a shortened school day.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "ShortenedSchoolDayIndicator", + "postgreSql": "ShortenedSchoolDayIndicator" + } + }, { "propertyName": "SpecialEducationExitDate", "propertyType": { @@ -51974,7 +52170,7 @@ { "fullName": { "schema": "edfi", - "name": "FK_AssessmentAdministrationAssessmentAdminstrationPeriod_AssessmentAdministration" + "name": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration" }, "cardinality": "OneToZeroOrMore", "primaryEntityFullName": { @@ -52056,7 +52252,7 @@ ], "secondaryEntityFullName": { "schema": "edfi", - "name": "AssessmentAdministrationAssessmentAdminstrationPeriod" + "name": "AssessmentAdministrationAssessmentBatteryPart" }, "secondaryEntityProperties": [ { @@ -52134,15 +52330,149 @@ "isIdentifying": true, "isRequired": true, "constraintNames": { - "sqlServer": "FK_AssessmentAdministrationAssessmentAdminstrationPeriod_AssessmentAdministration", - "postgreSql": "FK_77cf17_AssessmentAdministration" + "sqlServer": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration", + "postgreSql": "FK_1d6852_AssessmentAdministration" }, "potentiallyLogical": false }, { "fullName": { "schema": "edfi", - "name": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration" + "name": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "AssessmentBatteryPart" + }, + "primaryEntityProperties": [ + { + "propertyName": "AssessmentBatteryPartName", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 65, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "The name of the part of an assessment battery.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AssessmentBatteryPartName", + "postgreSql": "AssessmentBatteryPartName" + } + }, + { + "propertyName": "AssessmentIdentifier", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 60, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "A unique number or alphanumeric code assigned to an assessment.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AssessmentIdentifier", + "postgreSql": "AssessmentIdentifier" + } + }, + { + "propertyName": "Namespace", + "propertyType": { + "dbType": "String", + "minLength": 5, + "maxLength": 255, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "Namespace for the assessment.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "Namespace", + "postgreSql": "Namespace" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "AssessmentAdministrationAssessmentBatteryPart" + }, + "secondaryEntityProperties": [ + { + "propertyName": "AssessmentBatteryPartName", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 65, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "The name of the part of an assessment battery.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AssessmentBatteryPartName", + "postgreSql": "AssessmentBatteryPartName" + } + }, + { + "propertyName": "AssessmentIdentifier", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 60, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "A unique number or alphanumeric code assigned to an assessment.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AssessmentIdentifier", + "postgreSql": "AssessmentIdentifier" + } + }, + { + "propertyName": "Namespace", + "propertyType": { + "dbType": "String", + "minLength": 5, + "maxLength": 255, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "Namespace for the assessment.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "Namespace", + "postgreSql": "Namespace" + } + } + ], + "isIdentifying": true, + "isRequired": true, + "constraintNames": { + "sqlServer": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart", + "postgreSql": "FK_1d6852_AssessmentBatteryPart" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_AssessmentAdministrationParticipation_AssessmentAdministration" }, "cardinality": "OneToZeroOrMore", "primaryEntityFullName": { @@ -52224,7 +52554,7 @@ ], "secondaryEntityFullName": { "schema": "edfi", - "name": "AssessmentAdministrationAssessmentBatteryPart" + "name": "AssessmentAdministrationParticipation" }, "secondaryEntityProperties": [ { @@ -52302,38 +52632,98 @@ "isIdentifying": true, "isRequired": true, "constraintNames": { - "sqlServer": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration", - "postgreSql": "FK_1d6852_AssessmentAdministration" + "sqlServer": "FK_AssessmentAdministrationParticipation_AssessmentAdministration", + "postgreSql": "FK_77818e_AssessmentAdministration" }, "potentiallyLogical": false }, { "fullName": { "schema": "edfi", - "name": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart" + "name": "FK_AssessmentAdministrationParticipation_EducationOrganization" }, "cardinality": "OneToZeroOrMore", "primaryEntityFullName": { "schema": "edfi", - "name": "AssessmentBatteryPart" + "name": "EducationOrganization" }, "primaryEntityProperties": [ { - "propertyName": "AssessmentBatteryPartName", + "propertyName": "EducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "EducationOrganizationId", + "postgreSql": "EducationOrganizationId" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "AssessmentAdministrationParticipation" + }, + "secondaryEntityProperties": [ + { + "propertyName": "ParticipatingEducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "ParticipatingEducationOrganizationId", + "postgreSql": "ParticipatingEducationOrganizationId" + } + } + ], + "isIdentifying": true, + "isRequired": true, + "constraintNames": { + "sqlServer": "FK_AssessmentAdministrationParticipation_EducationOrganization", + "postgreSql": "FK_77818e_EducationOrganization" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_AssessmentAdministrationParticipation" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "AssessmentAdministrationParticipation" + }, + "primaryEntityProperties": [ + { + "propertyName": "AdministrationIdentifier", "propertyType": { "dbType": "String", "minLength": 0, - "maxLength": 65, + "maxLength": 255, "precision": 0, "scale": 0, "isNullable": false }, - "description": "The name of the part of an assessment battery.", + "description": "The title or name of the assessment in the context of its administration.", "isIdentifying": true, "isServerAssigned": false, "columnNames": { - "sqlServer": "AssessmentBatteryPartName", - "postgreSql": "AssessmentBatteryPartName" + "sqlServer": "AdministrationIdentifier", + "postgreSql": "AdministrationIdentifier" } }, { @@ -52354,6 +52744,23 @@ "postgreSql": "AssessmentIdentifier" } }, + { + "propertyName": "AssigningEducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AssigningEducationOrganizationId", + "postgreSql": "AssigningEducationOrganizationId" + } + }, { "propertyName": "Namespace", "propertyType": { @@ -52371,29 +52778,46 @@ "sqlServer": "Namespace", "postgreSql": "Namespace" } + }, + { + "propertyName": "ParticipatingEducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "ParticipatingEducationOrganizationId", + "postgreSql": "ParticipatingEducationOrganizationId" + } } ], "secondaryEntityFullName": { "schema": "edfi", - "name": "AssessmentAdministrationAssessmentBatteryPart" + "name": "AssessmentAdministrationParticipationAdministrationPointOfContact" }, "secondaryEntityProperties": [ { - "propertyName": "AssessmentBatteryPartName", + "propertyName": "AdministrationIdentifier", "propertyType": { "dbType": "String", "minLength": 0, - "maxLength": 65, + "maxLength": 255, "precision": 0, "scale": 0, "isNullable": false }, - "description": "The name of the part of an assessment battery.", + "description": "The title or name of the assessment in the context of its administration.", "isIdentifying": true, "isServerAssigned": false, "columnNames": { - "sqlServer": "AssessmentBatteryPartName", - "postgreSql": "AssessmentBatteryPartName" + "sqlServer": "AdministrationIdentifier", + "postgreSql": "AdministrationIdentifier" } }, { @@ -52414,6 +52838,23 @@ "postgreSql": "AssessmentIdentifier" } }, + { + "propertyName": "AssigningEducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AssigningEducationOrganizationId", + "postgreSql": "AssigningEducationOrganizationId" + } + }, { "propertyName": "Namespace", "propertyType": { @@ -52431,13 +52872,258 @@ "sqlServer": "Namespace", "postgreSql": "Namespace" } + }, + { + "propertyName": "ParticipatingEducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "ParticipatingEducationOrganizationId", + "postgreSql": "ParticipatingEducationOrganizationId" + } } ], "isIdentifying": true, "isRequired": true, "constraintNames": { - "sqlServer": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart", - "postgreSql": "FK_1d6852_AssessmentBatteryPart" + "sqlServer": "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_AssessmentAdministrationParticipation", + "postgreSql": "FK_c63833_AssessmentAdministrationParticipation" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "EducationOrganization" + }, + "primaryEntityProperties": [ + { + "propertyName": "EducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "EducationOrganizationId", + "postgreSql": "EducationOrganizationId" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "AssessmentAdministrationParticipationAdministrationPointOfContact" + }, + "secondaryEntityProperties": [ + { + "propertyName": "EducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "EducationOrganizationId", + "postgreSql": "EducationOrganizationId" + } + } + ], + "isIdentifying": true, + "isRequired": true, + "constraintNames": { + "sqlServer": "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization", + "postgreSql": "FK_c63833_EducationOrganization" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_AssessmentAdministrationPeriod_AssessmentAdministration" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "AssessmentAdministration" + }, + "primaryEntityProperties": [ + { + "propertyName": "AdministrationIdentifier", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 255, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "The title or name of the assessment in the context of its administration.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AdministrationIdentifier", + "postgreSql": "AdministrationIdentifier" + } + }, + { + "propertyName": "AssessmentIdentifier", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 60, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "A unique number or alphanumeric code assigned to an assessment.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AssessmentIdentifier", + "postgreSql": "AssessmentIdentifier" + } + }, + { + "propertyName": "AssigningEducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AssigningEducationOrganizationId", + "postgreSql": "AssigningEducationOrganizationId" + } + }, + { + "propertyName": "Namespace", + "propertyType": { + "dbType": "String", + "minLength": 5, + "maxLength": 255, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "Namespace for the assessment.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "Namespace", + "postgreSql": "Namespace" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "AssessmentAdministrationPeriod" + }, + "secondaryEntityProperties": [ + { + "propertyName": "AdministrationIdentifier", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 255, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "The title or name of the assessment in the context of its administration.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AdministrationIdentifier", + "postgreSql": "AdministrationIdentifier" + } + }, + { + "propertyName": "AssessmentIdentifier", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 60, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "A unique number or alphanumeric code assigned to an assessment.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AssessmentIdentifier", + "postgreSql": "AssessmentIdentifier" + } + }, + { + "propertyName": "AssigningEducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "AssigningEducationOrganizationId", + "postgreSql": "AssigningEducationOrganizationId" + } + }, + { + "propertyName": "Namespace", + "propertyType": { + "dbType": "String", + "minLength": 5, + "maxLength": 255, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "Namespace for the assessment.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "Namespace", + "postgreSql": "Namespace" + } + } + ], + "isIdentifying": true, + "isRequired": true, + "constraintNames": { + "sqlServer": "FK_AssessmentAdministrationPeriod_AssessmentAdministration", + "postgreSql": "FK_3e8626_AssessmentAdministration" }, "potentiallyLogical": false }, @@ -56273,496 +56959,6 @@ }, "potentiallyLogical": false }, - { - "fullName": { - "schema": "edfi", - "name": "FK_AssesssmentAdministrationParticipation_AssessmentAdministration" - }, - "cardinality": "OneToZeroOrMore", - "primaryEntityFullName": { - "schema": "edfi", - "name": "AssessmentAdministration" - }, - "primaryEntityProperties": [ - { - "propertyName": "AdministrationIdentifier", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 255, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "The title or name of the assessment in the context of its administration.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AdministrationIdentifier", - "postgreSql": "AdministrationIdentifier" - } - }, - { - "propertyName": "AssessmentIdentifier", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 60, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "A unique number or alphanumeric code assigned to an assessment.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AssessmentIdentifier", - "postgreSql": "AssessmentIdentifier" - } - }, - { - "propertyName": "AssigningEducationOrganizationId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to an education organization.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AssigningEducationOrganizationId", - "postgreSql": "AssigningEducationOrganizationId" - } - }, - { - "propertyName": "Namespace", - "propertyType": { - "dbType": "String", - "minLength": 5, - "maxLength": 255, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "Namespace for the assessment.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "Namespace", - "postgreSql": "Namespace" - } - } - ], - "secondaryEntityFullName": { - "schema": "edfi", - "name": "AssesssmentAdministrationParticipation" - }, - "secondaryEntityProperties": [ - { - "propertyName": "AdministrationIdentifier", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 255, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "The title or name of the assessment in the context of its administration.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AdministrationIdentifier", - "postgreSql": "AdministrationIdentifier" - } - }, - { - "propertyName": "AssessmentIdentifier", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 60, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "A unique number or alphanumeric code assigned to an assessment.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AssessmentIdentifier", - "postgreSql": "AssessmentIdentifier" - } - }, - { - "propertyName": "AssigningEducationOrganizationId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to an education organization.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AssigningEducationOrganizationId", - "postgreSql": "AssigningEducationOrganizationId" - } - }, - { - "propertyName": "Namespace", - "propertyType": { - "dbType": "String", - "minLength": 5, - "maxLength": 255, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "Namespace for the assessment.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "Namespace", - "postgreSql": "Namespace" - } - } - ], - "isIdentifying": true, - "isRequired": true, - "constraintNames": { - "sqlServer": "FK_AssesssmentAdministrationParticipation_AssessmentAdministration", - "postgreSql": "FK_0b52ab_AssessmentAdministration" - }, - "potentiallyLogical": false - }, - { - "fullName": { - "schema": "edfi", - "name": "FK_AssesssmentAdministrationParticipation_EducationOrganization" - }, - "cardinality": "OneToZeroOrMore", - "primaryEntityFullName": { - "schema": "edfi", - "name": "EducationOrganization" - }, - "primaryEntityProperties": [ - { - "propertyName": "EducationOrganizationId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to an education organization.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "EducationOrganizationId", - "postgreSql": "EducationOrganizationId" - } - } - ], - "secondaryEntityFullName": { - "schema": "edfi", - "name": "AssesssmentAdministrationParticipation" - }, - "secondaryEntityProperties": [ - { - "propertyName": "ParticipatingEducationOrganizationId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to an education organization.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "ParticipatingEducationOrganizationId", - "postgreSql": "ParticipatingEducationOrganizationId" - } - } - ], - "isIdentifying": true, - "isRequired": true, - "constraintNames": { - "sqlServer": "FK_AssesssmentAdministrationParticipation_EducationOrganization", - "postgreSql": "FK_0b52ab_EducationOrganization" - }, - "potentiallyLogical": false - }, - { - "fullName": { - "schema": "edfi", - "name": "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_AssesssmentAdministrationParticipation" - }, - "cardinality": "OneToZeroOrMore", - "primaryEntityFullName": { - "schema": "edfi", - "name": "AssesssmentAdministrationParticipation" - }, - "primaryEntityProperties": [ - { - "propertyName": "AdministrationIdentifier", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 255, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "The title or name of the assessment in the context of its administration.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AdministrationIdentifier", - "postgreSql": "AdministrationIdentifier" - } - }, - { - "propertyName": "AssessmentIdentifier", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 60, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "A unique number or alphanumeric code assigned to an assessment.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AssessmentIdentifier", - "postgreSql": "AssessmentIdentifier" - } - }, - { - "propertyName": "AssigningEducationOrganizationId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to an education organization.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AssigningEducationOrganizationId", - "postgreSql": "AssigningEducationOrganizationId" - } - }, - { - "propertyName": "Namespace", - "propertyType": { - "dbType": "String", - "minLength": 5, - "maxLength": 255, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "Namespace for the assessment.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "Namespace", - "postgreSql": "Namespace" - } - }, - { - "propertyName": "ParticipatingEducationOrganizationId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to an education organization.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "ParticipatingEducationOrganizationId", - "postgreSql": "ParticipatingEducationOrganizationId" - } - } - ], - "secondaryEntityFullName": { - "schema": "edfi", - "name": "AssesssmentAdministrationParticipationAdministrationPointOfContact" - }, - "secondaryEntityProperties": [ - { - "propertyName": "AdministrationIdentifier", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 255, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "The title or name of the assessment in the context of its administration.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AdministrationIdentifier", - "postgreSql": "AdministrationIdentifier" - } - }, - { - "propertyName": "AssessmentIdentifier", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 60, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "A unique number or alphanumeric code assigned to an assessment.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AssessmentIdentifier", - "postgreSql": "AssessmentIdentifier" - } - }, - { - "propertyName": "AssigningEducationOrganizationId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to an education organization.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "AssigningEducationOrganizationId", - "postgreSql": "AssigningEducationOrganizationId" - } - }, - { - "propertyName": "Namespace", - "propertyType": { - "dbType": "String", - "minLength": 5, - "maxLength": 255, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "Namespace for the assessment.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "Namespace", - "postgreSql": "Namespace" - } - }, - { - "propertyName": "ParticipatingEducationOrganizationId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to an education organization.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "ParticipatingEducationOrganizationId", - "postgreSql": "ParticipatingEducationOrganizationId" - } - } - ], - "isIdentifying": true, - "isRequired": true, - "constraintNames": { - "sqlServer": "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_AssesssmentAdministrationParticipation", - "postgreSql": "FK_c21adc_AssesssmentAdministrationParticipation" - }, - "potentiallyLogical": false - }, - { - "fullName": { - "schema": "edfi", - "name": "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization" - }, - "cardinality": "OneToZeroOrMore", - "primaryEntityFullName": { - "schema": "edfi", - "name": "EducationOrganization" - }, - "primaryEntityProperties": [ - { - "propertyName": "EducationOrganizationId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to an education organization.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "EducationOrganizationId", - "postgreSql": "EducationOrganizationId" - } - } - ], - "secondaryEntityFullName": { - "schema": "edfi", - "name": "AssesssmentAdministrationParticipationAdministrationPointOfContact" - }, - "secondaryEntityProperties": [ - { - "propertyName": "EducationOrganizationId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to an education organization.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "EducationOrganizationId", - "postgreSql": "EducationOrganizationId" - } - } - ], - "isIdentifying": true, - "isRequired": true, - "constraintNames": { - "sqlServer": "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization", - "postgreSql": "FK_c21adc_EducationOrganization" - }, - "potentiallyLogical": false - }, { "fullName": { "schema": "edfi", @@ -72874,11 +73070,227 @@ ], "secondaryEntityFullName": { "schema": "edfi", - "name": "DisciplineIncidentParticipationCodeDescriptor" + "name": "DisciplineIncidentParticipationCodeDescriptor" + }, + "secondaryEntityProperties": [ + { + "propertyName": "DisciplineIncidentParticipationCodeDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.", + "isIdentifying": true, + "isServerAssigned": true, + "columnNames": { + "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId", + "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId" + } + } + ], + "isIdentifying": true, + "isRequired": true, + "constraintNames": { + "sqlServer": "FK_DisciplineIncidentParticipationCodeDescriptor_Descriptor", + "postgreSql": "FK_923786_Descriptor" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_DisciplineIncidentWeapon_DisciplineIncident" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "DisciplineIncident" + }, + "primaryEntityProperties": [ + { + "propertyName": "IncidentIdentifier", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 36, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "IncidentIdentifier", + "postgreSql": "IncidentIdentifier" + } + }, + { + "propertyName": "SchoolId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "SchoolId", + "postgreSql": "SchoolId" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "DisciplineIncidentWeapon" + }, + "secondaryEntityProperties": [ + { + "propertyName": "IncidentIdentifier", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 36, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "IncidentIdentifier", + "postgreSql": "IncidentIdentifier" + } + }, + { + "propertyName": "SchoolId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "SchoolId", + "postgreSql": "SchoolId" + } + } + ], + "isIdentifying": true, + "isRequired": true, + "constraintNames": { + "sqlServer": "FK_DisciplineIncidentWeapon_DisciplineIncident", + "postgreSql": "FK_a545e5_DisciplineIncident" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_DisciplineIncidentWeapon_WeaponDescriptor" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "WeaponDescriptor" + }, + "primaryEntityProperties": [ + { + "propertyName": "WeaponDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "WeaponDescriptorId", + "postgreSql": "WeaponDescriptorId" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "DisciplineIncidentWeapon" + }, + "secondaryEntityProperties": [ + { + "propertyName": "WeaponDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "Identifies the type of weapon used during an incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "WeaponDescriptorId", + "postgreSql": "WeaponDescriptorId" + } + } + ], + "isIdentifying": true, + "isRequired": true, + "constraintNames": { + "sqlServer": "FK_DisciplineIncidentWeapon_WeaponDescriptor", + "postgreSql": "FK_a545e5_WeaponDescriptor" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_DisplacedStudentStatusDescriptor_Descriptor" + }, + "cardinality": "OneToOneInheritance", + "primaryEntityFullName": { + "schema": "edfi", + "name": "Descriptor" + }, + "primaryEntityProperties": [ + { + "propertyName": "DescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.", + "isIdentifying": true, + "isServerAssigned": true, + "columnNames": { + "sqlServer": "DescriptorId", + "postgreSql": "DescriptorId" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "DisplacedStudentStatusDescriptor" }, "secondaryEntityProperties": [ { - "propertyName": "DisciplineIncidentParticipationCodeDescriptorId", + "propertyName": "DisplacedStudentStatusDescriptorId", "propertyType": { "dbType": "Int32", "maxLength": 0, @@ -72890,128 +73302,32 @@ "isIdentifying": true, "isServerAssigned": true, "columnNames": { - "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId", - "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId" - } - } - ], - "isIdentifying": true, - "isRequired": true, - "constraintNames": { - "sqlServer": "FK_DisciplineIncidentParticipationCodeDescriptor_Descriptor", - "postgreSql": "FK_923786_Descriptor" - }, - "potentiallyLogical": false - }, - { - "fullName": { - "schema": "edfi", - "name": "FK_DisciplineIncidentWeapon_DisciplineIncident" - }, - "cardinality": "OneToZeroOrMore", - "primaryEntityFullName": { - "schema": "edfi", - "name": "DisciplineIncident" - }, - "primaryEntityProperties": [ - { - "propertyName": "IncidentIdentifier", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 36, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "IncidentIdentifier", - "postgreSql": "IncidentIdentifier" - } - }, - { - "propertyName": "SchoolId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "SchoolId", - "postgreSql": "SchoolId" - } - } - ], - "secondaryEntityFullName": { - "schema": "edfi", - "name": "DisciplineIncidentWeapon" - }, - "secondaryEntityProperties": [ - { - "propertyName": "IncidentIdentifier", - "propertyType": { - "dbType": "String", - "minLength": 0, - "maxLength": 36, - "precision": 0, - "scale": 0, - "isNullable": false - }, - "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "IncidentIdentifier", - "postgreSql": "IncidentIdentifier" - } - }, - { - "propertyName": "SchoolId", - "propertyType": { - "dbType": "Int64", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "SchoolId", - "postgreSql": "SchoolId" + "sqlServer": "DisplacedStudentStatusDescriptorId", + "postgreSql": "DisplacedStudentStatusDescriptorId" } } ], "isIdentifying": true, "isRequired": true, "constraintNames": { - "sqlServer": "FK_DisciplineIncidentWeapon_DisciplineIncident", - "postgreSql": "FK_a545e5_DisciplineIncident" + "sqlServer": "FK_DisplacedStudentStatusDescriptor_Descriptor", + "postgreSql": "FK_fa1717_Descriptor" }, "potentiallyLogical": false }, { "fullName": { "schema": "edfi", - "name": "FK_DisciplineIncidentWeapon_WeaponDescriptor" + "name": "FK_DualCreditInstitutionDescriptor_Descriptor" }, - "cardinality": "OneToZeroOrMore", + "cardinality": "OneToOneInheritance", "primaryEntityFullName": { "schema": "edfi", - "name": "WeaponDescriptor" + "name": "Descriptor" }, "primaryEntityProperties": [ { - "propertyName": "WeaponDescriptorId", + "propertyName": "DescriptorId", "propertyType": { "dbType": "Int32", "maxLength": 0, @@ -73021,20 +73337,20 @@ }, "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.", "isIdentifying": true, - "isServerAssigned": false, + "isServerAssigned": true, "columnNames": { - "sqlServer": "WeaponDescriptorId", - "postgreSql": "WeaponDescriptorId" + "sqlServer": "DescriptorId", + "postgreSql": "DescriptorId" } } ], "secondaryEntityFullName": { "schema": "edfi", - "name": "DisciplineIncidentWeapon" + "name": "DualCreditInstitutionDescriptor" }, "secondaryEntityProperties": [ { - "propertyName": "WeaponDescriptorId", + "propertyName": "DualCreditInstitutionDescriptorId", "propertyType": { "dbType": "Int32", "maxLength": 0, @@ -73042,27 +73358,27 @@ "scale": 0, "isNullable": false }, - "description": "Identifies the type of weapon used during an incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.", + "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.", "isIdentifying": true, - "isServerAssigned": false, + "isServerAssigned": true, "columnNames": { - "sqlServer": "WeaponDescriptorId", - "postgreSql": "WeaponDescriptorId" + "sqlServer": "DualCreditInstitutionDescriptorId", + "postgreSql": "DualCreditInstitutionDescriptorId" } } ], "isIdentifying": true, "isRequired": true, "constraintNames": { - "sqlServer": "FK_DisciplineIncidentWeapon_WeaponDescriptor", - "postgreSql": "FK_a545e5_WeaponDescriptor" + "sqlServer": "FK_DualCreditInstitutionDescriptor_Descriptor", + "postgreSql": "FK_18fe53_Descriptor" }, "potentiallyLogical": false }, { "fullName": { "schema": "edfi", - "name": "FK_DisplacedStudentStatusDescriptor_Descriptor" + "name": "FK_DualCreditTypeDescriptor_Descriptor" }, "cardinality": "OneToOneInheritance", "primaryEntityFullName": { @@ -73090,11 +73406,11 @@ ], "secondaryEntityFullName": { "schema": "edfi", - "name": "DisplacedStudentStatusDescriptor" + "name": "DualCreditTypeDescriptor" }, "secondaryEntityProperties": [ { - "propertyName": "DisplacedStudentStatusDescriptorId", + "propertyName": "DualCreditTypeDescriptorId", "propertyType": { "dbType": "Int32", "maxLength": 0, @@ -73106,16 +73422,16 @@ "isIdentifying": true, "isServerAssigned": true, "columnNames": { - "sqlServer": "DisplacedStudentStatusDescriptorId", - "postgreSql": "DisplacedStudentStatusDescriptorId" + "sqlServer": "DualCreditTypeDescriptorId", + "postgreSql": "DualCreditTypeDescriptorId" } } ], "isIdentifying": true, "isRequired": true, "constraintNames": { - "sqlServer": "FK_DisplacedStudentStatusDescriptor_Descriptor", - "postgreSql": "FK_fa1717_Descriptor" + "sqlServer": "FK_DualCreditTypeDescriptor_Descriptor", + "postgreSql": "FK_0ccb1b_Descriptor" }, "potentiallyLogical": false }, @@ -104784,7 +105100,7 @@ { "fullName": { "schema": "edfi", - "name": "FK_Section504DisabilityTypeDescriptor_Descriptor" + "name": "FK_Section504DisabilityDescriptor_Descriptor" }, "cardinality": "OneToOneInheritance", "primaryEntityFullName": { @@ -104812,11 +105128,11 @@ ], "secondaryEntityFullName": { "schema": "edfi", - "name": "Section504DisabilityTypeDescriptor" + "name": "Section504DisabilityDescriptor" }, "secondaryEntityProperties": [ { - "propertyName": "Section504DisabilityTypeDescriptorId", + "propertyName": "Section504DisabilityDescriptorId", "propertyType": { "dbType": "Int32", "maxLength": 0, @@ -104828,16 +105144,16 @@ "isIdentifying": true, "isServerAssigned": true, "columnNames": { - "sqlServer": "Section504DisabilityTypeDescriptorId", - "postgreSql": "Section504DisabilityTypeDescriptorId" + "sqlServer": "Section504DisabilityDescriptorId", + "postgreSql": "Section504DisabilityDescriptorId" } } ], "isIdentifying": true, "isRequired": true, "constraintNames": { - "sqlServer": "FK_Section504DisabilityTypeDescriptor_Descriptor", - "postgreSql": "FK_e7f766_Descriptor" + "sqlServer": "FK_Section504DisabilityDescriptor_Descriptor", + "postgreSql": "FK_bfdfd9_Descriptor" }, "potentiallyLogical": false }, @@ -121076,7 +121392,7 @@ "isNullable": false }, "description": "The identifier assigned to an education organization.", - "isIdentifying": true, + "isIdentifying": false, "isServerAssigned": false, "columnNames": { "sqlServer": "EducationOrganizationId", @@ -121093,7 +121409,7 @@ "isNullable": false }, "description": "A unique alphanumeric code assigned to a student.", - "isIdentifying": true, + "isIdentifying": false, "isServerAssigned": false, "columnNames": { "sqlServer": "StudentUSI", @@ -121107,42 +121423,42 @@ }, "secondaryEntityProperties": [ { - "propertyName": "EducationOrganizationId", + "propertyName": "ScheduledEducationOrganizationId", "propertyType": { "dbType": "Int64", "maxLength": 0, "precision": 10, "scale": 0, - "isNullable": false + "isNullable": true }, "description": "The identifier assigned to an education organization.", - "isIdentifying": true, + "isIdentifying": false, "isServerAssigned": false, "columnNames": { - "sqlServer": "EducationOrganizationId", - "postgreSql": "EducationOrganizationId" + "sqlServer": "ScheduledEducationOrganizationId", + "postgreSql": "ScheduledEducationOrganizationId" } }, { - "propertyName": "StudentUSI", + "propertyName": "ScheduledStudentUSI", "propertyType": { "dbType": "Int32", "maxLength": 0, "precision": 10, "scale": 0, - "isNullable": false + "isNullable": true }, "description": "A unique alphanumeric code assigned to a student.", - "isIdentifying": true, + "isIdentifying": false, "isServerAssigned": false, "columnNames": { - "sqlServer": "StudentUSI", - "postgreSql": "StudentUSI" + "sqlServer": "ScheduledStudentUSI", + "postgreSql": "ScheduledStudentUSI" } } ], - "isIdentifying": true, - "isRequired": true, + "isIdentifying": false, + "isRequired": false, "constraintNames": { "sqlServer": "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation", "postgreSql": "FK_79fd6b_StudentEducationOrganizationAssessmentAccommodation" @@ -126931,75 +127247,239 @@ "isIdentifying": true, "isRequired": true, "constraintNames": { - "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociation_Student", - "postgreSql": "FK_f4934f_Student" - }, - "potentiallyLogical": false - }, - { - "fullName": { - "schema": "edfi", - "name": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor" - }, - "cardinality": "OneToZeroOrMore", - "primaryEntityFullName": { - "schema": "edfi", - "name": "DisciplineIncidentParticipationCodeDescriptor" - }, - "primaryEntityProperties": [ - { - "propertyName": "DisciplineIncidentParticipationCodeDescriptorId", - "propertyType": { - "dbType": "Int32", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId", - "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId" - } - } - ], - "secondaryEntityFullName": { - "schema": "edfi", - "name": "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode" - }, - "secondaryEntityProperties": [ - { - "propertyName": "DisciplineIncidentParticipationCodeDescriptorId", - "propertyType": { - "dbType": "Int32", - "maxLength": 0, - "precision": 10, - "scale": 0, - "isNullable": false - }, - "description": "The role or type of participation of a student in a discipline incident.", - "isIdentifying": true, - "isServerAssigned": false, - "columnNames": { - "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId", - "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId" - } - } - ], - "isIdentifying": true, - "isRequired": true, - "constraintNames": { - "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor", - "postgreSql": "FK_ae6a21_DisciplineIncidentParticipationCodeDescriptor" + "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociation_Student", + "postgreSql": "FK_f4934f_Student" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "DisciplineIncidentParticipationCodeDescriptor" + }, + "primaryEntityProperties": [ + { + "propertyName": "DisciplineIncidentParticipationCodeDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId", + "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode" + }, + "secondaryEntityProperties": [ + { + "propertyName": "DisciplineIncidentParticipationCodeDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The role or type of participation of a student in a discipline incident.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId", + "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId" + } + } + ], + "isIdentifying": true, + "isRequired": true, + "constraintNames": { + "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor", + "postgreSql": "FK_ae6a21_DisciplineIncidentParticipationCodeDescriptor" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "StudentDisciplineIncidentBehaviorAssociation" + }, + "primaryEntityProperties": [ + { + "propertyName": "BehaviorDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "Describes behavior by category.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "BehaviorDescriptorId", + "postgreSql": "BehaviorDescriptorId" + } + }, + { + "propertyName": "IncidentIdentifier", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 36, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "IncidentIdentifier", + "postgreSql": "IncidentIdentifier" + } + }, + { + "propertyName": "SchoolId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "SchoolId", + "postgreSql": "SchoolId" + } + }, + { + "propertyName": "StudentUSI", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "A unique alphanumeric code assigned to a student.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "StudentUSI", + "postgreSql": "StudentUSI" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode" + }, + "secondaryEntityProperties": [ + { + "propertyName": "BehaviorDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "Describes behavior by category.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "BehaviorDescriptorId", + "postgreSql": "BehaviorDescriptorId" + } + }, + { + "propertyName": "IncidentIdentifier", + "propertyType": { + "dbType": "String", + "minLength": 0, + "maxLength": 36, + "precision": 0, + "scale": 0, + "isNullable": false + }, + "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "IncidentIdentifier", + "postgreSql": "IncidentIdentifier" + } + }, + { + "propertyName": "SchoolId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "SchoolId", + "postgreSql": "SchoolId" + } + }, + { + "propertyName": "StudentUSI", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "A unique alphanumeric code assigned to a student.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "StudentUSI", + "postgreSql": "StudentUSI" + } + } + ], + "isIdentifying": true, + "isRequired": true, + "constraintNames": { + "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation", + "postgreSql": "FK_ae6a21_StudentDisciplineIncidentBehaviorAssociation" }, "potentiallyLogical": false }, { "fullName": { "schema": "edfi", - "name": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation" + "name": "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_StudentDisciplineIncidentBehaviorAssociation" }, "cardinality": "OneToZeroOrMore", "primaryEntityFullName": { @@ -127079,7 +127559,7 @@ ], "secondaryEntityFullName": { "schema": "edfi", - "name": "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode" + "name": "StudentDisciplineIncidentBehaviorAssociationWeapon" }, "secondaryEntityProperties": [ { @@ -127155,8 +127635,68 @@ "isIdentifying": true, "isRequired": true, "constraintNames": { - "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation", - "postgreSql": "FK_ae6a21_StudentDisciplineIncidentBehaviorAssociation" + "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_StudentDisciplineIncidentBehaviorAssociation", + "postgreSql": "FK_459d56_StudentDisciplineIncidentBehaviorAssociation" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "WeaponDescriptor" + }, + "primaryEntityProperties": [ + { + "propertyName": "WeaponDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "WeaponDescriptorId", + "postgreSql": "WeaponDescriptorId" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "StudentDisciplineIncidentBehaviorAssociationWeapon" + }, + "secondaryEntityProperties": [ + { + "propertyName": "WeaponDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.", + "isIdentifying": true, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "WeaponDescriptorId", + "postgreSql": "WeaponDescriptorId" + } + } + ], + "isIdentifying": true, + "isRequired": true, + "constraintNames": { + "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor", + "postgreSql": "FK_459d56_WeaponDescriptor" }, "potentiallyLogical": false }, @@ -143128,16 +143668,16 @@ { "fullName": { "schema": "edfi", - "name": "FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor" + "name": "FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor" }, "cardinality": "OneToZeroOrMore", "primaryEntityFullName": { "schema": "edfi", - "name": "Section504DisabilityTypeDescriptor" + "name": "Section504DisabilityDescriptor" }, "primaryEntityProperties": [ { - "propertyName": "Section504DisabilityTypeDescriptorId", + "propertyName": "Section504DisabilityDescriptorId", "propertyType": { "dbType": "Int32", "maxLength": 0, @@ -143149,8 +143689,8 @@ "isIdentifying": false, "isServerAssigned": false, "columnNames": { - "sqlServer": "Section504DisabilityTypeDescriptorId", - "postgreSql": "Section504DisabilityTypeDescriptorId" + "sqlServer": "Section504DisabilityDescriptorId", + "postgreSql": "Section504DisabilityDescriptorId" } } ], @@ -143160,7 +143700,7 @@ }, "secondaryEntityProperties": [ { - "propertyName": "Section504DisabilityTypeDescriptorId", + "propertyName": "Section504DisabilityDescriptorId", "propertyType": { "dbType": "Int32", "maxLength": 0, @@ -143172,16 +143712,16 @@ "isIdentifying": false, "isServerAssigned": false, "columnNames": { - "sqlServer": "Section504DisabilityTypeDescriptorId", - "postgreSql": "Section504DisabilityTypeDescriptorId" + "sqlServer": "Section504DisabilityDescriptorId", + "postgreSql": "Section504DisabilityDescriptorId" } } ], "isIdentifying": false, "isRequired": false, "constraintNames": { - "sqlServer": "FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor", - "postgreSql": "FK_6e41ee_Section504DisabilityTypeDescriptor" + "sqlServer": "FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor", + "postgreSql": "FK_6e41ee_Section504DisabilityDescriptor" }, "potentiallyLogical": false }, @@ -143245,6 +143785,186 @@ }, "potentiallyLogical": false }, + { + "fullName": { + "schema": "edfi", + "name": "FK_StudentSectionAssociation_DualCreditInstitutionDescriptor" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "DualCreditInstitutionDescriptor" + }, + "primaryEntityProperties": [ + { + "propertyName": "DualCreditInstitutionDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "DualCreditInstitutionDescriptorId", + "postgreSql": "DualCreditInstitutionDescriptorId" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "StudentSectionAssociation" + }, + "secondaryEntityProperties": [ + { + "propertyName": "DualCreditInstitutionDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": true + }, + "description": "Descriptor for the postsecondary institution offering college credit. This descriptor may be used to select a postsecondary institution that is not defined as an education organization, and/or select a general type of postsecondary institution.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "DualCreditInstitutionDescriptorId", + "postgreSql": "DualCreditInstitutionDescriptorId" + } + } + ], + "isIdentifying": false, + "isRequired": false, + "constraintNames": { + "sqlServer": "FK_StudentSectionAssociation_DualCreditInstitutionDescriptor", + "postgreSql": "FK_39aa3c_DualCreditInstitutionDescriptor" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_StudentSectionAssociation_DualCreditTypeDescriptor" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "DualCreditTypeDescriptor" + }, + "primaryEntityProperties": [ + { + "propertyName": "DualCreditTypeDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "DualCreditTypeDescriptorId", + "postgreSql": "DualCreditTypeDescriptorId" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "StudentSectionAssociation" + }, + "secondaryEntityProperties": [ + { + "propertyName": "DualCreditTypeDescriptorId", + "propertyType": { + "dbType": "Int32", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": true + }, + "description": "For a student taking a dual credit course in a college or high school setting, indicates the type of dual credit program.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "DualCreditTypeDescriptorId", + "postgreSql": "DualCreditTypeDescriptorId" + } + } + ], + "isIdentifying": false, + "isRequired": false, + "constraintNames": { + "sqlServer": "FK_StudentSectionAssociation_DualCreditTypeDescriptor", + "postgreSql": "FK_39aa3c_DualCreditTypeDescriptor" + }, + "potentiallyLogical": false + }, + { + "fullName": { + "schema": "edfi", + "name": "FK_StudentSectionAssociation_EducationOrganization" + }, + "cardinality": "OneToZeroOrMore", + "primaryEntityFullName": { + "schema": "edfi", + "name": "EducationOrganization" + }, + "primaryEntityProperties": [ + { + "propertyName": "EducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": false + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "EducationOrganizationId", + "postgreSql": "EducationOrganizationId" + } + } + ], + "secondaryEntityFullName": { + "schema": "edfi", + "name": "StudentSectionAssociation" + }, + "secondaryEntityProperties": [ + { + "propertyName": "DualCreditEducationOrganizationId", + "propertyType": { + "dbType": "Int64", + "maxLength": 0, + "precision": 10, + "scale": 0, + "isNullable": true + }, + "description": "The identifier assigned to an education organization.", + "isIdentifying": false, + "isServerAssigned": false, + "columnNames": { + "sqlServer": "DualCreditEducationOrganizationId", + "postgreSql": "DualCreditEducationOrganizationId" + } + } + ], + "isIdentifying": false, + "isRequired": false, + "constraintNames": { + "sqlServer": "FK_StudentSectionAssociation_EducationOrganization", + "postgreSql": "FK_39aa3c_EducationOrganization" + }, + "potentiallyLogical": false + }, { "fullName": { "schema": "edfi", diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql index a2dabcdbf2..b87acff655 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql @@ -68,18 +68,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + -- Setting default authorization metadata PRINT 'Deleting default action authorizations for resource claim ''' + @claimName + ''' (claimId=' + CONVERT(nvarchar, @claimId) + ').' @@ -505,18 +494,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationAssessmentAdminstrationPeriod' ---------------------------------------------------------------------------------------------------------------------------- @@ -540,18 +518,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationAssessmentBatteryPart' ---------------------------------------------------------------------------------------------------------------------------- @@ -575,18 +542,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentBatteryPart' ---------------------------------------------------------------------------------------------------------------------------- @@ -610,18 +566,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentBatteryPartObjectiveAssessment' ---------------------------------------------------------------------------------------------------------------------------- @@ -645,22 +590,11 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- - -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation' + -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation' ---------------------------------------------------------------------------------------------------------------------------- - SET @claimName = 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation' + SET @claimName = 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation' SET @claimId = NULL SELECT @claimId = ResourceClaimId, @existingParentResourceClaimId = ParentResourceClaimId @@ -676,26 +610,15 @@ BEGIN PRINT 'Creating new claim: ' + @claimName INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId) - VALUES ('assesssmentAdministrationParticipation', 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation', @parentResourceClaimId) + VALUES ('assessmentAdministrationParticipation', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation', @parentResourceClaimId) SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- - -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact' + -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact' ---------------------------------------------------------------------------------------------------------------------------- - SET @claimName = 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact' + SET @claimName = 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact' SET @claimId = NULL SELECT @claimId = ResourceClaimId, @existingParentResourceClaimId = ParentResourceClaimId @@ -711,22 +634,11 @@ BEGIN PRINT 'Creating new claim: ' + @claimName INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId) - VALUES ('assesssmentAdministrationParticipationAdministrationPointOfContact', 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact', @parentResourceClaimId) + VALUES ('assessmentAdministrationParticipationAdministrationPointOfContact', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact', @parentResourceClaimId) SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistration' ---------------------------------------------------------------------------------------------------------------------------- @@ -750,18 +662,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationAssessmentAccommodation' ---------------------------------------------------------------------------------------------------------------------------- @@ -785,18 +686,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationAssessmentCustomization' ---------------------------------------------------------------------------------------------------------------------------- @@ -820,18 +710,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationBatteryPartAssociation' ---------------------------------------------------------------------------------------------------------------------------- @@ -855,18 +734,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationBatteryPartAssociationAccommodation' ---------------------------------------------------------------------------------------------------------------------------- @@ -890,18 +758,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + -- Pop the stack DELETE FROM @claimIdStack WHERE Id = (SELECT Max(Id) FROM @claimIdStack) @@ -929,18 +786,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + -- Setting default authorization metadata PRINT 'Deleting default action authorizations for resource claim ''' + @claimName + ''' (claimId=' + CONVERT(nvarchar, @claimId) + ').' @@ -1301,9 +1147,33 @@ BEGIN -- Processing children of http://ed-fi.org/ods/identity/claims/domains/systemDescriptors ---------------------------------------------------------------------------------------------------------------------------- - -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor' + -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor' + ---------------------------------------------------------------------------------------------------------------------------- + SET @claimName = 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor' + SET @claimId = NULL + + SELECT @claimId = ResourceClaimId, @existingParentResourceClaimId = ParentResourceClaimId + FROM dbo.ResourceClaims + WHERE ClaimName = @claimName + + SELECT @parentResourceClaimId = ResourceClaimId + FROM @claimIdStack + WHERE Id = (SELECT Max(Id) FROM @claimIdStack) + + IF @claimId IS NULL + BEGIN + PRINT 'Creating new claim: ' + @claimName + + INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId) + VALUES ('Section504DisabilityDescriptor', 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor', @parentResourceClaimId) + + SET @claimId = SCOPE_IDENTITY() + END + + ---------------------------------------------------------------------------------------------------------------------------- + -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor' ---------------------------------------------------------------------------------------------------------------------------- - SET @claimName = 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor' + SET @claimName = 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor' SET @claimId = NULL SELECT @claimId = ResourceClaimId, @existingParentResourceClaimId = ParentResourceClaimId @@ -1319,22 +1189,35 @@ BEGIN PRINT 'Creating new claim: ' + @claimName INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId) - VALUES ('Section504DisabilityTypeDescriptor', 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor', @parentResourceClaimId) + VALUES ('DualCreditTypeDescriptor', 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor', @parentResourceClaimId) SET @claimId = SCOPE_IDENTITY() END - ELSE + + ---------------------------------------------------------------------------------------------------------------------------- + -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor' + ---------------------------------------------------------------------------------------------------------------------------- + SET @claimName = 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor' + SET @claimId = NULL + + SELECT @claimId = ResourceClaimId, @existingParentResourceClaimId = ParentResourceClaimId + FROM dbo.ResourceClaims + WHERE ClaimName = @claimName + + SELECT @parentResourceClaimId = ResourceClaimId + FROM @claimIdStack + WHERE Id = (SELECT Max(Id) FROM @claimIdStack) + + IF @claimId IS NULL BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END + PRINT 'Creating new claim: ' + @claimName + + INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId) + VALUES ('DualCreditInstitutionDescriptor', 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor', @parentResourceClaimId) + + SET @claimId = SCOPE_IDENTITY() END - + -- Pop the stack DELETE FROM @claimIdStack WHERE Id = (SELECT Max(Id) FROM @claimIdStack) @@ -1362,18 +1245,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + -- Setting default authorization metadata PRINT 'Deleting default action authorizations for resource claim ''' + @claimName + ''' (claimId=' + CONVERT(nvarchar, @claimId) + ').' @@ -1727,18 +1599,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + -- Pop the stack DELETE FROM @claimIdStack WHERE Id = (SELECT Max(Id) FROM @claimIdStack) @@ -1766,18 +1627,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + -- Setting default authorization metadata PRINT 'Deleting default action authorizations for resource claim ''' + @claimName + ''' (claimId=' + CONVERT(nvarchar, @claimId) + ').' @@ -2170,18 +2020,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + ---------------------------------------------------------------------------------------------------------------------------- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentEducationOrganizationAssessmentAccommodationGeneralAccommodation' ---------------------------------------------------------------------------------------------------------------------------- @@ -2205,18 +2044,7 @@ BEGIN SET @claimId = SCOPE_IDENTITY() END - ELSE - BEGIN - IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL) - BEGIN - PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')' - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = @parentResourceClaimId - WHERE ResourceClaimId = @claimId - END - END - + -- Pop the stack DELETE FROM @claimIdStack WHERE Id = (SELECT Max(Id) FROM @claimIdStack) diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml index a42736fe8f..f947de2d03 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml @@ -63,8 +63,8 @@ - - + + @@ -130,7 +130,9 @@ - + + + diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql index 916d0c540b..32fe4b5872 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql @@ -225,45 +225,99 @@ GO ALTER TABLE [edfi].[AssessmentAdministration] ADD CONSTRAINT [AssessmentAdministration_DF_LastModifiedDate] DEFAULT (getutcdate()) FOR [LastModifiedDate] GO --- Table [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] -- -CREATE TABLE [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] ( +-- Table [edfi].[AssessmentAdministrationAssessmentBatteryPart] -- +CREATE TABLE [edfi].[AssessmentAdministrationAssessmentBatteryPart] ( [AdministrationIdentifier] [NVARCHAR](255) NOT NULL, [AssessmentIdentifier] [NVARCHAR](60) NOT NULL, [AssigningEducationOrganizationId] [BIGINT] NOT NULL, [Namespace] [NVARCHAR](255) NOT NULL, - [BeginDate] [DATE] NOT NULL, - [EndDate] [DATE] NULL, + [AssessmentBatteryPartName] [NVARCHAR](65) NOT NULL, [CreateDate] [DATETIME2] NOT NULL, - CONSTRAINT [AssessmentAdministrationAssessmentAdminstrationPeriod_PK] PRIMARY KEY CLUSTERED ( + CONSTRAINT [AssessmentAdministrationAssessmentBatteryPart_PK] PRIMARY KEY CLUSTERED ( [AdministrationIdentifier] ASC, [AssessmentIdentifier] ASC, [AssigningEducationOrganizationId] ASC, [Namespace] ASC, - [BeginDate] ASC + [AssessmentBatteryPartName] ASC ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO -ALTER TABLE [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] ADD CONSTRAINT [AssessmentAdministrationAssessmentAdminstrationPeriod_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] +ALTER TABLE [edfi].[AssessmentAdministrationAssessmentBatteryPart] ADD CONSTRAINT [AssessmentAdministrationAssessmentBatteryPart_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] GO --- Table [edfi].[AssessmentAdministrationAssessmentBatteryPart] -- -CREATE TABLE [edfi].[AssessmentAdministrationAssessmentBatteryPart] ( +-- Table [edfi].[AssessmentAdministrationParticipation] -- +CREATE TABLE [edfi].[AssessmentAdministrationParticipation] ( [AdministrationIdentifier] [NVARCHAR](255) NOT NULL, [AssessmentIdentifier] [NVARCHAR](60) NOT NULL, [AssigningEducationOrganizationId] [BIGINT] NOT NULL, [Namespace] [NVARCHAR](255) NOT NULL, - [AssessmentBatteryPartName] [NVARCHAR](65) NOT NULL, + [ParticipatingEducationOrganizationId] [BIGINT] NOT NULL, + [Discriminator] [NVARCHAR](128) NULL, [CreateDate] [DATETIME2] NOT NULL, - CONSTRAINT [AssessmentAdministrationAssessmentBatteryPart_PK] PRIMARY KEY CLUSTERED ( + [LastModifiedDate] [DATETIME2] NOT NULL, + [Id] [UNIQUEIDENTIFIER] NOT NULL, + CONSTRAINT [AssessmentAdministrationParticipation_PK] PRIMARY KEY CLUSTERED ( [AdministrationIdentifier] ASC, [AssessmentIdentifier] ASC, [AssigningEducationOrganizationId] ASC, [Namespace] ASC, - [AssessmentBatteryPartName] ASC + [ParticipatingEducationOrganizationId] ASC ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO -ALTER TABLE [edfi].[AssessmentAdministrationAssessmentBatteryPart] ADD CONSTRAINT [AssessmentAdministrationAssessmentBatteryPart_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD CONSTRAINT [AssessmentAdministrationParticipation_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] +GO +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD CONSTRAINT [AssessmentAdministrationParticipation_DF_Id] DEFAULT (newid()) FOR [Id] +GO +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD CONSTRAINT [AssessmentAdministrationParticipation_DF_LastModifiedDate] DEFAULT (getutcdate()) FOR [LastModifiedDate] +GO + +-- Table [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] -- +CREATE TABLE [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] ( + [AdministrationIdentifier] [NVARCHAR](255) NOT NULL, + [AssessmentIdentifier] [NVARCHAR](60) NOT NULL, + [AssigningEducationOrganizationId] [BIGINT] NOT NULL, + [Namespace] [NVARCHAR](255) NOT NULL, + [ParticipatingEducationOrganizationId] [BIGINT] NOT NULL, + [EducationOrganizationId] [BIGINT] NOT NULL, + [ElectronicMailAddress] [NVARCHAR](128) NOT NULL, + [FirstName] [NVARCHAR](75) NOT NULL, + [LastSurname] [NVARCHAR](75) NOT NULL, + [LoginId] [NVARCHAR](60) NULL, + [CreateDate] [DATETIME2] NOT NULL, + CONSTRAINT [AssessmentAdministrationParticipationAdministrationPointOfContact_PK] PRIMARY KEY CLUSTERED ( + [AdministrationIdentifier] ASC, + [AssessmentIdentifier] ASC, + [AssigningEducationOrganizationId] ASC, + [Namespace] ASC, + [ParticipatingEducationOrganizationId] ASC, + [EducationOrganizationId] ASC, + [ElectronicMailAddress] ASC + ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO +ALTER TABLE [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] ADD CONSTRAINT [AssessmentAdministrationParticipationAdministrationPointOfContact_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] +GO + +-- Table [edfi].[AssessmentAdministrationPeriod] -- +CREATE TABLE [edfi].[AssessmentAdministrationPeriod] ( + [AdministrationIdentifier] [NVARCHAR](255) NOT NULL, + [AssessmentIdentifier] [NVARCHAR](60) NOT NULL, + [AssigningEducationOrganizationId] [BIGINT] NOT NULL, + [Namespace] [NVARCHAR](255) NOT NULL, + [BeginDate] [DATE] NOT NULL, + [EndDate] [DATE] NULL, + [CreateDate] [DATETIME2] NOT NULL, + CONSTRAINT [AssessmentAdministrationPeriod_PK] PRIMARY KEY CLUSTERED ( + [AdministrationIdentifier] ASC, + [AssessmentIdentifier] ASC, + [AssigningEducationOrganizationId] ASC, + [Namespace] ASC, + [BeginDate] ASC + ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO +ALTER TABLE [edfi].[AssessmentAdministrationPeriod] ADD CONSTRAINT [AssessmentAdministrationPeriod_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] GO -- Table [edfi].[AssessmentAssessedGradeLevel] -- @@ -681,60 +735,6 @@ GO ALTER TABLE [edfi].[AssessmentSection] ADD CONSTRAINT [AssessmentSection_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] GO --- Table [edfi].[AssesssmentAdministrationParticipation] -- -CREATE TABLE [edfi].[AssesssmentAdministrationParticipation] ( - [AdministrationIdentifier] [NVARCHAR](255) NOT NULL, - [AssessmentIdentifier] [NVARCHAR](60) NOT NULL, - [AssigningEducationOrganizationId] [BIGINT] NOT NULL, - [Namespace] [NVARCHAR](255) NOT NULL, - [ParticipatingEducationOrganizationId] [BIGINT] NOT NULL, - [Discriminator] [NVARCHAR](128) NULL, - [CreateDate] [DATETIME2] NOT NULL, - [LastModifiedDate] [DATETIME2] NOT NULL, - [Id] [UNIQUEIDENTIFIER] NOT NULL, - CONSTRAINT [AssesssmentAdministrationParticipation_PK] PRIMARY KEY CLUSTERED ( - [AdministrationIdentifier] ASC, - [AssessmentIdentifier] ASC, - [AssigningEducationOrganizationId] ASC, - [Namespace] ASC, - [ParticipatingEducationOrganizationId] ASC - ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] -) ON [PRIMARY] -GO -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD CONSTRAINT [AssesssmentAdministrationParticipation_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] -GO -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD CONSTRAINT [AssesssmentAdministrationParticipation_DF_Id] DEFAULT (newid()) FOR [Id] -GO -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD CONSTRAINT [AssesssmentAdministrationParticipation_DF_LastModifiedDate] DEFAULT (getutcdate()) FOR [LastModifiedDate] -GO - --- Table [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] -- -CREATE TABLE [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] ( - [AdministrationIdentifier] [NVARCHAR](255) NOT NULL, - [AssessmentIdentifier] [NVARCHAR](60) NOT NULL, - [AssigningEducationOrganizationId] [BIGINT] NOT NULL, - [Namespace] [NVARCHAR](255) NOT NULL, - [ParticipatingEducationOrganizationId] [BIGINT] NOT NULL, - [EducationOrganizationId] [BIGINT] NOT NULL, - [ElectronicMailAddress] [NVARCHAR](128) NOT NULL, - [FirstName] [NVARCHAR](75) NOT NULL, - [LastSurname] [NVARCHAR](75) NOT NULL, - [LoginId] [NVARCHAR](60) NULL, - [CreateDate] [DATETIME2] NOT NULL, - CONSTRAINT [AssesssmentAdministrationParticipationAdministrationPointOfContact_PK] PRIMARY KEY CLUSTERED ( - [AdministrationIdentifier] ASC, - [AssessmentIdentifier] ASC, - [AssigningEducationOrganizationId] ASC, - [Namespace] ASC, - [ParticipatingEducationOrganizationId] ASC, - [EducationOrganizationId] ASC, - [ElectronicMailAddress] ASC - ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] -) ON [PRIMARY] -GO -ALTER TABLE [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] ADD CONSTRAINT [AssesssmentAdministrationParticipationAdministrationPointOfContact_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] -GO - -- Table [edfi].[AssignmentLateStatusDescriptor] -- CREATE TABLE [edfi].[AssignmentLateStatusDescriptor] ( [AssignmentLateStatusDescriptorId] [INT] NOT NULL, @@ -2610,6 +2610,24 @@ CREATE TABLE [edfi].[DisplacedStudentStatusDescriptor] ( ) ON [PRIMARY] GO +-- Table [edfi].[DualCreditInstitutionDescriptor] -- +CREATE TABLE [edfi].[DualCreditInstitutionDescriptor] ( + [DualCreditInstitutionDescriptorId] [INT] NOT NULL, + CONSTRAINT [DualCreditInstitutionDescriptor_PK] PRIMARY KEY CLUSTERED ( + [DualCreditInstitutionDescriptorId] ASC + ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +-- Table [edfi].[DualCreditTypeDescriptor] -- +CREATE TABLE [edfi].[DualCreditTypeDescriptor] ( + [DualCreditTypeDescriptorId] [INT] NOT NULL, + CONSTRAINT [DualCreditTypeDescriptor_PK] PRIMARY KEY CLUSTERED ( + [DualCreditTypeDescriptorId] ASC + ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + -- Table [edfi].[EducationalEnvironmentDescriptor] -- CREATE TABLE [edfi].[EducationalEnvironmentDescriptor] ( [EducationalEnvironmentDescriptorId] [INT] NOT NULL, @@ -6392,11 +6410,11 @@ GO ALTER TABLE [edfi].[Section] ADD CONSTRAINT [Section_DF_LastModifiedDate] DEFAULT (getutcdate()) FOR [LastModifiedDate] GO --- Table [edfi].[Section504DisabilityTypeDescriptor] -- -CREATE TABLE [edfi].[Section504DisabilityTypeDescriptor] ( - [Section504DisabilityTypeDescriptorId] [INT] NOT NULL, - CONSTRAINT [Section504DisabilityTypeDescriptor_PK] PRIMARY KEY CLUSTERED ( - [Section504DisabilityTypeDescriptorId] ASC +-- Table [edfi].[Section504DisabilityDescriptor] -- +CREATE TABLE [edfi].[Section504DisabilityDescriptor] ( + [Section504DisabilityDescriptorId] [INT] NOT NULL, + CONSTRAINT [Section504DisabilityDescriptor_PK] PRIMARY KEY CLUSTERED ( + [Section504DisabilityDescriptorId] ASC ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO @@ -8017,6 +8035,8 @@ CREATE TABLE [edfi].[StudentAssessmentRegistration] ( [EntryDate] [DATE] NOT NULL, [PlatformTypeDescriptorId] [INT] NULL, [ReportingEducationOrganizationId] [BIGINT] NULL, + [ScheduledEducationOrganizationId] [BIGINT] NULL, + [ScheduledStudentUSI] [INT] NULL, [SchoolId] [BIGINT] NOT NULL, [TestingEducationOrganizationId] [BIGINT] NULL, [Discriminator] [NVARCHAR](128) NULL, @@ -8536,6 +8556,26 @@ GO ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode] ADD CONSTRAINT [StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] GO +-- Table [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] -- +CREATE TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] ( + [BehaviorDescriptorId] [INT] NOT NULL, + [IncidentIdentifier] [NVARCHAR](36) NOT NULL, + [SchoolId] [BIGINT] NOT NULL, + [StudentUSI] [INT] NOT NULL, + [WeaponDescriptorId] [INT] NOT NULL, + [CreateDate] [DATETIME2] NOT NULL, + CONSTRAINT [StudentDisciplineIncidentBehaviorAssociationWeapon_PK] PRIMARY KEY CLUSTERED ( + [BehaviorDescriptorId] ASC, + [IncidentIdentifier] ASC, + [SchoolId] ASC, + [StudentUSI] ASC, + [WeaponDescriptorId] ASC + ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO +ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] ADD CONSTRAINT [StudentDisciplineIncidentBehaviorAssociationWeapon_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] +GO + -- Table [edfi].[StudentDisciplineIncidentNonOffenderAssociation] -- CREATE TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociation] ( [IncidentIdentifier] [NVARCHAR](36) NOT NULL, @@ -9944,7 +9984,7 @@ CREATE TABLE [edfi].[StudentSection504ProgramAssociation] ( [ProgramTypeDescriptorId] [INT] NOT NULL, [StudentUSI] [INT] NOT NULL, [AccommodationPlan] [BIT] NULL, - [Section504DisabilityTypeDescriptorId] [INT] NULL, + [Section504DisabilityDescriptorId] [INT] NULL, [Section504Eligibility] [BIT] NOT NULL, [Section504EligibilityDecisionDate] [DATE] NULL, [Section504MeetingDate] [DATE] NULL, @@ -9969,6 +10009,11 @@ CREATE TABLE [edfi].[StudentSectionAssociation] ( [SessionName] [NVARCHAR](60) NOT NULL, [StudentUSI] [INT] NOT NULL, [AttemptStatusDescriptorId] [INT] NULL, + [DualCreditEducationOrganizationId] [BIGINT] NULL, + [DualCreditIndicator] [BIT] NULL, + [DualCreditInstitutionDescriptorId] [INT] NULL, + [DualCreditTypeDescriptorId] [INT] NULL, + [DualHighSchoolCreditIndicator] [BIT] NULL, [EndDate] [DATE] NULL, [HomeroomIndicator] [BIT] NULL, [RepeatIdentifierDescriptorId] [INT] NULL, @@ -10107,7 +10152,9 @@ CREATE TABLE [edfi].[StudentSpecialEducationProgramAssociation] ( [LastEvaluationDate] [DATE] NULL, [MedicallyFragile] [BIT] NULL, [MultiplyDisabled] [BIT] NULL, + [ReductionInHoursPerWeekComparedToPeers] [DECIMAL](5, 2) NULL, [SchoolHoursPerWeek] [DECIMAL](5, 2) NULL, + [ShortenedSchoolDayIndicator] [BIT] NULL, [SpecialEducationExitDate] [DATE] NULL, [SpecialEducationExitExplained] [NVARCHAR](1024) NULL, [SpecialEducationExitReasonDescriptorId] [INT] NULL, diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql index 6f170a070b..d0b907214b 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql @@ -115,11 +115,6 @@ CREATE NONCLUSTERED INDEX [FK_AssessmentAdministration_EducationOrganization] ON [edfi].[AssessmentAdministration] ([AssigningEducationOrganizationId] ASC) GO -ALTER TABLE [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationAssessmentAdminstrationPeriod_AssessmentAdministration] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace]) -REFERENCES [edfi].[AssessmentAdministration] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace]) -ON DELETE CASCADE -GO - ALTER TABLE [edfi].[AssessmentAdministrationAssessmentBatteryPart] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace]) REFERENCES [edfi].[AssessmentAdministration] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace]) ON DELETE CASCADE @@ -133,6 +128,40 @@ CREATE NONCLUSTERED INDEX [FK_AssessmentAdministrationAssessmentBatteryPart_Asse ON [edfi].[AssessmentAdministrationAssessmentBatteryPart] ([AssessmentBatteryPartName] ASC, [AssessmentIdentifier] ASC, [Namespace] ASC) GO +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationParticipation_AssessmentAdministration] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace]) +REFERENCES [edfi].[AssessmentAdministration] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace]) +GO + +CREATE NONCLUSTERED INDEX [FK_AssessmentAdministrationParticipation_AssessmentAdministration] +ON [edfi].[AssessmentAdministrationParticipation] ([AdministrationIdentifier] ASC, [AssessmentIdentifier] ASC, [AssigningEducationOrganizationId] ASC, [Namespace] ASC) +GO + +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationParticipation_EducationOrganization] FOREIGN KEY ([ParticipatingEducationOrganizationId]) +REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId]) +GO + +CREATE NONCLUSTERED INDEX [FK_AssessmentAdministrationParticipation_EducationOrganization] +ON [edfi].[AssessmentAdministrationParticipation] ([ParticipatingEducationOrganizationId] ASC) +GO + +ALTER TABLE [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationParticipationAdministrationPointOfContact_AssessmentAdministrationParticipation] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace], [ParticipatingEducationOrganizationId]) +REFERENCES [edfi].[AssessmentAdministrationParticipation] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace], [ParticipatingEducationOrganizationId]) +ON DELETE CASCADE +GO + +ALTER TABLE [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization] FOREIGN KEY ([EducationOrganizationId]) +REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId]) +GO + +CREATE NONCLUSTERED INDEX [FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization] +ON [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] ([EducationOrganizationId] ASC) +GO + +ALTER TABLE [edfi].[AssessmentAdministrationPeriod] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationPeriod_AssessmentAdministration] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace]) +REFERENCES [edfi].[AssessmentAdministration] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace]) +ON DELETE CASCADE +GO + ALTER TABLE [edfi].[AssessmentAssessedGradeLevel] WITH CHECK ADD CONSTRAINT [FK_AssessmentAssessedGradeLevel_Assessment] FOREIGN KEY ([AssessmentIdentifier], [Namespace]) REFERENCES [edfi].[Assessment] ([AssessmentIdentifier], [Namespace]) ON DELETE CASCADE @@ -423,35 +452,6 @@ CREATE NONCLUSTERED INDEX [FK_AssessmentSection_Section] ON [edfi].[AssessmentSection] ([LocalCourseCode] ASC, [SchoolId] ASC, [SchoolYear] ASC, [SectionIdentifier] ASC, [SessionName] ASC) GO -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] WITH CHECK ADD CONSTRAINT [FK_AssesssmentAdministrationParticipation_AssessmentAdministration] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace]) -REFERENCES [edfi].[AssessmentAdministration] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace]) -GO - -CREATE NONCLUSTERED INDEX [FK_AssesssmentAdministrationParticipation_AssessmentAdministration] -ON [edfi].[AssesssmentAdministrationParticipation] ([AdministrationIdentifier] ASC, [AssessmentIdentifier] ASC, [AssigningEducationOrganizationId] ASC, [Namespace] ASC) -GO - -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] WITH CHECK ADD CONSTRAINT [FK_AssesssmentAdministrationParticipation_EducationOrganization] FOREIGN KEY ([ParticipatingEducationOrganizationId]) -REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId]) -GO - -CREATE NONCLUSTERED INDEX [FK_AssesssmentAdministrationParticipation_EducationOrganization] -ON [edfi].[AssesssmentAdministrationParticipation] ([ParticipatingEducationOrganizationId] ASC) -GO - -ALTER TABLE [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] WITH CHECK ADD CONSTRAINT [FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_AssesssmentAdministrationParticipation] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace], [ParticipatingEducationOrganizationId]) -REFERENCES [edfi].[AssesssmentAdministrationParticipation] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace], [ParticipatingEducationOrganizationId]) -ON DELETE CASCADE -GO - -ALTER TABLE [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] WITH CHECK ADD CONSTRAINT [FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization] FOREIGN KEY ([EducationOrganizationId]) -REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId]) -GO - -CREATE NONCLUSTERED INDEX [FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization] -ON [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] ([EducationOrganizationId] ASC) -GO - ALTER TABLE [edfi].[AssignmentLateStatusDescriptor] WITH CHECK ADD CONSTRAINT [FK_AssignmentLateStatusDescriptor_Descriptor] FOREIGN KEY ([AssignmentLateStatusDescriptorId]) REFERENCES [edfi].[Descriptor] ([DescriptorId]) ON DELETE CASCADE @@ -1629,10 +1629,6 @@ ALTER TABLE [edfi].[DisciplineAction] WITH CHECK ADD CONSTRAINT [FK_DisciplineAc REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_DisciplineAction_Student] -ON [edfi].[DisciplineAction] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[DisciplineActionDiscipline] WITH CHECK ADD CONSTRAINT [FK_DisciplineActionDiscipline_DisciplineAction] FOREIGN KEY ([DisciplineActionIdentifier], [DisciplineDate], [StudentUSI]) REFERENCES [edfi].[DisciplineAction] ([DisciplineActionIdentifier], [DisciplineDate], [StudentUSI]) ON DELETE CASCADE @@ -1751,6 +1747,16 @@ REFERENCES [edfi].[Descriptor] ([DescriptorId]) ON DELETE CASCADE GO +ALTER TABLE [edfi].[DualCreditInstitutionDescriptor] WITH CHECK ADD CONSTRAINT [FK_DualCreditInstitutionDescriptor_Descriptor] FOREIGN KEY ([DualCreditInstitutionDescriptorId]) +REFERENCES [edfi].[Descriptor] ([DescriptorId]) +ON DELETE CASCADE +GO + +ALTER TABLE [edfi].[DualCreditTypeDescriptor] WITH CHECK ADD CONSTRAINT [FK_DualCreditTypeDescriptor_Descriptor] FOREIGN KEY ([DualCreditTypeDescriptorId]) +REFERENCES [edfi].[Descriptor] ([DescriptorId]) +ON DELETE CASCADE +GO + ALTER TABLE [edfi].[EducationalEnvironmentDescriptor] WITH CHECK ADD CONSTRAINT [FK_EducationalEnvironmentDescriptor_Descriptor] FOREIGN KEY ([EducationalEnvironmentDescriptorId]) REFERENCES [edfi].[Descriptor] ([DescriptorId]) ON DELETE CASCADE @@ -2206,10 +2212,6 @@ ALTER TABLE [edfi].[GeneralStudentProgramAssociation] WITH CHECK ADD CONSTRAINT REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_GeneralStudentProgramAssociation_Student] -ON [edfi].[GeneralStudentProgramAssociation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[GeneralStudentProgramAssociationProgramParticipationStatus] WITH CHECK ADD CONSTRAINT [FK_GeneralStudentProgramAssociationProgramParticipationStatus_GeneralStudentProgramAssociation] FOREIGN KEY ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) ON DELETE CASCADE @@ -3212,10 +3214,6 @@ ALTER TABLE [edfi].[LocalContractedStaff] WITH CHECK ADD CONSTRAINT [FK_LocalCon REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_LocalContractedStaff_Staff] -ON [edfi].[LocalContractedStaff] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[LocaleDescriptor] WITH CHECK ADD CONSTRAINT [FK_LocaleDescriptor_Descriptor] FOREIGN KEY ([LocaleDescriptorId]) REFERENCES [edfi].[Descriptor] ([DescriptorId]) ON DELETE CASCADE @@ -3341,10 +3339,6 @@ ALTER TABLE [edfi].[LocalPayroll] WITH CHECK ADD CONSTRAINT [FK_LocalPayroll_Sta REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_LocalPayroll_Staff] -ON [edfi].[LocalPayroll] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[Location] WITH CHECK ADD CONSTRAINT [FK_Location_School] FOREIGN KEY ([SchoolId]) REFERENCES [edfi].[School] ([SchoolId]) GO @@ -3682,10 +3676,6 @@ ALTER TABLE [edfi].[PostSecondaryEvent] WITH CHECK ADD CONSTRAINT [FK_PostSecond REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_PostSecondaryEvent_Student] -ON [edfi].[PostSecondaryEvent] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[PostSecondaryEventCategoryDescriptor] WITH CHECK ADD CONSTRAINT [FK_PostSecondaryEventCategoryDescriptor_Descriptor] FOREIGN KEY ([PostSecondaryEventCategoryDescriptorId]) REFERENCES [edfi].[Descriptor] ([DescriptorId]) ON DELETE CASCADE @@ -4030,10 +4020,6 @@ ALTER TABLE [edfi].[ReportCard] WITH CHECK ADD CONSTRAINT [FK_ReportCard_Student REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_ReportCard_Student] -ON [edfi].[ReportCard] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[ReportCardGrade] WITH CHECK ADD CONSTRAINT [FK_ReportCardGrade_Grade] FOREIGN KEY ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI]) REFERENCES [edfi].[Grade] ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI]) ON UPDATE CASCADE @@ -4123,10 +4109,6 @@ ALTER TABLE [edfi].[RestraintEvent] WITH CHECK ADD CONSTRAINT [FK_RestraintEvent REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_RestraintEvent_Student] -ON [edfi].[RestraintEvent] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[RestraintEventProgram] WITH CHECK ADD CONSTRAINT [FK_RestraintEventProgram_Program] FOREIGN KEY ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId]) REFERENCES [edfi].[Program] ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId]) GO @@ -4370,7 +4352,7 @@ CREATE NONCLUSTERED INDEX [FK_Section_SectionTypeDescriptor] ON [edfi].[Section] ([SectionTypeDescriptorId] ASC) GO -ALTER TABLE [edfi].[Section504DisabilityTypeDescriptor] WITH CHECK ADD CONSTRAINT [FK_Section504DisabilityTypeDescriptor_Descriptor] FOREIGN KEY ([Section504DisabilityTypeDescriptorId]) +ALTER TABLE [edfi].[Section504DisabilityDescriptor] WITH CHECK ADD CONSTRAINT [FK_Section504DisabilityDescriptor_Descriptor] FOREIGN KEY ([Section504DisabilityDescriptorId]) REFERENCES [edfi].[Descriptor] ([DescriptorId]) ON DELETE CASCADE GO @@ -4396,10 +4378,6 @@ ALTER TABLE [edfi].[SectionAttendanceTakenEvent] WITH CHECK ADD CONSTRAINT [FK_S REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_SectionAttendanceTakenEvent_Staff] -ON [edfi].[SectionAttendanceTakenEvent] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[SectionCharacteristic] WITH CHECK ADD CONSTRAINT [FK_SectionCharacteristic_Section] FOREIGN KEY ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName]) REFERENCES [edfi].[Section] ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName]) ON DELETE CASCADE @@ -4626,10 +4604,6 @@ ALTER TABLE [edfi].[StaffAbsenceEvent] WITH CHECK ADD CONSTRAINT [FK_StaffAbsenc REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StaffAbsenceEvent_Staff] -ON [edfi].[StaffAbsenceEvent] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[StaffAddress] WITH CHECK ADD CONSTRAINT [FK_StaffAddress_AddressTypeDescriptor] FOREIGN KEY ([AddressTypeDescriptorId]) REFERENCES [edfi].[AddressTypeDescriptor] ([AddressTypeDescriptorId]) GO @@ -4694,10 +4668,6 @@ ALTER TABLE [edfi].[StaffCohortAssociation] WITH CHECK ADD CONSTRAINT [FK_StaffC REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StaffCohortAssociation_Staff] -ON [edfi].[StaffCohortAssociation] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[StaffCredential] WITH CHECK ADD CONSTRAINT [FK_StaffCredential_Credential] FOREIGN KEY ([CredentialIdentifier], [StateOfIssueStateAbbreviationDescriptorId]) REFERENCES [edfi].[Credential] ([CredentialIdentifier], [StateOfIssueStateAbbreviationDescriptorId]) GO @@ -4723,10 +4693,6 @@ ALTER TABLE [edfi].[StaffDisciplineIncidentAssociation] WITH CHECK ADD CONSTRAIN REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StaffDisciplineIncidentAssociation_Staff] -ON [edfi].[StaffDisciplineIncidentAssociation] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[StaffDisciplineIncidentAssociationDisciplineIncidentParticipationCode] WITH CHECK ADD CONSTRAINT [FK_StaffDisciplineIncidentAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor] FOREIGN KEY ([DisciplineIncidentParticipationCodeDescriptorId]) REFERENCES [edfi].[DisciplineIncidentParticipationCodeDescriptor] ([DisciplineIncidentParticipationCodeDescriptorId]) GO @@ -4756,10 +4722,6 @@ ALTER TABLE [edfi].[StaffEducationOrganizationAssignmentAssociation] WITH CHECK REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StaffEducationOrganizationAssignmentAssociation_Staff] -ON [edfi].[StaffEducationOrganizationAssignmentAssociation] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[StaffEducationOrganizationAssignmentAssociation] WITH CHECK ADD CONSTRAINT [FK_StaffEducationOrganizationAssignmentAssociation_StaffClassificationDescriptor] FOREIGN KEY ([StaffClassificationDescriptorId]) REFERENCES [edfi].[StaffClassificationDescriptor] ([StaffClassificationDescriptorId]) GO @@ -4792,10 +4754,6 @@ ALTER TABLE [edfi].[StaffEducationOrganizationContactAssociation] WITH CHECK ADD REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StaffEducationOrganizationContactAssociation_Staff] -ON [edfi].[StaffEducationOrganizationContactAssociation] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[StaffEducationOrganizationContactAssociationAddress] WITH CHECK ADD CONSTRAINT [FK_StaffEducationOrganizationContactAssociationAddress_AddressTypeDescriptor] FOREIGN KEY ([AddressTypeDescriptorId]) REFERENCES [edfi].[AddressTypeDescriptor] ([AddressTypeDescriptorId]) GO @@ -4883,10 +4841,6 @@ ALTER TABLE [edfi].[StaffEducationOrganizationEmploymentAssociation] WITH CHECK REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StaffEducationOrganizationEmploymentAssociation_Staff] -ON [edfi].[StaffEducationOrganizationEmploymentAssociation] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[StaffElectronicMail] WITH CHECK ADD CONSTRAINT [FK_StaffElectronicMail_ElectronicMailTypeDescriptor] FOREIGN KEY ([ElectronicMailTypeDescriptorId]) REFERENCES [edfi].[ElectronicMailTypeDescriptor] ([ElectronicMailTypeDescriptorId]) GO @@ -4998,10 +4952,6 @@ ALTER TABLE [edfi].[StaffLeave] WITH CHECK ADD CONSTRAINT [FK_StaffLeave_Staff] REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StaffLeave_Staff] -ON [edfi].[StaffLeave] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[StaffLeave] WITH CHECK ADD CONSTRAINT [FK_StaffLeave_StaffLeaveEventCategoryDescriptor] FOREIGN KEY ([StaffLeaveEventCategoryDescriptorId]) REFERENCES [edfi].[StaffLeaveEventCategoryDescriptor] ([StaffLeaveEventCategoryDescriptorId]) GO @@ -5069,10 +5019,6 @@ ALTER TABLE [edfi].[StaffProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_Staff REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StaffProgramAssociation_Staff] -ON [edfi].[StaffProgramAssociation] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[StaffRace] WITH CHECK ADD CONSTRAINT [FK_StaffRace_RaceDescriptor] FOREIGN KEY ([RaceDescriptorId]) REFERENCES [edfi].[RaceDescriptor] ([RaceDescriptorId]) GO @@ -5139,10 +5085,6 @@ ALTER TABLE [edfi].[StaffSchoolAssociation] WITH CHECK ADD CONSTRAINT [FK_StaffS REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StaffSchoolAssociation_Staff] -ON [edfi].[StaffSchoolAssociation] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[StaffSchoolAssociationAcademicSubject] WITH CHECK ADD CONSTRAINT [FK_StaffSchoolAssociationAcademicSubject_AcademicSubjectDescriptor] FOREIGN KEY ([AcademicSubjectDescriptorId]) REFERENCES [edfi].[AcademicSubjectDescriptor] ([AcademicSubjectDescriptorId]) GO @@ -5190,10 +5132,6 @@ ALTER TABLE [edfi].[StaffSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_Staff REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StaffSectionAssociation_Staff] -ON [edfi].[StaffSectionAssociation] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[StaffTelephone] WITH CHECK ADD CONSTRAINT [FK_StaffTelephone_Staff] FOREIGN KEY ([StaffUSI]) REFERENCES [edfi].[Staff] ([StaffUSI]) ON DELETE CASCADE @@ -5349,10 +5287,6 @@ ALTER TABLE [edfi].[StudentAcademicRecord] WITH CHECK ADD CONSTRAINT [FK_Student REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentAcademicRecord_Student] -ON [edfi].[StudentAcademicRecord] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentAcademicRecord] WITH CHECK ADD CONSTRAINT [FK_StudentAcademicRecord_TermDescriptor] FOREIGN KEY ([TermDescriptorId]) REFERENCES [edfi].[TermDescriptor] ([TermDescriptorId]) GO @@ -5547,10 +5481,6 @@ ALTER TABLE [edfi].[StudentAssessment] WITH CHECK ADD CONSTRAINT [FK_StudentAsse REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentAssessment_Student] -ON [edfi].[StudentAssessment] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentAssessmentAccommodation] WITH CHECK ADD CONSTRAINT [FK_StudentAssessmentAccommodation_AccommodationDescriptor] FOREIGN KEY ([AccommodationDescriptorId]) REFERENCES [edfi].[AccommodationDescriptor] ([AccommodationDescriptorId]) GO @@ -5695,12 +5625,12 @@ CREATE NONCLUSTERED INDEX [FK_StudentAssessmentRegistration_PlatformTypeDescript ON [edfi].[StudentAssessmentRegistration] ([PlatformTypeDescriptorId] ASC) GO -ALTER TABLE [edfi].[StudentAssessmentRegistration] WITH CHECK ADD CONSTRAINT [FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation] FOREIGN KEY ([EducationOrganizationId], [StudentUSI]) +ALTER TABLE [edfi].[StudentAssessmentRegistration] WITH CHECK ADD CONSTRAINT [FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation] FOREIGN KEY ([ScheduledEducationOrganizationId], [ScheduledStudentUSI]) REFERENCES [edfi].[StudentEducationOrganizationAssessmentAccommodation] ([EducationOrganizationId], [StudentUSI]) GO CREATE NONCLUSTERED INDEX [FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation] -ON [edfi].[StudentAssessmentRegistration] ([EducationOrganizationId] ASC, [StudentUSI] ASC) +ON [edfi].[StudentAssessmentRegistration] ([ScheduledEducationOrganizationId] ASC, [ScheduledStudentUSI] ASC) GO ALTER TABLE [edfi].[StudentAssessmentRegistration] WITH CHECK ADD CONSTRAINT [FK_StudentAssessmentRegistration_StudentEducationOrganizationAssociation] FOREIGN KEY ([EducationOrganizationId], [StudentUSI]) @@ -5860,10 +5790,6 @@ ALTER TABLE [edfi].[StudentCohortAssociation] WITH CHECK ADD CONSTRAINT [FK_Stud REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentCohortAssociation_Student] -ON [edfi].[StudentCohortAssociation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentCohortAssociationSection] WITH CHECK ADD CONSTRAINT [FK_StudentCohortAssociationSection_Section] FOREIGN KEY ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName]) REFERENCES [edfi].[Section] ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName]) ON UPDATE CASCADE @@ -5906,10 +5832,6 @@ ALTER TABLE [edfi].[StudentCompetencyObjective] WITH CHECK ADD CONSTRAINT [FK_St REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentCompetencyObjective_Student] -ON [edfi].[StudentCompetencyObjective] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentCompetencyObjectiveGeneralStudentProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentCompetencyObjectiveGeneralStudentProgramAssociation_GeneralStudentProgramAssociation] FOREIGN KEY ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) GO @@ -6007,10 +5929,6 @@ ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociation] WITH CHECK ADD REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentDisciplineIncidentBehaviorAssociation_Student] -ON [edfi].[StudentDisciplineIncidentBehaviorAssociation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode] WITH CHECK ADD CONSTRAINT [FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor] FOREIGN KEY ([DisciplineIncidentParticipationCodeDescriptorId]) REFERENCES [edfi].[DisciplineIncidentParticipationCodeDescriptor] ([DisciplineIncidentParticipationCodeDescriptorId]) GO @@ -6024,6 +5942,19 @@ REFERENCES [edfi].[StudentDisciplineIncidentBehaviorAssociation] ([BehaviorDescr ON DELETE CASCADE GO +ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] WITH CHECK ADD CONSTRAINT [FK_StudentDisciplineIncidentBehaviorAssociationWeapon_StudentDisciplineIncidentBehaviorAssociation] FOREIGN KEY ([BehaviorDescriptorId], [IncidentIdentifier], [SchoolId], [StudentUSI]) +REFERENCES [edfi].[StudentDisciplineIncidentBehaviorAssociation] ([BehaviorDescriptorId], [IncidentIdentifier], [SchoolId], [StudentUSI]) +ON DELETE CASCADE +GO + +ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] WITH CHECK ADD CONSTRAINT [FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor] FOREIGN KEY ([WeaponDescriptorId]) +REFERENCES [edfi].[WeaponDescriptor] ([WeaponDescriptorId]) +GO + +CREATE NONCLUSTERED INDEX [FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor] +ON [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] ([WeaponDescriptorId] ASC) +GO + ALTER TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentDisciplineIncidentNonOffenderAssociation_DisciplineIncident] FOREIGN KEY ([IncidentIdentifier], [SchoolId]) REFERENCES [edfi].[DisciplineIncident] ([IncidentIdentifier], [SchoolId]) GO @@ -6036,10 +5967,6 @@ ALTER TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociation] WITH CHECK REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentDisciplineIncidentNonOffenderAssociation_Student] -ON [edfi].[StudentDisciplineIncidentNonOffenderAssociation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociationDisciplineIncidentParticipationCode] WITH CHECK ADD CONSTRAINT [FK_StudentDisciplineIncidentNonOffenderAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescrip] FOREIGN KEY ([DisciplineIncidentParticipationCodeDescriptorId]) REFERENCES [edfi].[DisciplineIncidentParticipationCodeDescriptor] ([DisciplineIncidentParticipationCodeDescriptorId]) GO @@ -6061,10 +5988,6 @@ ALTER TABLE [edfi].[StudentEducationOrganizationAssessmentAccommodation] WITH CH REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentEducationOrganizationAssessmentAccommodation_Student] -ON [edfi].[StudentEducationOrganizationAssessmentAccommodation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentEducationOrganizationAssessmentAccommodationGeneralAccommodation] WITH CHECK ADD CONSTRAINT [FK_StudentEducationOrganizationAssessmentAccommodationGeneralAccommodation_AccommodationDescriptor] FOREIGN KEY ([AccommodationDescriptorId]) REFERENCES [edfi].[AccommodationDescriptor] ([AccommodationDescriptorId]) GO @@ -6150,10 +6073,6 @@ ALTER TABLE [edfi].[StudentEducationOrganizationAssociation] WITH CHECK ADD CONS REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentEducationOrganizationAssociation_Student] -ON [edfi].[StudentEducationOrganizationAssociation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentEducationOrganizationAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentEducationOrganizationAssociation_SupporterMilitaryConnectionDescriptor] FOREIGN KEY ([SupporterMilitaryConnectionDescriptorId]) REFERENCES [edfi].[SupporterMilitaryConnectionDescriptor] ([SupporterMilitaryConnectionDescriptorId]) GO @@ -6449,10 +6368,6 @@ ALTER TABLE [edfi].[StudentEducationOrganizationResponsibilityAssociation] WITH REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentEducationOrganizationResponsibilityAssociation_Student] -ON [edfi].[StudentEducationOrganizationResponsibilityAssociation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentGradebookEntry] WITH CHECK ADD CONSTRAINT [FK_StudentGradebookEntry_AssignmentLateStatusDescriptor] FOREIGN KEY ([AssignmentLateStatusDescriptorId]) REFERENCES [edfi].[AssignmentLateStatusDescriptor] ([AssignmentLateStatusDescriptorId]) GO @@ -6482,10 +6397,6 @@ ALTER TABLE [edfi].[StudentGradebookEntry] WITH CHECK ADD CONSTRAINT [FK_Student REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentGradebookEntry_Student] -ON [edfi].[StudentGradebookEntry] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentGradebookEntry] WITH CHECK ADD CONSTRAINT [FK_StudentGradebookEntry_SubmissionStatusDescriptor] FOREIGN KEY ([SubmissionStatusDescriptorId]) REFERENCES [edfi].[SubmissionStatusDescriptor] ([SubmissionStatusDescriptorId]) GO @@ -6510,10 +6421,6 @@ ALTER TABLE [edfi].[StudentHealth] WITH CHECK ADD CONSTRAINT [FK_StudentHealth_S REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentHealth_Student] -ON [edfi].[StudentHealth] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentHealthAdditionalImmunization] WITH CHECK ADD CONSTRAINT [FK_StudentHealthAdditionalImmunization_StudentHealth] FOREIGN KEY ([EducationOrganizationId], [StudentUSI]) REFERENCES [edfi].[StudentHealth] ([EducationOrganizationId], [StudentUSI]) ON DELETE CASCADE @@ -6622,10 +6529,6 @@ ALTER TABLE [edfi].[StudentInterventionAssociation] WITH CHECK ADD CONSTRAINT [F REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentInterventionAssociation_Student] -ON [edfi].[StudentInterventionAssociation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentInterventionAssociationInterventionEffectiveness] WITH CHECK ADD CONSTRAINT [FK_StudentInterventionAssociationInterventionEffectiveness_DiagnosisDescriptor] FOREIGN KEY ([DiagnosisDescriptorId]) REFERENCES [edfi].[DiagnosisDescriptor] ([DiagnosisDescriptorId]) GO @@ -6691,10 +6594,6 @@ ALTER TABLE [edfi].[StudentInterventionAttendanceEvent] WITH CHECK ADD CONSTRAIN REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentInterventionAttendanceEvent_Student] -ON [edfi].[StudentInterventionAttendanceEvent] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentLanguageInstructionProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentLanguageInstructionProgramAssociation_GeneralStudentProgramAssociation] FOREIGN KEY ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) ON DELETE CASCADE @@ -6918,10 +6817,6 @@ ALTER TABLE [edfi].[StudentProgramAttendanceEvent] WITH CHECK ADD CONSTRAINT [FK REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentProgramAttendanceEvent_Student] -ON [edfi].[StudentProgramAttendanceEvent] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentProgramEvaluation] WITH CHECK ADD CONSTRAINT [FK_StudentProgramEvaluation_EducationOrganization] FOREIGN KEY ([EducationOrganizationId]) REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId]) GO @@ -7117,10 +7012,6 @@ ALTER TABLE [edfi].[StudentSchoolAssociation] WITH CHECK ADD CONSTRAINT [FK_Stud REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentSchoolAssociation_Student] -ON [edfi].[StudentSchoolAssociation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentSchoolAssociationAlternativeGraduationPlan] WITH CHECK ADD CONSTRAINT [FK_StudentSchoolAssociationAlternativeGraduationPlan_GraduationPlan] FOREIGN KEY ([AlternativeEducationOrganizationId], [AlternativeGraduationPlanTypeDescriptorId], [AlternativeGraduationSchoolYear]) REFERENCES [edfi].[GraduationPlan] ([EducationOrganizationId], [GraduationPlanTypeDescriptorId], [GraduationSchoolYear]) GO @@ -7182,10 +7073,6 @@ ALTER TABLE [edfi].[StudentSchoolAttendanceEvent] WITH CHECK ADD CONSTRAINT [FK_ REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentSchoolAttendanceEvent_Student] -ON [edfi].[StudentSchoolAttendanceEvent] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentSchoolFoodServiceProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSchoolFoodServiceProgramAssociation_GeneralStudentProgramAssociation] FOREIGN KEY ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) ON DELETE CASCADE @@ -7209,12 +7096,12 @@ REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrg ON DELETE CASCADE GO -ALTER TABLE [edfi].[StudentSection504ProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor] FOREIGN KEY ([Section504DisabilityTypeDescriptorId]) -REFERENCES [edfi].[Section504DisabilityTypeDescriptor] ([Section504DisabilityTypeDescriptorId]) +ALTER TABLE [edfi].[StudentSection504ProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor] FOREIGN KEY ([Section504DisabilityDescriptorId]) +REFERENCES [edfi].[Section504DisabilityDescriptor] ([Section504DisabilityDescriptorId]) GO -CREATE NONCLUSTERED INDEX [FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor] -ON [edfi].[StudentSection504ProgramAssociation] ([Section504DisabilityTypeDescriptorId] ASC) +CREATE NONCLUSTERED INDEX [FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor] +ON [edfi].[StudentSection504ProgramAssociation] ([Section504DisabilityDescriptorId] ASC) GO ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociation_AttemptStatusDescriptor] FOREIGN KEY ([AttemptStatusDescriptorId]) @@ -7225,6 +7112,30 @@ CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_AttemptStatusDescriptor] ON [edfi].[StudentSectionAssociation] ([AttemptStatusDescriptorId] ASC) GO +ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociation_DualCreditInstitutionDescriptor] FOREIGN KEY ([DualCreditInstitutionDescriptorId]) +REFERENCES [edfi].[DualCreditInstitutionDescriptor] ([DualCreditInstitutionDescriptorId]) +GO + +CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_DualCreditInstitutionDescriptor] +ON [edfi].[StudentSectionAssociation] ([DualCreditInstitutionDescriptorId] ASC) +GO + +ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociation_DualCreditTypeDescriptor] FOREIGN KEY ([DualCreditTypeDescriptorId]) +REFERENCES [edfi].[DualCreditTypeDescriptor] ([DualCreditTypeDescriptorId]) +GO + +CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_DualCreditTypeDescriptor] +ON [edfi].[StudentSectionAssociation] ([DualCreditTypeDescriptorId] ASC) +GO + +ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociation_EducationOrganization] FOREIGN KEY ([DualCreditEducationOrganizationId]) +REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId]) +GO + +CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_EducationOrganization] +ON [edfi].[StudentSectionAssociation] ([DualCreditEducationOrganizationId] ASC) +GO + ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociation_RepeatIdentifierDescriptor] FOREIGN KEY ([RepeatIdentifierDescriptorId]) REFERENCES [edfi].[RepeatIdentifierDescriptor] ([RepeatIdentifierDescriptorId]) GO @@ -7246,10 +7157,6 @@ ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_Stu REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_Student] -ON [edfi].[StudentSectionAssociation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentSectionAssociationProgram] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociationProgram_Program] FOREIGN KEY ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId]) REFERENCES [edfi].[Program] ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId]) GO @@ -7293,10 +7200,6 @@ ALTER TABLE [edfi].[StudentSectionAttendanceEvent] WITH CHECK ADD CONSTRAINT [FK REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentSectionAttendanceEvent_Student] -ON [edfi].[StudentSectionAttendanceEvent] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentSectionAttendanceEventClassPeriod] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAttendanceEventClassPeriod_ClassPeriod] FOREIGN KEY ([ClassPeriodName], [SchoolId]) REFERENCES [edfi].[ClassPeriod] ([ClassPeriodName], [SchoolId]) ON UPDATE CASCADE @@ -7454,10 +7357,6 @@ ALTER TABLE [edfi].[StudentSpecialEducationProgramEligibilityAssociation] WITH C REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentSpecialEducationProgramEligibilityAssociation_Student] -ON [edfi].[StudentSpecialEducationProgramEligibilityAssociation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentTitleIPartAProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentTitleIPartAProgramAssociation_GeneralStudentProgramAssociation] FOREIGN KEY ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) ON DELETE CASCADE @@ -7496,10 +7395,6 @@ ALTER TABLE [edfi].[StudentTransportation] WITH CHECK ADD CONSTRAINT [FK_Student REFERENCES [edfi].[Student] ([StudentUSI]) GO -CREATE NONCLUSTERED INDEX [FK_StudentTransportation_Student] -ON [edfi].[StudentTransportation] ([StudentUSI] ASC) -GO - ALTER TABLE [edfi].[StudentTransportation] WITH CHECK ADD CONSTRAINT [FK_StudentTransportation_TransportationPublicExpenseEligibilityTypeDescriptor] FOREIGN KEY ([TransportationPublicExpenseEligibilityTypeDescriptorId]) REFERENCES [edfi].[TransportationPublicExpenseEligibilityTypeDescriptor] ([TransportationPublicExpenseEligibilityTypeDescriptorId]) GO @@ -7757,10 +7652,6 @@ ALTER TABLE [edfi].[SurveyResponseStaffTargetAssociation] WITH CHECK ADD CONSTRA REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_SurveyResponseStaffTargetAssociation_Staff] -ON [edfi].[SurveyResponseStaffTargetAssociation] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[SurveyResponseStaffTargetAssociation] WITH CHECK ADD CONSTRAINT [FK_SurveyResponseStaffTargetAssociation_SurveyResponse] FOREIGN KEY ([Namespace], [SurveyIdentifier], [SurveyResponseIdentifier]) REFERENCES [edfi].[SurveyResponse] ([Namespace], [SurveyIdentifier], [SurveyResponseIdentifier]) GO @@ -7839,10 +7730,6 @@ ALTER TABLE [edfi].[SurveySectionResponseStaffTargetAssociation] WITH CHECK ADD REFERENCES [edfi].[Staff] ([StaffUSI]) GO -CREATE NONCLUSTERED INDEX [FK_SurveySectionResponseStaffTargetAssociation_Staff] -ON [edfi].[SurveySectionResponseStaffTargetAssociation] ([StaffUSI] ASC) -GO - ALTER TABLE [edfi].[SurveySectionResponseStaffTargetAssociation] WITH CHECK ADD CONSTRAINT [FK_SurveySectionResponseStaffTargetAssociation_SurveySectionResponse] FOREIGN KEY ([Namespace], [SurveyIdentifier], [SurveyResponseIdentifier], [SurveySectionTitle]) REFERENCES [edfi].[SurveySectionResponse] ([Namespace], [SurveyIdentifier], [SurveyResponseIdentifier], [SurveySectionTitle]) GO diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql index dd3ea99cff..15c25deea5 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql @@ -31,6 +31,13 @@ BEGIN TRANSACTION GO COMMIT +BEGIN TRANSACTION + IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssessmentAdministrationParticipation') AND name = N'UX_AssessmentAdministrationParticipation_Id') + CREATE UNIQUE NONCLUSTERED INDEX UX_AssessmentAdministrationParticipation_Id ON [edfi].[AssessmentAdministrationParticipation] + (Id) WITH (PAD_INDEX = ON, FILLFACTOR = 75, STATISTICS_NORECOMPUTE = OFF) ON [PRIMARY] + GO +COMMIT + BEGIN TRANSACTION IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssessmentBatteryPart') AND name = N'UX_AssessmentBatteryPart_Id') CREATE UNIQUE NONCLUSTERED INDEX UX_AssessmentBatteryPart_Id ON [edfi].[AssessmentBatteryPart] @@ -52,13 +59,6 @@ BEGIN TRANSACTION GO COMMIT -BEGIN TRANSACTION - IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssesssmentAdministrationParticipation') AND name = N'UX_AssesssmentAdministrationParticipation_Id') - CREATE UNIQUE NONCLUSTERED INDEX UX_AssesssmentAdministrationParticipation_Id ON [edfi].[AssesssmentAdministrationParticipation] - (Id) WITH (PAD_INDEX = ON, FILLFACTOR = 75, STATISTICS_NORECOMPUTE = OFF) ON [PRIMARY] - GO -COMMIT - BEGIN TRANSACTION IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.BalanceSheetDimension') AND name = N'UX_BalanceSheetDimension_Id') CREATE UNIQUE NONCLUSTERED INDEX UX_BalanceSheetDimension_Id ON [edfi].[BalanceSheetDimension] diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql index ba2a82426e..6498b161bb 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql @@ -151,34 +151,72 @@ GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministration', @level2type=N'COLUMN', @level2name=N'Namespace' GO --- Extended Properties [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] -- -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The anticipated dates for the assessment or administration window.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod' +-- Extended Properties [edfi].[AssessmentAdministrationAssessmentBatteryPart] -- +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A reference to the parts of the assessment battery that are offered in this administration of the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'Namespace' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the part of an assessment battery.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssessmentBatteryPartName' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'Namespace' + +-- Extended Properties [edfi].[AssessmentAdministrationParticipation] -- +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identifies the point of contact for the administration of an assessment under the purview of an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'BeginDate' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'EndDate' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'Namespace' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'ParticipatingEducationOrganizationId' GO --- Extended Properties [edfi].[AssessmentAdministrationAssessmentBatteryPart] -- -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A reference to the parts of the assessment battery that are offered in this administration of the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart' +-- Extended Properties [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] -- +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Pre-identified contacts for education organizations administering the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'Namespace' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'Namespace' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the part of an assessment battery.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssessmentBatteryPartName' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'ParticipatingEducationOrganizationId' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The email address for the contact.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'ElectronicMailAddress' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The contact''s first name.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'FirstName' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The contact''s last name.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'LastSurname' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The login ID for the user; used for security access control interface.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'LoginId' +GO + +-- Extended Properties [edfi].[AssessmentAdministrationPeriod] -- +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The anticipated dates for the assessment or administration window.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'Namespace' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'BeginDate' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'EndDate' GO -- Extended Properties [edfi].[AssessmentAssessedGradeLevel] -- @@ -485,44 +523,6 @@ GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the calendar for the academic session.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentSection', @level2type=N'COLUMN', @level2name=N'SessionName' GO --- Extended Properties [edfi].[AssesssmentAdministrationParticipation] -- -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identifies the point of contact for the administration of an assessment under the purview of an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'Namespace' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'ParticipatingEducationOrganizationId' -GO - --- Extended Properties [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] -- -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Pre-identified contacts for education organizations administering the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'Namespace' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'ParticipatingEducationOrganizationId' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The email address for the contact.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'ElectronicMailAddress' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The contact''s first name.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'FirstName' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The contact''s last name.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'LastSurname' -GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The login ID for the user; used for security access control interface.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'LoginId' -GO - -- Extended Properties [edfi].[AssignmentLateStatusDescriptor] -- EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Status of whether the assignment was submitted after the due date and/or marked as late.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssignmentLateStatusDescriptor' GO @@ -1905,6 +1905,18 @@ GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'DisplacedStudentStatusDescriptor', @level2type=N'COLUMN', @level2name=N'DisplacedStudentStatusDescriptorId' GO +-- Extended Properties [edfi].[DualCreditInstitutionDescriptor] -- +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Custom descriptor of college institutions or categories of institutions participating in the dual credit program.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'DualCreditInstitutionDescriptor' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'DualCreditInstitutionDescriptor', @level2type=N'COLUMN', @level2name=N'DualCreditInstitutionDescriptorId' +GO + +-- Extended Properties [edfi].[DualCreditTypeDescriptor] -- +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates the type of the dual credit program.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'DualCreditTypeDescriptor' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'DualCreditTypeDescriptor', @level2type=N'COLUMN', @level2name=N'DualCreditTypeDescriptorId' +GO + -- Extended Properties [edfi].[EducationalEnvironmentDescriptor] -- EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The setting in which a child receives education and related services.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'EducationalEnvironmentDescriptor' GO @@ -4559,10 +4571,10 @@ GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'When a section is part of a sequence of parts for a course, the number of the sequence. If the course has only one part, the value of this section attribute should be 1.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section', @level2type=N'COLUMN', @level2name=N'SequenceOfCourse' GO --- Extended Properties [edfi].[Section504DisabilityTypeDescriptor] -- -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This descriptor defines the reason(s) why student qualifies for Section 504 consideration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section504DisabilityTypeDescriptor' +-- Extended Properties [edfi].[Section504DisabilityDescriptor] -- +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This descriptor defines the reason(s) why student qualifies for Section 504 consideration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section504DisabilityDescriptor' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section504DisabilityTypeDescriptor', @level2type=N'COLUMN', @level2name=N'Section504DisabilityTypeDescriptorId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section504DisabilityDescriptor', @level2type=N'COLUMN', @level2name=N'Section504DisabilityDescriptorId' GO -- Extended Properties [edfi].[SectionAttendanceTakenEvent] -- @@ -5888,6 +5900,10 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The environmen GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAssessmentRegistration', @level2type=N'COLUMN', @level2name=N'ReportingEducationOrganizationId' GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAssessmentRegistration', @level2type=N'COLUMN', @level2name=N'ScheduledEducationOrganizationId' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a student.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAssessmentRegistration', @level2type=N'COLUMN', @level2name=N'ScheduledStudentUSI' +GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAssessmentRegistration', @level2type=N'COLUMN', @level2name=N'SchoolId' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAssessmentRegistration', @level2type=N'COLUMN', @level2name=N'TestingEducationOrganizationId' @@ -6273,6 +6289,20 @@ GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The role or type of participation of a student in a discipline incident.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode', @level2type=N'COLUMN', @level2name=N'DisciplineIncidentParticipationCodeDescriptorId' GO +-- Extended Properties [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] -- +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Describes behavior by category.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon', @level2type=N'COLUMN', @level2name=N'BehaviorDescriptorId' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon', @level2type=N'COLUMN', @level2name=N'IncidentIdentifier' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon', @level2type=N'COLUMN', @level2name=N'SchoolId' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a student.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon', @level2type=N'COLUMN', @level2name=N'StudentUSI' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon', @level2type=N'COLUMN', @level2name=N'WeaponDescriptorId' +GO + -- Extended Properties [edfi].[StudentDisciplineIncidentNonOffenderAssociation] -- EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This association indicates those students who were involved and not perpetrators for a discipline incident.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentNonOffenderAssociation' GO @@ -7454,7 +7484,7 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alpha GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whether student has a Section 504 accommodation plan.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSection504ProgramAssociation', @level2type=N'COLUMN', @level2name=N'AccommodationPlan' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Defines one or more disabilities student has that qualifies them for a Section 504 plan.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSection504ProgramAssociation', @level2type=N'COLUMN', @level2name=N'Section504DisabilityTypeDescriptorId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Defines one or more disabilities student has that qualifies them for a Section 504 plan.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSection504ProgramAssociation', @level2type=N'COLUMN', @level2name=N'Section504DisabilityDescriptorId' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whether student has a disability, either temporary or permenant, that qualifies student for Section 504 consideration. Selection of FALSE for this boolean is equivalent to marking student as ''Did Not Qualify''.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSection504ProgramAssociation', @level2type=N'COLUMN', @level2name=N'Section504Eligibility' GO @@ -7482,6 +7512,16 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alpha GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication of the student''s completion status for the section.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'AttemptStatusDescriptorId' GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'DualCreditEducationOrganizationId' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whether the student assigned to the section is to receive dual credit upon successful completion.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'DualCreditIndicator' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Descriptor for the postsecondary institution offering college credit. This descriptor may be used to select a postsecondary institution that is not defined as an education organization, and/or select a general type of postsecondary institution.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'DualCreditInstitutionDescriptorId' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'For a student taking a dual credit course in a college or high school setting, indicates the type of dual credit program.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'DualCreditTypeDescriptorId' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whether successful completion of the course will result in credits toward high school graduation.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'DualHighSchoolCreditIndicator' +GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Month, day, and year of the withdrawal or exit of the student from the section. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'EndDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates the section is the student''s homeroom. Homeroom period may the convention for taking daily attendance.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'HomeroomIndicator' @@ -7606,8 +7646,12 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whet GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whether the student receiving special education and related services has been designated as multiply disabled by the admission, review, and dismissal committee as aligned with federal requirements.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'MultiplyDisabled' GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Records the number of hours reduced for the shortened school day for the IEP student as compared to peers in regular education.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'ReductionInHoursPerWeekComparedToPeers' +GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicate the total number of hours of instructional time per week for the school that the student attends.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'SchoolHoursPerWeek' GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicator that the student''s IEP requires a shortened school day.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'ShortenedSchoolDayIndicator' +GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day and year on which a person stops receiving special education services.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'SpecialEducationExitDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Explanation on why a person stops receiving special education services.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'SpecialEducationExitExplained' diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql index ba2e20c19a..d5a7c94f0f 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -19,9 +19,9 @@ BEGIN CREATE INDEX IX_Assessment_EducationOrganizationId ON [edfi].[Assessment](EducationOrganizationId) INCLUDE (Id) END; -IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_AssesssmentAdministrationParticipation_AssigningEducationOrganizationId' AND object_id = OBJECT_ID('edfi.AssesssmentAdministrationParticipation')) +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId' AND object_id = OBJECT_ID('edfi.AssessmentAdministrationParticipation')) BEGIN - CREATE INDEX IX_AssesssmentAdministrationParticipation_AssigningEducationOrganizationId ON [edfi].[AssesssmentAdministrationParticipation](AssigningEducationOrganizationId) INCLUDE (Id) + CREATE INDEX IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId ON [edfi].[AssessmentAdministrationParticipation](AssigningEducationOrganizationId) INCLUDE (Id) END; IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_BellSchedule_SchoolId' AND object_id = OBJECT_ID('edfi.BellSchedule')) diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1460-AggregateIdColumns.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1460-AggregateIdColumns.sql index 92d37e466d..7ddec198ee 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1460-AggregateIdColumns.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1460-AggregateIdColumns.sql @@ -4,490 +4,490 @@ -- See the LICENSE and NOTICES files in the project root for more information. CREATE SEQUENCE [edfi].[AcademicWeek_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[AcademicWeek] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AcademicWeek_AggSeq]; +ALTER TABLE [edfi].[AcademicWeek] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AcademicWeek_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_AcademicWeek_AggregateId] ON [edfi].[AcademicWeek] (AggregateId); CREATE SEQUENCE [edfi].[AccountabilityRating_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[AccountabilityRating] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AccountabilityRating_AggSeq]; +ALTER TABLE [edfi].[AccountabilityRating] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AccountabilityRating_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_AccountabilityRating_AggregateId] ON [edfi].[AccountabilityRating] (AggregateId); CREATE SEQUENCE [edfi].[Assessment_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Assessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Assessment_AggSeq]; +ALTER TABLE [edfi].[Assessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Assessment_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Assessment_AggregateId] ON [edfi].[Assessment] (AggregateId); CREATE SEQUENCE [edfi].[AssessmentAdministration_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[AssessmentAdministration] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentAdministration_AggSeq]; +ALTER TABLE [edfi].[AssessmentAdministration] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentAdministration_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_AssessmentAdministration_AggregateId] ON [edfi].[AssessmentAdministration] (AggregateId); +CREATE SEQUENCE [edfi].[AssessmentAdministrationParticipation_AggSeq] START WITH -2147483648 INCREMENT BY 1; +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentAdministrationParticipation_AggSeq], AggregateData varbinary(8000); +CREATE INDEX [IX_AssessmentAdministrationParticipation_AggregateId] ON [edfi].[AssessmentAdministrationParticipation] (AggregateId); + CREATE SEQUENCE [edfi].[AssessmentBatteryPart_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[AssessmentBatteryPart] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentBatteryPart_AggSeq]; +ALTER TABLE [edfi].[AssessmentBatteryPart] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentBatteryPart_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_AssessmentBatteryPart_AggregateId] ON [edfi].[AssessmentBatteryPart] (AggregateId); CREATE SEQUENCE [edfi].[AssessmentItem_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[AssessmentItem] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentItem_AggSeq]; +ALTER TABLE [edfi].[AssessmentItem] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentItem_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_AssessmentItem_AggregateId] ON [edfi].[AssessmentItem] (AggregateId); CREATE SEQUENCE [edfi].[AssessmentScoreRangeLearningStandard_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[AssessmentScoreRangeLearningStandard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentScoreRangeLearningStandard_AggSeq]; +ALTER TABLE [edfi].[AssessmentScoreRangeLearningStandard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentScoreRangeLearningStandard_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_AssessmentScoreRangeLearningStandard_AggregateId] ON [edfi].[AssessmentScoreRangeLearningStandard] (AggregateId); -CREATE SEQUENCE [edfi].[AssesssmentAdministrationParticipation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssesssmentAdministrationParticipation_AggSeq]; -CREATE INDEX [IX_AssesssmentAdministrationParticipation_AggregateId] ON [edfi].[AssesssmentAdministrationParticipation] (AggregateId); - CREATE SEQUENCE [edfi].[BalanceSheetDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[BalanceSheetDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[BalanceSheetDimension_AggSeq]; +ALTER TABLE [edfi].[BalanceSheetDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[BalanceSheetDimension_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_BalanceSheetDimension_AggregateId] ON [edfi].[BalanceSheetDimension] (AggregateId); CREATE SEQUENCE [edfi].[BellSchedule_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[BellSchedule] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[BellSchedule_AggSeq]; +ALTER TABLE [edfi].[BellSchedule] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[BellSchedule_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_BellSchedule_AggregateId] ON [edfi].[BellSchedule] (AggregateId); CREATE SEQUENCE [edfi].[Calendar_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Calendar] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Calendar_AggSeq]; +ALTER TABLE [edfi].[Calendar] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Calendar_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Calendar_AggregateId] ON [edfi].[Calendar] (AggregateId); CREATE SEQUENCE [edfi].[CalendarDate_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[CalendarDate] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CalendarDate_AggSeq]; +ALTER TABLE [edfi].[CalendarDate] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CalendarDate_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_CalendarDate_AggregateId] ON [edfi].[CalendarDate] (AggregateId); CREATE SEQUENCE [edfi].[ChartOfAccount_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[ChartOfAccount] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ChartOfAccount_AggSeq]; +ALTER TABLE [edfi].[ChartOfAccount] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ChartOfAccount_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_ChartOfAccount_AggregateId] ON [edfi].[ChartOfAccount] (AggregateId); CREATE SEQUENCE [edfi].[ClassPeriod_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[ClassPeriod] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ClassPeriod_AggSeq]; +ALTER TABLE [edfi].[ClassPeriod] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ClassPeriod_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_ClassPeriod_AggregateId] ON [edfi].[ClassPeriod] (AggregateId); CREATE SEQUENCE [edfi].[Cohort_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Cohort] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Cohort_AggSeq]; +ALTER TABLE [edfi].[Cohort] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Cohort_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Cohort_AggregateId] ON [edfi].[Cohort] (AggregateId); CREATE SEQUENCE [edfi].[CommunityProviderLicense_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[CommunityProviderLicense] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CommunityProviderLicense_AggSeq]; +ALTER TABLE [edfi].[CommunityProviderLicense] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CommunityProviderLicense_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_CommunityProviderLicense_AggregateId] ON [edfi].[CommunityProviderLicense] (AggregateId); CREATE SEQUENCE [edfi].[CompetencyObjective_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[CompetencyObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CompetencyObjective_AggSeq]; +ALTER TABLE [edfi].[CompetencyObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CompetencyObjective_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_CompetencyObjective_AggregateId] ON [edfi].[CompetencyObjective] (AggregateId); CREATE SEQUENCE [edfi].[Contact_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Contact] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Contact_AggSeq]; +ALTER TABLE [edfi].[Contact] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Contact_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Contact_AggregateId] ON [edfi].[Contact] (AggregateId); CREATE SEQUENCE [edfi].[Course_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Course] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Course_AggSeq]; +ALTER TABLE [edfi].[Course] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Course_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Course_AggregateId] ON [edfi].[Course] (AggregateId); CREATE SEQUENCE [edfi].[CourseOffering_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[CourseOffering] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CourseOffering_AggSeq]; +ALTER TABLE [edfi].[CourseOffering] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CourseOffering_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_CourseOffering_AggregateId] ON [edfi].[CourseOffering] (AggregateId); CREATE SEQUENCE [edfi].[CourseTranscript_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[CourseTranscript] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CourseTranscript_AggSeq]; +ALTER TABLE [edfi].[CourseTranscript] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CourseTranscript_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_CourseTranscript_AggregateId] ON [edfi].[CourseTranscript] (AggregateId); CREATE SEQUENCE [edfi].[Credential_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Credential] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Credential_AggSeq]; +ALTER TABLE [edfi].[Credential] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Credential_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Credential_AggregateId] ON [edfi].[Credential] (AggregateId); CREATE SEQUENCE [edfi].[CrisisEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[CrisisEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CrisisEvent_AggSeq]; +ALTER TABLE [edfi].[CrisisEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CrisisEvent_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_CrisisEvent_AggregateId] ON [edfi].[CrisisEvent] (AggregateId); CREATE SEQUENCE [edfi].[Descriptor_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Descriptor] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Descriptor_AggSeq]; +ALTER TABLE [edfi].[Descriptor] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Descriptor_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Descriptor_AggregateId] ON [edfi].[Descriptor] (AggregateId); CREATE SEQUENCE [edfi].[DescriptorMapping_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[DescriptorMapping] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DescriptorMapping_AggSeq]; +ALTER TABLE [edfi].[DescriptorMapping] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DescriptorMapping_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_DescriptorMapping_AggregateId] ON [edfi].[DescriptorMapping] (AggregateId); CREATE SEQUENCE [edfi].[DisciplineAction_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[DisciplineAction] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DisciplineAction_AggSeq]; +ALTER TABLE [edfi].[DisciplineAction] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DisciplineAction_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_DisciplineAction_AggregateId] ON [edfi].[DisciplineAction] (AggregateId); CREATE SEQUENCE [edfi].[DisciplineIncident_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[DisciplineIncident] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DisciplineIncident_AggSeq]; +ALTER TABLE [edfi].[DisciplineIncident] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DisciplineIncident_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_DisciplineIncident_AggregateId] ON [edfi].[DisciplineIncident] (AggregateId); CREATE SEQUENCE [edfi].[EducationContent_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[EducationContent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationContent_AggSeq]; +ALTER TABLE [edfi].[EducationContent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationContent_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_EducationContent_AggregateId] ON [edfi].[EducationContent] (AggregateId); CREATE SEQUENCE [edfi].[EducationOrganization_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[EducationOrganization] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganization_AggSeq]; +ALTER TABLE [edfi].[EducationOrganization] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganization_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_EducationOrganization_AggregateId] ON [edfi].[EducationOrganization] (AggregateId); CREATE SEQUENCE [edfi].[EducationOrganizationInterventionPrescriptionAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[EducationOrganizationInterventionPrescriptionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationInterventionPrescriptionAssociation_AggSeq]; +ALTER TABLE [edfi].[EducationOrganizationInterventionPrescriptionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationInterventionPrescriptionAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_EducationOrganizationInterventionPrescriptionAssociation_AggregateId] ON [edfi].[EducationOrganizationInterventionPrescriptionAssociation] (AggregateId); CREATE SEQUENCE [edfi].[EducationOrganizationNetworkAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[EducationOrganizationNetworkAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationNetworkAssociation_AggSeq]; +ALTER TABLE [edfi].[EducationOrganizationNetworkAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationNetworkAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_EducationOrganizationNetworkAssociation_AggregateId] ON [edfi].[EducationOrganizationNetworkAssociation] (AggregateId); CREATE SEQUENCE [edfi].[EducationOrganizationPeerAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[EducationOrganizationPeerAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationPeerAssociation_AggSeq]; +ALTER TABLE [edfi].[EducationOrganizationPeerAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationPeerAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_EducationOrganizationPeerAssociation_AggregateId] ON [edfi].[EducationOrganizationPeerAssociation] (AggregateId); CREATE SEQUENCE [edfi].[EvaluationRubricDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[EvaluationRubricDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EvaluationRubricDimension_AggSeq]; +ALTER TABLE [edfi].[EvaluationRubricDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EvaluationRubricDimension_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_EvaluationRubricDimension_AggregateId] ON [edfi].[EvaluationRubricDimension] (AggregateId); CREATE SEQUENCE [edfi].[FeederSchoolAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[FeederSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FeederSchoolAssociation_AggSeq]; +ALTER TABLE [edfi].[FeederSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FeederSchoolAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_FeederSchoolAssociation_AggregateId] ON [edfi].[FeederSchoolAssociation] (AggregateId); CREATE SEQUENCE [edfi].[FunctionDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[FunctionDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FunctionDimension_AggSeq]; +ALTER TABLE [edfi].[FunctionDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FunctionDimension_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_FunctionDimension_AggregateId] ON [edfi].[FunctionDimension] (AggregateId); CREATE SEQUENCE [edfi].[FundDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[FundDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FundDimension_AggSeq]; +ALTER TABLE [edfi].[FundDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FundDimension_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_FundDimension_AggregateId] ON [edfi].[FundDimension] (AggregateId); CREATE SEQUENCE [edfi].[GeneralStudentProgramAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[GeneralStudentProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GeneralStudentProgramAssociation_AggSeq]; +ALTER TABLE [edfi].[GeneralStudentProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GeneralStudentProgramAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_GeneralStudentProgramAssociation_AggregateId] ON [edfi].[GeneralStudentProgramAssociation] (AggregateId); CREATE SEQUENCE [edfi].[Grade_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Grade] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Grade_AggSeq]; +ALTER TABLE [edfi].[Grade] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Grade_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Grade_AggregateId] ON [edfi].[Grade] (AggregateId); CREATE SEQUENCE [edfi].[GradebookEntry_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[GradebookEntry] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GradebookEntry_AggSeq]; +ALTER TABLE [edfi].[GradebookEntry] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GradebookEntry_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_GradebookEntry_AggregateId] ON [edfi].[GradebookEntry] (AggregateId); CREATE SEQUENCE [edfi].[GradingPeriod_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[GradingPeriod] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GradingPeriod_AggSeq]; +ALTER TABLE [edfi].[GradingPeriod] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GradingPeriod_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_GradingPeriod_AggregateId] ON [edfi].[GradingPeriod] (AggregateId); CREATE SEQUENCE [edfi].[GraduationPlan_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[GraduationPlan] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GraduationPlan_AggSeq]; +ALTER TABLE [edfi].[GraduationPlan] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GraduationPlan_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_GraduationPlan_AggregateId] ON [edfi].[GraduationPlan] (AggregateId); CREATE SEQUENCE [edfi].[Intervention_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Intervention] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Intervention_AggSeq]; +ALTER TABLE [edfi].[Intervention] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Intervention_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Intervention_AggregateId] ON [edfi].[Intervention] (AggregateId); CREATE SEQUENCE [edfi].[InterventionPrescription_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[InterventionPrescription] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[InterventionPrescription_AggSeq]; +ALTER TABLE [edfi].[InterventionPrescription] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[InterventionPrescription_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_InterventionPrescription_AggregateId] ON [edfi].[InterventionPrescription] (AggregateId); CREATE SEQUENCE [edfi].[InterventionStudy_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[InterventionStudy] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[InterventionStudy_AggSeq]; +ALTER TABLE [edfi].[InterventionStudy] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[InterventionStudy_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_InterventionStudy_AggregateId] ON [edfi].[InterventionStudy] (AggregateId); CREATE SEQUENCE [edfi].[LearningStandard_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[LearningStandard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LearningStandard_AggSeq]; +ALTER TABLE [edfi].[LearningStandard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LearningStandard_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_LearningStandard_AggregateId] ON [edfi].[LearningStandard] (AggregateId); CREATE SEQUENCE [edfi].[LearningStandardEquivalenceAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[LearningStandardEquivalenceAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LearningStandardEquivalenceAssociation_AggSeq]; +ALTER TABLE [edfi].[LearningStandardEquivalenceAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LearningStandardEquivalenceAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_LearningStandardEquivalenceAssociation_AggregateId] ON [edfi].[LearningStandardEquivalenceAssociation] (AggregateId); CREATE SEQUENCE [edfi].[LocalAccount_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[LocalAccount] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalAccount_AggSeq]; +ALTER TABLE [edfi].[LocalAccount] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalAccount_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_LocalAccount_AggregateId] ON [edfi].[LocalAccount] (AggregateId); CREATE SEQUENCE [edfi].[LocalActual_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[LocalActual] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalActual_AggSeq]; +ALTER TABLE [edfi].[LocalActual] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalActual_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_LocalActual_AggregateId] ON [edfi].[LocalActual] (AggregateId); CREATE SEQUENCE [edfi].[LocalBudget_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[LocalBudget] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalBudget_AggSeq]; +ALTER TABLE [edfi].[LocalBudget] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalBudget_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_LocalBudget_AggregateId] ON [edfi].[LocalBudget] (AggregateId); CREATE SEQUENCE [edfi].[LocalContractedStaff_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[LocalContractedStaff] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalContractedStaff_AggSeq]; +ALTER TABLE [edfi].[LocalContractedStaff] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalContractedStaff_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_LocalContractedStaff_AggregateId] ON [edfi].[LocalContractedStaff] (AggregateId); CREATE SEQUENCE [edfi].[LocalEncumbrance_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[LocalEncumbrance] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalEncumbrance_AggSeq]; +ALTER TABLE [edfi].[LocalEncumbrance] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalEncumbrance_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_LocalEncumbrance_AggregateId] ON [edfi].[LocalEncumbrance] (AggregateId); CREATE SEQUENCE [edfi].[LocalPayroll_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[LocalPayroll] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalPayroll_AggSeq]; +ALTER TABLE [edfi].[LocalPayroll] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalPayroll_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_LocalPayroll_AggregateId] ON [edfi].[LocalPayroll] (AggregateId); CREATE SEQUENCE [edfi].[Location_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Location] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Location_AggSeq]; +ALTER TABLE [edfi].[Location] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Location_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Location_AggregateId] ON [edfi].[Location] (AggregateId); CREATE SEQUENCE [edfi].[ObjectDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[ObjectDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ObjectDimension_AggSeq]; +ALTER TABLE [edfi].[ObjectDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ObjectDimension_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_ObjectDimension_AggregateId] ON [edfi].[ObjectDimension] (AggregateId); CREATE SEQUENCE [edfi].[ObjectiveAssessment_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[ObjectiveAssessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ObjectiveAssessment_AggSeq]; +ALTER TABLE [edfi].[ObjectiveAssessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ObjectiveAssessment_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_ObjectiveAssessment_AggregateId] ON [edfi].[ObjectiveAssessment] (AggregateId); CREATE SEQUENCE [edfi].[OpenStaffPosition_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[OpenStaffPosition] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[OpenStaffPosition_AggSeq]; +ALTER TABLE [edfi].[OpenStaffPosition] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[OpenStaffPosition_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_OpenStaffPosition_AggregateId] ON [edfi].[OpenStaffPosition] (AggregateId); CREATE SEQUENCE [edfi].[OperationalUnitDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[OperationalUnitDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[OperationalUnitDimension_AggSeq]; +ALTER TABLE [edfi].[OperationalUnitDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[OperationalUnitDimension_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_OperationalUnitDimension_AggregateId] ON [edfi].[OperationalUnitDimension] (AggregateId); CREATE SEQUENCE [edfi].[Person_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Person] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Person_AggSeq]; +ALTER TABLE [edfi].[Person] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Person_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Person_AggregateId] ON [edfi].[Person] (AggregateId); CREATE SEQUENCE [edfi].[PostSecondaryEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[PostSecondaryEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[PostSecondaryEvent_AggSeq]; +ALTER TABLE [edfi].[PostSecondaryEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[PostSecondaryEvent_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_PostSecondaryEvent_AggregateId] ON [edfi].[PostSecondaryEvent] (AggregateId); CREATE SEQUENCE [edfi].[Program_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Program] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Program_AggSeq]; +ALTER TABLE [edfi].[Program] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Program_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Program_AggregateId] ON [edfi].[Program] (AggregateId); CREATE SEQUENCE [edfi].[ProgramDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[ProgramDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramDimension_AggSeq]; +ALTER TABLE [edfi].[ProgramDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramDimension_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_ProgramDimension_AggregateId] ON [edfi].[ProgramDimension] (AggregateId); CREATE SEQUENCE [edfi].[ProgramEvaluation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[ProgramEvaluation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluation_AggSeq]; +ALTER TABLE [edfi].[ProgramEvaluation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_ProgramEvaluation_AggregateId] ON [edfi].[ProgramEvaluation] (AggregateId); CREATE SEQUENCE [edfi].[ProgramEvaluationElement_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[ProgramEvaluationElement] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluationElement_AggSeq]; +ALTER TABLE [edfi].[ProgramEvaluationElement] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluationElement_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_ProgramEvaluationElement_AggregateId] ON [edfi].[ProgramEvaluationElement] (AggregateId); CREATE SEQUENCE [edfi].[ProgramEvaluationObjective_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[ProgramEvaluationObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluationObjective_AggSeq]; +ALTER TABLE [edfi].[ProgramEvaluationObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluationObjective_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_ProgramEvaluationObjective_AggregateId] ON [edfi].[ProgramEvaluationObjective] (AggregateId); CREATE SEQUENCE [edfi].[ProjectDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[ProjectDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProjectDimension_AggSeq]; +ALTER TABLE [edfi].[ProjectDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProjectDimension_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_ProjectDimension_AggregateId] ON [edfi].[ProjectDimension] (AggregateId); CREATE SEQUENCE [edfi].[ReportCard_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[ReportCard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ReportCard_AggSeq]; +ALTER TABLE [edfi].[ReportCard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ReportCard_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_ReportCard_AggregateId] ON [edfi].[ReportCard] (AggregateId); CREATE SEQUENCE [edfi].[RestraintEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[RestraintEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[RestraintEvent_AggSeq]; +ALTER TABLE [edfi].[RestraintEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[RestraintEvent_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_RestraintEvent_AggregateId] ON [edfi].[RestraintEvent] (AggregateId); CREATE SEQUENCE [edfi].[SchoolYearType_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SchoolYearType] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SchoolYearType_AggSeq]; +ALTER TABLE [edfi].[SchoolYearType] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SchoolYearType_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SchoolYearType_AggregateId] ON [edfi].[SchoolYearType] (AggregateId); CREATE SEQUENCE [edfi].[Section_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Section] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Section_AggSeq]; +ALTER TABLE [edfi].[Section] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Section_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Section_AggregateId] ON [edfi].[Section] (AggregateId); CREATE SEQUENCE [edfi].[SectionAttendanceTakenEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SectionAttendanceTakenEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SectionAttendanceTakenEvent_AggSeq]; +ALTER TABLE [edfi].[SectionAttendanceTakenEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SectionAttendanceTakenEvent_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SectionAttendanceTakenEvent_AggregateId] ON [edfi].[SectionAttendanceTakenEvent] (AggregateId); CREATE SEQUENCE [edfi].[Session_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Session] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Session_AggSeq]; +ALTER TABLE [edfi].[Session] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Session_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Session_AggregateId] ON [edfi].[Session] (AggregateId); CREATE SEQUENCE [edfi].[SourceDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SourceDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SourceDimension_AggSeq]; +ALTER TABLE [edfi].[SourceDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SourceDimension_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SourceDimension_AggregateId] ON [edfi].[SourceDimension] (AggregateId); CREATE SEQUENCE [edfi].[Staff_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Staff] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Staff_AggSeq]; +ALTER TABLE [edfi].[Staff] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Staff_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Staff_AggregateId] ON [edfi].[Staff] (AggregateId); CREATE SEQUENCE [edfi].[StaffAbsenceEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StaffAbsenceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffAbsenceEvent_AggSeq]; +ALTER TABLE [edfi].[StaffAbsenceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffAbsenceEvent_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StaffAbsenceEvent_AggregateId] ON [edfi].[StaffAbsenceEvent] (AggregateId); CREATE SEQUENCE [edfi].[StaffCohortAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StaffCohortAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffCohortAssociation_AggSeq]; +ALTER TABLE [edfi].[StaffCohortAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffCohortAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StaffCohortAssociation_AggregateId] ON [edfi].[StaffCohortAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StaffDisciplineIncidentAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StaffDisciplineIncidentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffDisciplineIncidentAssociation_AggSeq]; +ALTER TABLE [edfi].[StaffDisciplineIncidentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffDisciplineIncidentAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StaffDisciplineIncidentAssociation_AggregateId] ON [edfi].[StaffDisciplineIncidentAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StaffEducationOrganizationAssignmentAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StaffEducationOrganizationAssignmentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationAssignmentAssociation_AggSeq]; +ALTER TABLE [edfi].[StaffEducationOrganizationAssignmentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationAssignmentAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StaffEducationOrganizationAssignmentAssociation_AggregateId] ON [edfi].[StaffEducationOrganizationAssignmentAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StaffEducationOrganizationContactAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StaffEducationOrganizationContactAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationContactAssociation_AggSeq]; +ALTER TABLE [edfi].[StaffEducationOrganizationContactAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationContactAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StaffEducationOrganizationContactAssociation_AggregateId] ON [edfi].[StaffEducationOrganizationContactAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StaffEducationOrganizationEmploymentAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StaffEducationOrganizationEmploymentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationEmploymentAssociation_AggSeq]; +ALTER TABLE [edfi].[StaffEducationOrganizationEmploymentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationEmploymentAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StaffEducationOrganizationEmploymentAssociation_AggregateId] ON [edfi].[StaffEducationOrganizationEmploymentAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StaffLeave_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StaffLeave] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffLeave_AggSeq]; +ALTER TABLE [edfi].[StaffLeave] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffLeave_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StaffLeave_AggregateId] ON [edfi].[StaffLeave] (AggregateId); CREATE SEQUENCE [edfi].[StaffProgramAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StaffProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffProgramAssociation_AggSeq]; +ALTER TABLE [edfi].[StaffProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffProgramAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StaffProgramAssociation_AggregateId] ON [edfi].[StaffProgramAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StaffSchoolAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StaffSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffSchoolAssociation_AggSeq]; +ALTER TABLE [edfi].[StaffSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffSchoolAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StaffSchoolAssociation_AggregateId] ON [edfi].[StaffSchoolAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StaffSectionAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StaffSectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffSectionAssociation_AggSeq]; +ALTER TABLE [edfi].[StaffSectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffSectionAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StaffSectionAssociation_AggregateId] ON [edfi].[StaffSectionAssociation] (AggregateId); CREATE SEQUENCE [edfi].[Student_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Student] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Student_AggSeq]; +ALTER TABLE [edfi].[Student] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Student_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Student_AggregateId] ON [edfi].[Student] (AggregateId); CREATE SEQUENCE [edfi].[StudentAcademicRecord_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentAcademicRecord] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAcademicRecord_AggSeq]; +ALTER TABLE [edfi].[StudentAcademicRecord] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAcademicRecord_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentAcademicRecord_AggregateId] ON [edfi].[StudentAcademicRecord] (AggregateId); CREATE SEQUENCE [edfi].[StudentAssessment_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentAssessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessment_AggSeq]; +ALTER TABLE [edfi].[StudentAssessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessment_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentAssessment_AggregateId] ON [edfi].[StudentAssessment] (AggregateId); CREATE SEQUENCE [edfi].[StudentAssessmentEducationOrganizationAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentAssessmentEducationOrganizationAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentEducationOrganizationAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentAssessmentEducationOrganizationAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentEducationOrganizationAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentAssessmentEducationOrganizationAssociation_AggregateId] ON [edfi].[StudentAssessmentEducationOrganizationAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentAssessmentRegistration_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentAssessmentRegistration] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentRegistration_AggSeq]; +ALTER TABLE [edfi].[StudentAssessmentRegistration] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentRegistration_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentAssessmentRegistration_AggregateId] ON [edfi].[StudentAssessmentRegistration] (AggregateId); CREATE SEQUENCE [edfi].[StudentAssessmentRegistrationBatteryPartAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentAssessmentRegistrationBatteryPartAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentRegistrationBatteryPartAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentAssessmentRegistrationBatteryPartAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentRegistrationBatteryPartAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentAssessmentRegistrationBatteryPartAssociation_AggregateId] ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentCohortAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentCohortAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentCohortAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentCohortAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentCohortAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentCohortAssociation_AggregateId] ON [edfi].[StudentCohortAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentCompetencyObjective_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentCompetencyObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentCompetencyObjective_AggSeq]; +ALTER TABLE [edfi].[StudentCompetencyObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentCompetencyObjective_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentCompetencyObjective_AggregateId] ON [edfi].[StudentCompetencyObjective] (AggregateId); CREATE SEQUENCE [edfi].[StudentContactAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentContactAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentContactAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentContactAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentContactAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentContactAssociation_AggregateId] ON [edfi].[StudentContactAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentDisciplineIncidentBehaviorAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentDisciplineIncidentBehaviorAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentDisciplineIncidentBehaviorAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentDisciplineIncidentBehaviorAssociation_AggregateId] ON [edfi].[StudentDisciplineIncidentBehaviorAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentDisciplineIncidentNonOffenderAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentDisciplineIncidentNonOffenderAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentDisciplineIncidentNonOffenderAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentDisciplineIncidentNonOffenderAssociation_AggregateId] ON [edfi].[StudentDisciplineIncidentNonOffenderAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentEducationOrganizationAssessmentAccommodation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentEducationOrganizationAssessmentAccommodation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationAssessmentAccommodation_AggSeq]; +ALTER TABLE [edfi].[StudentEducationOrganizationAssessmentAccommodation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationAssessmentAccommodation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentEducationOrganizationAssessmentAccommodation_AggregateId] ON [edfi].[StudentEducationOrganizationAssessmentAccommodation] (AggregateId); CREATE SEQUENCE [edfi].[StudentEducationOrganizationAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentEducationOrganizationAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentEducationOrganizationAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentEducationOrganizationAssociation_AggregateId] ON [edfi].[StudentEducationOrganizationAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentEducationOrganizationResponsibilityAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentEducationOrganizationResponsibilityAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationResponsibilityAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentEducationOrganizationResponsibilityAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationResponsibilityAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentEducationOrganizationResponsibilityAssociation_AggregateId] ON [edfi].[StudentEducationOrganizationResponsibilityAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentGradebookEntry_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentGradebookEntry] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentGradebookEntry_AggSeq]; +ALTER TABLE [edfi].[StudentGradebookEntry] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentGradebookEntry_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentGradebookEntry_AggregateId] ON [edfi].[StudentGradebookEntry] (AggregateId); CREATE SEQUENCE [edfi].[StudentHealth_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentHealth] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentHealth_AggSeq]; +ALTER TABLE [edfi].[StudentHealth] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentHealth_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentHealth_AggregateId] ON [edfi].[StudentHealth] (AggregateId); CREATE SEQUENCE [edfi].[StudentInterventionAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentInterventionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentInterventionAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentInterventionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentInterventionAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentInterventionAssociation_AggregateId] ON [edfi].[StudentInterventionAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentInterventionAttendanceEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentInterventionAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentInterventionAttendanceEvent_AggSeq]; +ALTER TABLE [edfi].[StudentInterventionAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentInterventionAttendanceEvent_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentInterventionAttendanceEvent_AggregateId] ON [edfi].[StudentInterventionAttendanceEvent] (AggregateId); CREATE SEQUENCE [edfi].[StudentProgramAttendanceEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentProgramAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentProgramAttendanceEvent_AggSeq]; +ALTER TABLE [edfi].[StudentProgramAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentProgramAttendanceEvent_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentProgramAttendanceEvent_AggregateId] ON [edfi].[StudentProgramAttendanceEvent] (AggregateId); CREATE SEQUENCE [edfi].[StudentProgramEvaluation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentProgramEvaluation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentProgramEvaluation_AggSeq]; +ALTER TABLE [edfi].[StudentProgramEvaluation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentProgramEvaluation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentProgramEvaluation_AggregateId] ON [edfi].[StudentProgramEvaluation] (AggregateId); CREATE SEQUENCE [edfi].[StudentSchoolAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSchoolAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSchoolAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentSchoolAssociation_AggregateId] ON [edfi].[StudentSchoolAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentSchoolAttendanceEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentSchoolAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSchoolAttendanceEvent_AggSeq]; +ALTER TABLE [edfi].[StudentSchoolAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSchoolAttendanceEvent_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentSchoolAttendanceEvent_AggregateId] ON [edfi].[StudentSchoolAttendanceEvent] (AggregateId); CREATE SEQUENCE [edfi].[StudentSectionAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentSectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSectionAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentSectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSectionAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentSectionAssociation_AggregateId] ON [edfi].[StudentSectionAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentSectionAttendanceEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentSectionAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSectionAttendanceEvent_AggSeq]; +ALTER TABLE [edfi].[StudentSectionAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSectionAttendanceEvent_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentSectionAttendanceEvent_AggregateId] ON [edfi].[StudentSectionAttendanceEvent] (AggregateId); CREATE SEQUENCE [edfi].[StudentSpecialEducationProgramEligibilityAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentSpecialEducationProgramEligibilityAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSpecialEducationProgramEligibilityAssociation_AggSeq]; +ALTER TABLE [edfi].[StudentSpecialEducationProgramEligibilityAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSpecialEducationProgramEligibilityAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentSpecialEducationProgramEligibilityAssociation_AggregateId] ON [edfi].[StudentSpecialEducationProgramEligibilityAssociation] (AggregateId); CREATE SEQUENCE [edfi].[StudentTransportation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[StudentTransportation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentTransportation_AggSeq]; +ALTER TABLE [edfi].[StudentTransportation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentTransportation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_StudentTransportation_AggregateId] ON [edfi].[StudentTransportation] (AggregateId); CREATE SEQUENCE [edfi].[Survey_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[Survey] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Survey_AggSeq]; +ALTER TABLE [edfi].[Survey] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Survey_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_Survey_AggregateId] ON [edfi].[Survey] (AggregateId); CREATE SEQUENCE [edfi].[SurveyCourseAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveyCourseAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyCourseAssociation_AggSeq]; +ALTER TABLE [edfi].[SurveyCourseAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyCourseAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveyCourseAssociation_AggregateId] ON [edfi].[SurveyCourseAssociation] (AggregateId); CREATE SEQUENCE [edfi].[SurveyProgramAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveyProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyProgramAssociation_AggSeq]; +ALTER TABLE [edfi].[SurveyProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyProgramAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveyProgramAssociation_AggregateId] ON [edfi].[SurveyProgramAssociation] (AggregateId); CREATE SEQUENCE [edfi].[SurveyQuestion_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveyQuestion] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyQuestion_AggSeq]; +ALTER TABLE [edfi].[SurveyQuestion] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyQuestion_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveyQuestion_AggregateId] ON [edfi].[SurveyQuestion] (AggregateId); CREATE SEQUENCE [edfi].[SurveyQuestionResponse_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveyQuestionResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyQuestionResponse_AggSeq]; +ALTER TABLE [edfi].[SurveyQuestionResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyQuestionResponse_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveyQuestionResponse_AggregateId] ON [edfi].[SurveyQuestionResponse] (AggregateId); CREATE SEQUENCE [edfi].[SurveyResponse_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveyResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponse_AggSeq]; +ALTER TABLE [edfi].[SurveyResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponse_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveyResponse_AggregateId] ON [edfi].[SurveyResponse] (AggregateId); CREATE SEQUENCE [edfi].[SurveyResponseEducationOrganizationTargetAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveyResponseEducationOrganizationTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponseEducationOrganizationTargetAssociation_AggSeq]; +ALTER TABLE [edfi].[SurveyResponseEducationOrganizationTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponseEducationOrganizationTargetAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveyResponseEducationOrganizationTargetAssociation_AggregateId] ON [edfi].[SurveyResponseEducationOrganizationTargetAssociation] (AggregateId); CREATE SEQUENCE [edfi].[SurveyResponseStaffTargetAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveyResponseStaffTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponseStaffTargetAssociation_AggSeq]; +ALTER TABLE [edfi].[SurveyResponseStaffTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponseStaffTargetAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveyResponseStaffTargetAssociation_AggregateId] ON [edfi].[SurveyResponseStaffTargetAssociation] (AggregateId); CREATE SEQUENCE [edfi].[SurveySection_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveySection] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySection_AggSeq]; +ALTER TABLE [edfi].[SurveySection] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySection_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveySection_AggregateId] ON [edfi].[SurveySection] (AggregateId); CREATE SEQUENCE [edfi].[SurveySectionAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveySectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionAssociation_AggSeq]; +ALTER TABLE [edfi].[SurveySectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveySectionAssociation_AggregateId] ON [edfi].[SurveySectionAssociation] (AggregateId); CREATE SEQUENCE [edfi].[SurveySectionResponse_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveySectionResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponse_AggSeq]; +ALTER TABLE [edfi].[SurveySectionResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponse_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveySectionResponse_AggregateId] ON [edfi].[SurveySectionResponse] (AggregateId); CREATE SEQUENCE [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation_AggSeq]; +ALTER TABLE [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveySectionResponseEducationOrganizationTargetAssociation_AggregateId] ON [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation] (AggregateId); CREATE SEQUENCE [edfi].[SurveySectionResponseStaffTargetAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1; -ALTER TABLE [edfi].[SurveySectionResponseStaffTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponseStaffTargetAssociation_AggSeq]; +ALTER TABLE [edfi].[SurveySectionResponseStaffTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponseStaffTargetAssociation_AggSeq], AggregateData varbinary(8000); CREATE INDEX [IX_SurveySectionResponseStaffTargetAssociation_AggregateId] ON [edfi].[SurveySectionResponseStaffTargetAssociation] (AggregateId); diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql new file mode 100644 index 0000000000..f813f21715 --- /dev/null +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -0,0 +1,551 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + + +DROP INDEX IF EXISTS IX_AcademicWeek_SchoolId ON [edfi].[AcademicWeek]; +CREATE INDEX IX_AcademicWeek_SchoolId ON [edfi].[AcademicWeek](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_AccountabilityRating_EducationOrganizationId ON [edfi].[AccountabilityRating]; +CREATE INDEX IX_AccountabilityRating_EducationOrganizationId ON [edfi].[AccountabilityRating](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Assessment_EducationOrganizationId ON [edfi].[Assessment]; +CREATE INDEX IX_Assessment_EducationOrganizationId ON [edfi].[Assessment](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId ON [edfi].[AssessmentAdministrationParticipation]; +CREATE INDEX IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId ON [edfi].[AssessmentAdministrationParticipation](AssigningEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_BellSchedule_SchoolId ON [edfi].[BellSchedule]; +CREATE INDEX IX_BellSchedule_SchoolId ON [edfi].[BellSchedule](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Calendar_SchoolId ON [edfi].[Calendar]; +CREATE INDEX IX_Calendar_SchoolId ON [edfi].[Calendar](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CalendarDate_SchoolId ON [edfi].[CalendarDate]; +CREATE INDEX IX_CalendarDate_SchoolId ON [edfi].[CalendarDate](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_ChartOfAccount_EducationOrganizationId ON [edfi].[ChartOfAccount]; +CREATE INDEX IX_ChartOfAccount_EducationOrganizationId ON [edfi].[ChartOfAccount](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_ClassPeriod_SchoolId ON [edfi].[ClassPeriod]; +CREATE INDEX IX_ClassPeriod_SchoolId ON [edfi].[ClassPeriod](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Cohort_EducationOrganizationId ON [edfi].[Cohort]; +CREATE INDEX IX_Cohort_EducationOrganizationId ON [edfi].[Cohort](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CommunityProviderLicense_CommunityProviderId ON [edfi].[CommunityProviderLicense]; +CREATE INDEX IX_CommunityProviderLicense_CommunityProviderId ON [edfi].[CommunityProviderLicense](CommunityProviderId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CompetencyObjective_EducationOrganizationId ON [edfi].[CompetencyObjective]; +CREATE INDEX IX_CompetencyObjective_EducationOrganizationId ON [edfi].[CompetencyObjective](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_Contact_ContactUSI' AND object_id = OBJECT_ID('edfi.Contact')) +BEGIN + CREATE INDEX IX_Contact_ContactUSI ON [edfi].[Contact](ContactUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_Course_EducationOrganizationId ON [edfi].[Course]; +CREATE INDEX IX_Course_EducationOrganizationId ON [edfi].[Course](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CourseOffering_SchoolId ON [edfi].[CourseOffering]; +CREATE INDEX IX_CourseOffering_SchoolId ON [edfi].[CourseOffering](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CourseOffering_EducationOrganizationId ON [edfi].[CourseOffering]; +CREATE INDEX IX_CourseOffering_EducationOrganizationId ON [edfi].[CourseOffering](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CourseTranscript_EducationOrganizationId ON [edfi].[CourseTranscript]; +CREATE INDEX IX_CourseTranscript_EducationOrganizationId ON [edfi].[CourseTranscript](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_CourseTranscript_StudentUSI' AND object_id = OBJECT_ID('edfi.CourseTranscript')) +BEGIN + CREATE INDEX IX_CourseTranscript_StudentUSI ON [edfi].[CourseTranscript](StudentUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_CourseTranscript_ResponsibleTeacherStaffUSI' AND object_id = OBJECT_ID('edfi.CourseTranscript')) +BEGIN + CREATE INDEX IX_CourseTranscript_ResponsibleTeacherStaffUSI ON [edfi].[CourseTranscript](ResponsibleTeacherStaffUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_DisciplineAction_StudentUSI' AND object_id = OBJECT_ID('edfi.DisciplineAction')) +BEGIN + CREATE INDEX IX_DisciplineAction_StudentUSI ON [edfi].[DisciplineAction](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_DisciplineIncident_SchoolId ON [edfi].[DisciplineIncident]; +CREATE INDEX IX_DisciplineIncident_SchoolId ON [edfi].[DisciplineIncident](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_EducationOrganization_EducationOrganizationId ON [edfi].[EducationOrganization]; +CREATE INDEX IX_EducationOrganization_EducationOrganizationId ON [edfi].[EducationOrganization](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_EducationOrganizationInterventionPrescriptionAssociation_EducationOrganizationId ON [edfi].[EducationOrganizationInterventionPrescriptionAssociation]; +CREATE INDEX IX_EducationOrganizationInterventionPrescriptionAssociation_EducationOrganizationId ON [edfi].[EducationOrganizationInterventionPrescriptionAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_EducationOrganizationNetworkAssociation_EducationOrganizationNetworkId ON [edfi].[EducationOrganizationNetworkAssociation]; +CREATE INDEX IX_EducationOrganizationNetworkAssociation_EducationOrganizationNetworkId ON [edfi].[EducationOrganizationNetworkAssociation](EducationOrganizationNetworkId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_EducationOrganizationPeerAssociation_EducationOrganizationId ON [edfi].[EducationOrganizationPeerAssociation]; +CREATE INDEX IX_EducationOrganizationPeerAssociation_EducationOrganizationId ON [edfi].[EducationOrganizationPeerAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_EvaluationRubricDimension_ProgramEducationOrganizationId ON [edfi].[EvaluationRubricDimension]; +CREATE INDEX IX_EvaluationRubricDimension_ProgramEducationOrganizationId ON [edfi].[EvaluationRubricDimension](ProgramEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_FeederSchoolAssociation_SchoolId ON [edfi].[FeederSchoolAssociation]; +CREATE INDEX IX_FeederSchoolAssociation_SchoolId ON [edfi].[FeederSchoolAssociation](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_GeneralStudentProgramAssociation_EducationOrganizationId ON [edfi].[GeneralStudentProgramAssociation]; +CREATE INDEX IX_GeneralStudentProgramAssociation_EducationOrganizationId ON [edfi].[GeneralStudentProgramAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_GeneralStudentProgramAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.GeneralStudentProgramAssociation')) +BEGIN + CREATE INDEX IX_GeneralStudentProgramAssociation_StudentUSI ON [edfi].[GeneralStudentProgramAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_Grade_SchoolId ON [edfi].[Grade]; +CREATE INDEX IX_Grade_SchoolId ON [edfi].[Grade](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_Grade_StudentUSI' AND object_id = OBJECT_ID('edfi.Grade')) +BEGIN + CREATE INDEX IX_Grade_StudentUSI ON [edfi].[Grade](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_GradebookEntry_SchoolId ON [edfi].[GradebookEntry]; +CREATE INDEX IX_GradebookEntry_SchoolId ON [edfi].[GradebookEntry](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_GradingPeriod_SchoolId ON [edfi].[GradingPeriod]; +CREATE INDEX IX_GradingPeriod_SchoolId ON [edfi].[GradingPeriod](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_GraduationPlan_EducationOrganizationId ON [edfi].[GraduationPlan]; +CREATE INDEX IX_GraduationPlan_EducationOrganizationId ON [edfi].[GraduationPlan](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Intervention_EducationOrganizationId ON [edfi].[Intervention]; +CREATE INDEX IX_Intervention_EducationOrganizationId ON [edfi].[Intervention](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_InterventionPrescription_EducationOrganizationId ON [edfi].[InterventionPrescription]; +CREATE INDEX IX_InterventionPrescription_EducationOrganizationId ON [edfi].[InterventionPrescription](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_InterventionStudy_EducationOrganizationId ON [edfi].[InterventionStudy]; +CREATE INDEX IX_InterventionStudy_EducationOrganizationId ON [edfi].[InterventionStudy](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalAccount_EducationOrganizationId ON [edfi].[LocalAccount]; +CREATE INDEX IX_LocalAccount_EducationOrganizationId ON [edfi].[LocalAccount](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalActual_EducationOrganizationId ON [edfi].[LocalActual]; +CREATE INDEX IX_LocalActual_EducationOrganizationId ON [edfi].[LocalActual](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalBudget_EducationOrganizationId ON [edfi].[LocalBudget]; +CREATE INDEX IX_LocalBudget_EducationOrganizationId ON [edfi].[LocalBudget](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalContractedStaff_EducationOrganizationId ON [edfi].[LocalContractedStaff]; +CREATE INDEX IX_LocalContractedStaff_EducationOrganizationId ON [edfi].[LocalContractedStaff](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_LocalContractedStaff_StaffUSI' AND object_id = OBJECT_ID('edfi.LocalContractedStaff')) +BEGIN + CREATE INDEX IX_LocalContractedStaff_StaffUSI ON [edfi].[LocalContractedStaff](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_LocalEncumbrance_EducationOrganizationId ON [edfi].[LocalEncumbrance]; +CREATE INDEX IX_LocalEncumbrance_EducationOrganizationId ON [edfi].[LocalEncumbrance](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalPayroll_EducationOrganizationId ON [edfi].[LocalPayroll]; +CREATE INDEX IX_LocalPayroll_EducationOrganizationId ON [edfi].[LocalPayroll](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_LocalPayroll_StaffUSI' AND object_id = OBJECT_ID('edfi.LocalPayroll')) +BEGIN + CREATE INDEX IX_LocalPayroll_StaffUSI ON [edfi].[LocalPayroll](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_Location_SchoolId ON [edfi].[Location]; +CREATE INDEX IX_Location_SchoolId ON [edfi].[Location](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_OpenStaffPosition_EducationOrganizationId ON [edfi].[OpenStaffPosition]; +CREATE INDEX IX_OpenStaffPosition_EducationOrganizationId ON [edfi].[OpenStaffPosition](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_PostSecondaryEvent_PostSecondaryInstitutionId ON [edfi].[PostSecondaryEvent]; +CREATE INDEX IX_PostSecondaryEvent_PostSecondaryInstitutionId ON [edfi].[PostSecondaryEvent](PostSecondaryInstitutionId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_PostSecondaryEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.PostSecondaryEvent')) +BEGIN + CREATE INDEX IX_PostSecondaryEvent_StudentUSI ON [edfi].[PostSecondaryEvent](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_Program_EducationOrganizationId ON [edfi].[Program]; +CREATE INDEX IX_Program_EducationOrganizationId ON [edfi].[Program](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_ProgramEvaluationElement_ProgramEducationOrganizationId ON [edfi].[ProgramEvaluationElement]; +CREATE INDEX IX_ProgramEvaluationElement_ProgramEducationOrganizationId ON [edfi].[ProgramEvaluationElement](ProgramEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_ProgramEvaluationObjective_ProgramEducationOrganizationId ON [edfi].[ProgramEvaluationObjective]; +CREATE INDEX IX_ProgramEvaluationObjective_ProgramEducationOrganizationId ON [edfi].[ProgramEvaluationObjective](ProgramEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_ReportCard_EducationOrganizationId ON [edfi].[ReportCard]; +CREATE INDEX IX_ReportCard_EducationOrganizationId ON [edfi].[ReportCard](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_ReportCard_StudentUSI' AND object_id = OBJECT_ID('edfi.ReportCard')) +BEGIN + CREATE INDEX IX_ReportCard_StudentUSI ON [edfi].[ReportCard](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_RestraintEvent_SchoolId ON [edfi].[RestraintEvent]; +CREATE INDEX IX_RestraintEvent_SchoolId ON [edfi].[RestraintEvent](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_RestraintEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.RestraintEvent')) +BEGIN + CREATE INDEX IX_RestraintEvent_StudentUSI ON [edfi].[RestraintEvent](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_Section_SchoolId ON [edfi].[Section]; +CREATE INDEX IX_Section_SchoolId ON [edfi].[Section](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_SectionAttendanceTakenEvent_SchoolId ON [edfi].[SectionAttendanceTakenEvent]; +CREATE INDEX IX_SectionAttendanceTakenEvent_SchoolId ON [edfi].[SectionAttendanceTakenEvent](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SectionAttendanceTakenEvent_StaffUSI' AND object_id = OBJECT_ID('edfi.SectionAttendanceTakenEvent')) +BEGIN + CREATE INDEX IX_SectionAttendanceTakenEvent_StaffUSI ON [edfi].[SectionAttendanceTakenEvent](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_Session_SchoolId ON [edfi].[Session]; +CREATE INDEX IX_Session_SchoolId ON [edfi].[Session](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_Staff_StaffUSI' AND object_id = OBJECT_ID('edfi.Staff')) +BEGIN + CREATE INDEX IX_Staff_StaffUSI ON [edfi].[Staff](StaffUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffAbsenceEvent_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffAbsenceEvent')) +BEGIN + CREATE INDEX IX_StaffAbsenceEvent_StaffUSI ON [edfi].[StaffAbsenceEvent](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StaffCohortAssociation_EducationOrganizationId ON [edfi].[StaffCohortAssociation]; +CREATE INDEX IX_StaffCohortAssociation_EducationOrganizationId ON [edfi].[StaffCohortAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffCohortAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffCohortAssociation')) +BEGIN + CREATE INDEX IX_StaffCohortAssociation_StaffUSI ON [edfi].[StaffCohortAssociation](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StaffDisciplineIncidentAssociation_SchoolId ON [edfi].[StaffDisciplineIncidentAssociation]; +CREATE INDEX IX_StaffDisciplineIncidentAssociation_SchoolId ON [edfi].[StaffDisciplineIncidentAssociation](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffDisciplineIncidentAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffDisciplineIncidentAssociation')) +BEGIN + CREATE INDEX IX_StaffDisciplineIncidentAssociation_StaffUSI ON [edfi].[StaffDisciplineIncidentAssociation](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StaffEducationOrganizationAssignmentAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationAssignmentAssociation]; +CREATE INDEX IX_StaffEducationOrganizationAssignmentAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationAssignmentAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffEducationOrganizationAssignmentAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffEducationOrganizationAssignmentAssociation')) +BEGIN + CREATE INDEX IX_StaffEducationOrganizationAssignmentAssociation_StaffUSI ON [edfi].[StaffEducationOrganizationAssignmentAssociation](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StaffEducationOrganizationContactAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationContactAssociation]; +CREATE INDEX IX_StaffEducationOrganizationContactAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationContactAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffEducationOrganizationContactAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffEducationOrganizationContactAssociation')) +BEGIN + CREATE INDEX IX_StaffEducationOrganizationContactAssociation_StaffUSI ON [edfi].[StaffEducationOrganizationContactAssociation](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StaffEducationOrganizationEmploymentAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationEmploymentAssociation]; +CREATE INDEX IX_StaffEducationOrganizationEmploymentAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationEmploymentAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffEducationOrganizationEmploymentAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffEducationOrganizationEmploymentAssociation')) +BEGIN + CREATE INDEX IX_StaffEducationOrganizationEmploymentAssociation_StaffUSI ON [edfi].[StaffEducationOrganizationEmploymentAssociation](StaffUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffLeave_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffLeave')) +BEGIN + CREATE INDEX IX_StaffLeave_StaffUSI ON [edfi].[StaffLeave](StaffUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffProgramAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffProgramAssociation')) +BEGIN + CREATE INDEX IX_StaffProgramAssociation_StaffUSI ON [edfi].[StaffProgramAssociation](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StaffSchoolAssociation_SchoolId ON [edfi].[StaffSchoolAssociation]; +CREATE INDEX IX_StaffSchoolAssociation_SchoolId ON [edfi].[StaffSchoolAssociation](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffSchoolAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffSchoolAssociation')) +BEGIN + CREATE INDEX IX_StaffSchoolAssociation_StaffUSI ON [edfi].[StaffSchoolAssociation](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StaffSectionAssociation_SchoolId ON [edfi].[StaffSectionAssociation]; +CREATE INDEX IX_StaffSectionAssociation_SchoolId ON [edfi].[StaffSectionAssociation](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffSectionAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffSectionAssociation')) +BEGIN + CREATE INDEX IX_StaffSectionAssociation_StaffUSI ON [edfi].[StaffSectionAssociation](StaffUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_Student_StudentUSI' AND object_id = OBJECT_ID('edfi.Student')) +BEGIN + CREATE INDEX IX_Student_StudentUSI ON [edfi].[Student](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentAcademicRecord_EducationOrganizationId ON [edfi].[StudentAcademicRecord]; +CREATE INDEX IX_StudentAcademicRecord_EducationOrganizationId ON [edfi].[StudentAcademicRecord](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAcademicRecord_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentAcademicRecord')) +BEGIN + CREATE INDEX IX_StudentAcademicRecord_StudentUSI ON [edfi].[StudentAcademicRecord](StudentUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAssessment_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentAssessment')) +BEGIN + CREATE INDEX IX_StudentAssessment_StudentUSI ON [edfi].[StudentAssessment](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentAssessmentEducationOrganizationAssociation_EducationOrganizationId ON [edfi].[StudentAssessmentEducationOrganizationAssociation]; +CREATE INDEX IX_StudentAssessmentEducationOrganizationAssociation_EducationOrganizationId ON [edfi].[StudentAssessmentEducationOrganizationAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAssessmentEducationOrganizationAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentAssessmentEducationOrganizationAssociation')) +BEGIN + CREATE INDEX IX_StudentAssessmentEducationOrganizationAssociation_StudentUSI ON [edfi].[StudentAssessmentEducationOrganizationAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_AssigningEducationOrganizationId ON [edfi].[StudentAssessmentRegistration]; +CREATE INDEX IX_StudentAssessmentRegistration_AssigningEducationOrganizationId ON [edfi].[StudentAssessmentRegistration](AssigningEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_EducationOrganizationId ON [edfi].[StudentAssessmentRegistration]; +CREATE INDEX IX_StudentAssessmentRegistration_EducationOrganizationId ON [edfi].[StudentAssessmentRegistration](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_SchoolId ON [edfi].[StudentAssessmentRegistration]; +CREATE INDEX IX_StudentAssessmentRegistration_SchoolId ON [edfi].[StudentAssessmentRegistration](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAssessmentRegistration_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentAssessmentRegistration')) +BEGIN + CREATE INDEX IX_StudentAssessmentRegistration_StudentUSI ON [edfi].[StudentAssessmentRegistration](StudentUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAssessmentRegistration_ScheduledStudentUSI' AND object_id = OBJECT_ID('edfi.StudentAssessmentRegistration')) +BEGIN + CREATE INDEX IX_StudentAssessmentRegistration_ScheduledStudentUSI ON [edfi].[StudentAssessmentRegistration](ScheduledStudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_AssigningEducationOrganizationId ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation]; +CREATE INDEX IX_StudentAssessmentRegistrationBatteryPartAssociation_AssigningEducationOrganizationId ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation](AssigningEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_EducationOrganizationId ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation]; +CREATE INDEX IX_StudentAssessmentRegistrationBatteryPartAssociation_EducationOrganizationId ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAssessmentRegistrationBatteryPartAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentAssessmentRegistrationBatteryPartAssociation')) +BEGIN + CREATE INDEX IX_StudentAssessmentRegistrationBatteryPartAssociation_StudentUSI ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentCohortAssociation_EducationOrganizationId ON [edfi].[StudentCohortAssociation]; +CREATE INDEX IX_StudentCohortAssociation_EducationOrganizationId ON [edfi].[StudentCohortAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentCohortAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentCohortAssociation')) +BEGIN + CREATE INDEX IX_StudentCohortAssociation_StudentUSI ON [edfi].[StudentCohortAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentCompetencyObjective_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentCompetencyObjective')) +BEGIN + CREATE INDEX IX_StudentCompetencyObjective_StudentUSI ON [edfi].[StudentCompetencyObjective](StudentUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentContactAssociation_ContactUSI' AND object_id = OBJECT_ID('edfi.StudentContactAssociation')) +BEGIN + CREATE INDEX IX_StudentContactAssociation_ContactUSI ON [edfi].[StudentContactAssociation](ContactUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentContactAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentContactAssociation')) +BEGIN + CREATE INDEX IX_StudentContactAssociation_StudentUSI ON [edfi].[StudentContactAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentDisciplineIncidentBehaviorAssociation_SchoolId ON [edfi].[StudentDisciplineIncidentBehaviorAssociation]; +CREATE INDEX IX_StudentDisciplineIncidentBehaviorAssociation_SchoolId ON [edfi].[StudentDisciplineIncidentBehaviorAssociation](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentDisciplineIncidentBehaviorAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentDisciplineIncidentBehaviorAssociation')) +BEGIN + CREATE INDEX IX_StudentDisciplineIncidentBehaviorAssociation_StudentUSI ON [edfi].[StudentDisciplineIncidentBehaviorAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentDisciplineIncidentNonOffenderAssociation_SchoolId ON [edfi].[StudentDisciplineIncidentNonOffenderAssociation]; +CREATE INDEX IX_StudentDisciplineIncidentNonOffenderAssociation_SchoolId ON [edfi].[StudentDisciplineIncidentNonOffenderAssociation](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentDisciplineIncidentNonOffenderAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentDisciplineIncidentNonOffenderAssociation')) +BEGIN + CREATE INDEX IX_StudentDisciplineIncidentNonOffenderAssociation_StudentUSI ON [edfi].[StudentDisciplineIncidentNonOffenderAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentEducationOrganizationAssessmentAccommodation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationAssessmentAccommodation]; +CREATE INDEX IX_StudentEducationOrganizationAssessmentAccommodation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationAssessmentAccommodation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentEducationOrganizationAssessmentAccommodation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentEducationOrganizationAssessmentAccommodation')) +BEGIN + CREATE INDEX IX_StudentEducationOrganizationAssessmentAccommodation_StudentUSI ON [edfi].[StudentEducationOrganizationAssessmentAccommodation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentEducationOrganizationAssociation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationAssociation]; +CREATE INDEX IX_StudentEducationOrganizationAssociation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentEducationOrganizationAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentEducationOrganizationAssociation')) +BEGIN + CREATE INDEX IX_StudentEducationOrganizationAssociation_StudentUSI ON [edfi].[StudentEducationOrganizationAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentEducationOrganizationResponsibilityAssociation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationResponsibilityAssociation]; +CREATE INDEX IX_StudentEducationOrganizationResponsibilityAssociation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationResponsibilityAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentEducationOrganizationResponsibilityAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentEducationOrganizationResponsibilityAssociation')) +BEGIN + CREATE INDEX IX_StudentEducationOrganizationResponsibilityAssociation_StudentUSI ON [edfi].[StudentEducationOrganizationResponsibilityAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentGradebookEntry_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentGradebookEntry')) +BEGIN + CREATE INDEX IX_StudentGradebookEntry_StudentUSI ON [edfi].[StudentGradebookEntry](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentHealth_EducationOrganizationId ON [edfi].[StudentHealth]; +CREATE INDEX IX_StudentHealth_EducationOrganizationId ON [edfi].[StudentHealth](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentHealth_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentHealth')) +BEGIN + CREATE INDEX IX_StudentHealth_StudentUSI ON [edfi].[StudentHealth](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentInterventionAssociation_EducationOrganizationId ON [edfi].[StudentInterventionAssociation]; +CREATE INDEX IX_StudentInterventionAssociation_EducationOrganizationId ON [edfi].[StudentInterventionAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentInterventionAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentInterventionAssociation')) +BEGIN + CREATE INDEX IX_StudentInterventionAssociation_StudentUSI ON [edfi].[StudentInterventionAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentInterventionAttendanceEvent_EducationOrganizationId ON [edfi].[StudentInterventionAttendanceEvent]; +CREATE INDEX IX_StudentInterventionAttendanceEvent_EducationOrganizationId ON [edfi].[StudentInterventionAttendanceEvent](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentInterventionAttendanceEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentInterventionAttendanceEvent')) +BEGIN + CREATE INDEX IX_StudentInterventionAttendanceEvent_StudentUSI ON [edfi].[StudentInterventionAttendanceEvent](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentProgramAttendanceEvent_EducationOrganizationId ON [edfi].[StudentProgramAttendanceEvent]; +CREATE INDEX IX_StudentProgramAttendanceEvent_EducationOrganizationId ON [edfi].[StudentProgramAttendanceEvent](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentProgramAttendanceEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentProgramAttendanceEvent')) +BEGIN + CREATE INDEX IX_StudentProgramAttendanceEvent_StudentUSI ON [edfi].[StudentProgramAttendanceEvent](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentProgramEvaluation_ProgramEducationOrganizationId ON [edfi].[StudentProgramEvaluation]; +CREATE INDEX IX_StudentProgramEvaluation_ProgramEducationOrganizationId ON [edfi].[StudentProgramEvaluation](ProgramEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentProgramEvaluation_EducationOrganizationId ON [edfi].[StudentProgramEvaluation]; +CREATE INDEX IX_StudentProgramEvaluation_EducationOrganizationId ON [edfi].[StudentProgramEvaluation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentProgramEvaluation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentProgramEvaluation')) +BEGIN + CREATE INDEX IX_StudentProgramEvaluation_StudentUSI ON [edfi].[StudentProgramEvaluation](StudentUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentProgramEvaluation_StaffEvaluatorStaffUSI' AND object_id = OBJECT_ID('edfi.StudentProgramEvaluation')) +BEGIN + CREATE INDEX IX_StudentProgramEvaluation_StaffEvaluatorStaffUSI ON [edfi].[StudentProgramEvaluation](StaffEvaluatorStaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentSchoolAssociation_SchoolId ON [edfi].[StudentSchoolAssociation]; +CREATE INDEX IX_StudentSchoolAssociation_SchoolId ON [edfi].[StudentSchoolAssociation](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentSchoolAssociation_EducationOrganizationId ON [edfi].[StudentSchoolAssociation]; +CREATE INDEX IX_StudentSchoolAssociation_EducationOrganizationId ON [edfi].[StudentSchoolAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentSchoolAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentSchoolAssociation')) +BEGIN + CREATE INDEX IX_StudentSchoolAssociation_StudentUSI ON [edfi].[StudentSchoolAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentSchoolAttendanceEvent_SchoolId ON [edfi].[StudentSchoolAttendanceEvent]; +CREATE INDEX IX_StudentSchoolAttendanceEvent_SchoolId ON [edfi].[StudentSchoolAttendanceEvent](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentSchoolAttendanceEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentSchoolAttendanceEvent')) +BEGIN + CREATE INDEX IX_StudentSchoolAttendanceEvent_StudentUSI ON [edfi].[StudentSchoolAttendanceEvent](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentSectionAssociation_SchoolId ON [edfi].[StudentSectionAssociation]; +CREATE INDEX IX_StudentSectionAssociation_SchoolId ON [edfi].[StudentSectionAssociation](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentSectionAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentSectionAssociation')) +BEGIN + CREATE INDEX IX_StudentSectionAssociation_StudentUSI ON [edfi].[StudentSectionAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentSectionAttendanceEvent_SchoolId ON [edfi].[StudentSectionAttendanceEvent]; +CREATE INDEX IX_StudentSectionAttendanceEvent_SchoolId ON [edfi].[StudentSectionAttendanceEvent](SchoolId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentSectionAttendanceEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentSectionAttendanceEvent')) +BEGIN + CREATE INDEX IX_StudentSectionAttendanceEvent_StudentUSI ON [edfi].[StudentSectionAttendanceEvent](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_StudentSpecialEducationProgramEligibilityAssociation_EducationOrganizationId ON [edfi].[StudentSpecialEducationProgramEligibilityAssociation]; +CREATE INDEX IX_StudentSpecialEducationProgramEligibilityAssociation_EducationOrganizationId ON [edfi].[StudentSpecialEducationProgramEligibilityAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentSpecialEducationProgramEligibilityAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentSpecialEducationProgramEligibilityAssociation')) +BEGIN + CREATE INDEX IX_StudentSpecialEducationProgramEligibilityAssociation_StudentUSI ON [edfi].[StudentSpecialEducationProgramEligibilityAssociation](StudentUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentTransportation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentTransportation')) +BEGIN + CREATE INDEX IX_StudentTransportation_StudentUSI ON [edfi].[StudentTransportation](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_Survey_EducationOrganizationId ON [edfi].[Survey]; +CREATE INDEX IX_Survey_EducationOrganizationId ON [edfi].[Survey](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Survey_SchoolId ON [edfi].[Survey]; +CREATE INDEX IX_Survey_SchoolId ON [edfi].[Survey](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_SurveyCourseAssociation_EducationOrganizationId ON [edfi].[SurveyCourseAssociation]; +CREATE INDEX IX_SurveyCourseAssociation_EducationOrganizationId ON [edfi].[SurveyCourseAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_SurveyProgramAssociation_EducationOrganizationId ON [edfi].[SurveyProgramAssociation]; +CREATE INDEX IX_SurveyProgramAssociation_EducationOrganizationId ON [edfi].[SurveyProgramAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SurveyResponse_ContactUSI' AND object_id = OBJECT_ID('edfi.SurveyResponse')) +BEGIN + CREATE INDEX IX_SurveyResponse_ContactUSI ON [edfi].[SurveyResponse](ContactUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SurveyResponse_StaffUSI' AND object_id = OBJECT_ID('edfi.SurveyResponse')) +BEGIN + CREATE INDEX IX_SurveyResponse_StaffUSI ON [edfi].[SurveyResponse](StaffUSI) INCLUDE (AggregateId) +END; + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SurveyResponse_StudentUSI' AND object_id = OBJECT_ID('edfi.SurveyResponse')) +BEGIN + CREATE INDEX IX_SurveyResponse_StudentUSI ON [edfi].[SurveyResponse](StudentUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_SurveyResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON [edfi].[SurveyResponseEducationOrganizationTargetAssociation]; +CREATE INDEX IX_SurveyResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON [edfi].[SurveyResponseEducationOrganizationTargetAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SurveyResponseStaffTargetAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.SurveyResponseStaffTargetAssociation')) +BEGIN + CREATE INDEX IX_SurveyResponseStaffTargetAssociation_StaffUSI ON [edfi].[SurveyResponseStaffTargetAssociation](StaffUSI) INCLUDE (AggregateId) +END; + +DROP INDEX IF EXISTS IX_SurveySectionAssociation_SchoolId ON [edfi].[SurveySectionAssociation]; +CREATE INDEX IX_SurveySectionAssociation_SchoolId ON [edfi].[SurveySectionAssociation](SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_SurveySectionResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation]; +CREATE INDEX IX_SurveySectionResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation](EducationOrganizationId) INCLUDE (AggregateId); + +IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SurveySectionResponseStaffTargetAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.SurveySectionResponseStaffTargetAssociation')) +BEGIN + CREATE INDEX IX_SurveySectionResponseStaffTargetAssociation_StaffUSI ON [edfi].[SurveySectionResponseStaffTargetAssociation](StaffUSI) INCLUDE (AggregateId) +END; diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql index d8f6b17366..0bfd99f134 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql @@ -37,6 +37,14 @@ ALTER TABLE [edfi].[AssessmentAdministration] ADD CONSTRAINT AssessmentAdministr END +IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[edfi].[AssessmentAdministrationParticipation]') AND name = 'ChangeVersion') +BEGIN +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD [ChangeVersion] [BIGINT] CONSTRAINT AssessmentAdministrationParticipation_DF_ChangeVersion DEFAULT (0) NOT NULL; +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] DROP CONSTRAINT AssessmentAdministrationParticipation_DF_ChangeVersion; +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD CONSTRAINT AssessmentAdministrationParticipation_DF_ChangeVersion DEFAULT (NEXT VALUE FOR [changes].[ChangeVersionSequence]) For [ChangeVersion]; +END + + IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[edfi].[AssessmentBatteryPart]') AND name = 'ChangeVersion') BEGIN ALTER TABLE [edfi].[AssessmentBatteryPart] ADD [ChangeVersion] [BIGINT] CONSTRAINT AssessmentBatteryPart_DF_ChangeVersion DEFAULT (0) NOT NULL; @@ -61,14 +69,6 @@ ALTER TABLE [edfi].[AssessmentScoreRangeLearningStandard] ADD CONSTRAINT Assessm END -IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[edfi].[AssesssmentAdministrationParticipation]') AND name = 'ChangeVersion') -BEGIN -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD [ChangeVersion] [BIGINT] CONSTRAINT AssesssmentAdministrationParticipation_DF_ChangeVersion DEFAULT (0) NOT NULL; -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] DROP CONSTRAINT AssesssmentAdministrationParticipation_DF_ChangeVersion; -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD CONSTRAINT AssesssmentAdministrationParticipation_DF_ChangeVersion DEFAULT (NEXT VALUE FOR [changes].[ChangeVersionSequence]) For [ChangeVersion]; -END - - IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[edfi].[BalanceSheetDimension]') AND name = 'ChangeVersion') BEGIN ALTER TABLE [edfi].[BalanceSheetDimension] ADD [ChangeVersion] [BIGINT] CONSTRAINT BalanceSheetDimension_DF_ChangeVersion DEFAULT (0) NOT NULL; diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql index 5d1c5c94f2..560405f22e 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql @@ -27,6 +27,12 @@ BEGIN TRANSACTION GO COMMIT +BEGIN TRANSACTION + IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssessmentAdministrationParticipation') AND name = N'UX_AssessmentAdministrationParticipation_ChangeVersion') + CREATE INDEX [UX_AssessmentAdministrationParticipation_ChangeVersion] ON [edfi].[AssessmentAdministrationParticipation] ([ChangeVersion] ASC) + GO +COMMIT + BEGIN TRANSACTION IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssessmentBatteryPart') AND name = N'UX_AssessmentBatteryPart_ChangeVersion') CREATE INDEX [UX_AssessmentBatteryPart_ChangeVersion] ON [edfi].[AssessmentBatteryPart] ([ChangeVersion] ASC) @@ -45,12 +51,6 @@ BEGIN TRANSACTION GO COMMIT -BEGIN TRANSACTION - IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssesssmentAdministrationParticipation') AND name = N'UX_AssesssmentAdministrationParticipation_ChangeVersion') - CREATE INDEX [UX_AssesssmentAdministrationParticipation_ChangeVersion] ON [edfi].[AssesssmentAdministrationParticipation] ([ChangeVersion] ASC) - GO -COMMIT - BEGIN TRANSACTION IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.BalanceSheetDimension') AND name = N'UX_BalanceSheetDimension_ChangeVersion') CREATE INDEX [UX_BalanceSheetDimension_ChangeVersion] ON [edfi].[BalanceSheetDimension] ([ChangeVersion] ASC) diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql index 1603f8fd6a..56299580d2 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql @@ -65,6 +65,25 @@ CREATE TABLE [tracked_changes_edfi].[AssessmentAdministration] CreateDate DateTime2 NOT NULL DEFAULT (getutcdate()), CONSTRAINT PK_AssessmentAdministration PRIMARY KEY CLUSTERED (ChangeVersion) ) +IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[tracked_changes_edfi].[AssessmentAdministrationParticipation]')) +CREATE TABLE [tracked_changes_edfi].[AssessmentAdministrationParticipation] +( + OldAdministrationIdentifier [NVARCHAR](255) NOT NULL, + OldAssessmentIdentifier [NVARCHAR](60) NOT NULL, + OldAssigningEducationOrganizationId [BIGINT] NOT NULL, + OldNamespace [NVARCHAR](255) NOT NULL, + OldParticipatingEducationOrganizationId [BIGINT] NOT NULL, + NewAdministrationIdentifier [NVARCHAR](255) NULL, + NewAssessmentIdentifier [NVARCHAR](60) NULL, + NewAssigningEducationOrganizationId [BIGINT] NULL, + NewNamespace [NVARCHAR](255) NULL, + NewParticipatingEducationOrganizationId [BIGINT] NULL, + Id uniqueidentifier NOT NULL, + ChangeVersion bigint NOT NULL, + Discriminator [NVARCHAR](128) NULL, + CreateDate DateTime2 NOT NULL DEFAULT (getutcdate()), + CONSTRAINT PK_AssessmentAdministrationParticipation PRIMARY KEY CLUSTERED (ChangeVersion) +) IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[tracked_changes_edfi].[AssessmentBatteryPart]')) CREATE TABLE [tracked_changes_edfi].[AssessmentBatteryPart] ( @@ -110,25 +129,6 @@ CREATE TABLE [tracked_changes_edfi].[AssessmentScoreRangeLearningStandard] CreateDate DateTime2 NOT NULL DEFAULT (getutcdate()), CONSTRAINT PK_AssessmentScoreRangeLearningStandard PRIMARY KEY CLUSTERED (ChangeVersion) ) -IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[tracked_changes_edfi].[AssesssmentAdministrationParticipation]')) -CREATE TABLE [tracked_changes_edfi].[AssesssmentAdministrationParticipation] -( - OldAdministrationIdentifier [NVARCHAR](255) NOT NULL, - OldAssessmentIdentifier [NVARCHAR](60) NOT NULL, - OldAssigningEducationOrganizationId [BIGINT] NOT NULL, - OldNamespace [NVARCHAR](255) NOT NULL, - OldParticipatingEducationOrganizationId [BIGINT] NOT NULL, - NewAdministrationIdentifier [NVARCHAR](255) NULL, - NewAssessmentIdentifier [NVARCHAR](60) NULL, - NewAssigningEducationOrganizationId [BIGINT] NULL, - NewNamespace [NVARCHAR](255) NULL, - NewParticipatingEducationOrganizationId [BIGINT] NULL, - Id uniqueidentifier NOT NULL, - ChangeVersion bigint NOT NULL, - Discriminator [NVARCHAR](128) NULL, - CreateDate DateTime2 NOT NULL DEFAULT (getutcdate()), - CONSTRAINT PK_AssesssmentAdministrationParticipation PRIMARY KEY CLUSTERED (ChangeVersion) -) IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[tracked_changes_edfi].[BalanceSheetDimension]')) CREATE TABLE [tracked_changes_edfi].[BalanceSheetDimension] ( diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql index 067c7bd4b2..2b3294d7c3 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql @@ -55,6 +55,19 @@ BEGIN END GO +DROP TRIGGER IF EXISTS [edfi].[edfi_AssessmentAdministrationParticipation_TR_UpdateChangeVersion] +GO + +CREATE TRIGGER [edfi].[edfi_AssessmentAdministrationParticipation_TR_UpdateChangeVersion] ON [edfi].[AssessmentAdministrationParticipation] AFTER UPDATE AS +BEGIN + SET NOCOUNT ON; + UPDATE [edfi].[AssessmentAdministrationParticipation] + SET ChangeVersion = (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + FROM [edfi].[AssessmentAdministrationParticipation] u + WHERE EXISTS (SELECT 1 FROM inserted i WHERE i.id = u.id); +END +GO + DROP TRIGGER IF EXISTS [edfi].[edfi_AssessmentBatteryPart_TR_UpdateChangeVersion] GO @@ -94,19 +107,6 @@ BEGIN END GO -DROP TRIGGER IF EXISTS [edfi].[edfi_AssesssmentAdministrationParticipation_TR_UpdateChangeVersion] -GO - -CREATE TRIGGER [edfi].[edfi_AssesssmentAdministrationParticipation_TR_UpdateChangeVersion] ON [edfi].[AssesssmentAdministrationParticipation] AFTER UPDATE AS -BEGIN - SET NOCOUNT ON; - UPDATE [edfi].[AssesssmentAdministrationParticipation] - SET ChangeVersion = (NEXT VALUE FOR [changes].[ChangeVersionSequence]) - FROM [edfi].[AssesssmentAdministrationParticipation] u - WHERE EXISTS (SELECT 1 FROM inserted i WHERE i.id = u.id); -END -GO - DROP TRIGGER IF EXISTS [edfi].[edfi_BalanceSheetDimension_TR_UpdateChangeVersion] GO diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql index a25dc6223c..0fa1a9ba6c 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql @@ -314,6 +314,26 @@ ALTER TABLE [edfi].[AssessmentAdministration] ENABLE TRIGGER [edfi_AssessmentAdm GO +DROP TRIGGER IF EXISTS [edfi].[edfi_AssessmentAdministrationParticipation_TR_DeleteTracking] +GO + +CREATE TRIGGER [edfi].[edfi_AssessmentAdministrationParticipation_TR_DeleteTracking] ON [edfi].[AssessmentAdministrationParticipation] AFTER DELETE AS +BEGIN + IF @@rowcount = 0 + RETURN + + SET NOCOUNT ON + + INSERT INTO [tracked_changes_edfi].[AssessmentAdministrationParticipation](OldAdministrationIdentifier, OldAssessmentIdentifier, OldAssigningEducationOrganizationId, OldNamespace, OldParticipatingEducationOrganizationId, Id, Discriminator, ChangeVersion) + SELECT d.AdministrationIdentifier, d.AssessmentIdentifier, d.AssigningEducationOrganizationId, d.Namespace, d.ParticipatingEducationOrganizationId, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + FROM deleted d +END +GO + +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ENABLE TRIGGER [edfi_AssessmentAdministrationParticipation_TR_DeleteTracking] +GO + + DROP TRIGGER IF EXISTS [edfi].[edfi_AssessmentBatteryPart_TR_DeleteTracking] GO @@ -500,26 +520,6 @@ ALTER TABLE [edfi].[AssessmentScoreRangeLearningStandard] ENABLE TRIGGER [edfi_A GO -DROP TRIGGER IF EXISTS [edfi].[edfi_AssesssmentAdministrationParticipation_TR_DeleteTracking] -GO - -CREATE TRIGGER [edfi].[edfi_AssesssmentAdministrationParticipation_TR_DeleteTracking] ON [edfi].[AssesssmentAdministrationParticipation] AFTER DELETE AS -BEGIN - IF @@rowcount = 0 - RETURN - - SET NOCOUNT ON - - INSERT INTO [tracked_changes_edfi].[AssesssmentAdministrationParticipation](OldAdministrationIdentifier, OldAssessmentIdentifier, OldAssigningEducationOrganizationId, OldNamespace, OldParticipatingEducationOrganizationId, Id, Discriminator, ChangeVersion) - SELECT d.AdministrationIdentifier, d.AssessmentIdentifier, d.AssigningEducationOrganizationId, d.Namespace, d.ParticipatingEducationOrganizationId, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence]) - FROM deleted d -END -GO - -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ENABLE TRIGGER [edfi_AssesssmentAdministrationParticipation_TR_DeleteTracking] -GO - - DROP TRIGGER IF EXISTS [edfi].[edfi_AssignmentLateStatusDescriptor_TR_DeleteTracking] GO @@ -1858,6 +1858,48 @@ ALTER TABLE [edfi].[DisplacedStudentStatusDescriptor] ENABLE TRIGGER [edfi_Displ GO +DROP TRIGGER IF EXISTS [edfi].[edfi_DualCreditInstitutionDescriptor_TR_DeleteTracking] +GO + +CREATE TRIGGER [edfi].[edfi_DualCreditInstitutionDescriptor_TR_DeleteTracking] ON [edfi].[DualCreditInstitutionDescriptor] AFTER DELETE AS +BEGIN + IF @@rowcount = 0 + RETURN + + SET NOCOUNT ON + + INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion) + SELECT d.DualCreditInstitutionDescriptorId, b.CodeValue, b.Namespace, b.Id, 'edfi.DualCreditInstitutionDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + FROM deleted d + INNER JOIN edfi.Descriptor b ON d.DualCreditInstitutionDescriptorId = b.DescriptorId +END +GO + +ALTER TABLE [edfi].[DualCreditInstitutionDescriptor] ENABLE TRIGGER [edfi_DualCreditInstitutionDescriptor_TR_DeleteTracking] +GO + + +DROP TRIGGER IF EXISTS [edfi].[edfi_DualCreditTypeDescriptor_TR_DeleteTracking] +GO + +CREATE TRIGGER [edfi].[edfi_DualCreditTypeDescriptor_TR_DeleteTracking] ON [edfi].[DualCreditTypeDescriptor] AFTER DELETE AS +BEGIN + IF @@rowcount = 0 + RETURN + + SET NOCOUNT ON + + INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion) + SELECT d.DualCreditTypeDescriptorId, b.CodeValue, b.Namespace, b.Id, 'edfi.DualCreditTypeDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + FROM deleted d + INNER JOIN edfi.Descriptor b ON d.DualCreditTypeDescriptorId = b.DescriptorId +END +GO + +ALTER TABLE [edfi].[DualCreditTypeDescriptor] ENABLE TRIGGER [edfi_DualCreditTypeDescriptor_TR_DeleteTracking] +GO + + DROP TRIGGER IF EXISTS [edfi].[edfi_EducationalEnvironmentDescriptor_TR_DeleteTracking] GO @@ -5044,10 +5086,10 @@ ALTER TABLE [edfi].[SchoolYearType] ENABLE TRIGGER [edfi_SchoolYearType_TR_Delet GO -DROP TRIGGER IF EXISTS [edfi].[edfi_Section504DisabilityTypeDescriptor_TR_DeleteTracking] +DROP TRIGGER IF EXISTS [edfi].[edfi_Section504DisabilityDescriptor_TR_DeleteTracking] GO -CREATE TRIGGER [edfi].[edfi_Section504DisabilityTypeDescriptor_TR_DeleteTracking] ON [edfi].[Section504DisabilityTypeDescriptor] AFTER DELETE AS +CREATE TRIGGER [edfi].[edfi_Section504DisabilityDescriptor_TR_DeleteTracking] ON [edfi].[Section504DisabilityDescriptor] AFTER DELETE AS BEGIN IF @@rowcount = 0 RETURN @@ -5055,13 +5097,13 @@ BEGIN SET NOCOUNT ON INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion) - SELECT d.Section504DisabilityTypeDescriptorId, b.CodeValue, b.Namespace, b.Id, 'edfi.Section504DisabilityTypeDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + SELECT d.Section504DisabilityDescriptorId, b.CodeValue, b.Namespace, b.Id, 'edfi.Section504DisabilityDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence]) FROM deleted d - INNER JOIN edfi.Descriptor b ON d.Section504DisabilityTypeDescriptorId = b.DescriptorId + INNER JOIN edfi.Descriptor b ON d.Section504DisabilityDescriptorId = b.DescriptorId END GO -ALTER TABLE [edfi].[Section504DisabilityTypeDescriptor] ENABLE TRIGGER [edfi_Section504DisabilityTypeDescriptor_TR_DeleteTracking] +ALTER TABLE [edfi].[Section504DisabilityDescriptor] ENABLE TRIGGER [edfi_Section504DisabilityDescriptor_TR_DeleteTracking] GO diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql index 31e97c18fc..2d88eb600c 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql @@ -11,14 +11,14 @@ ALTER TABLE [edfi].[Assessment] ADD [CreatedByOwnershipTokenId] SMALLINT NULL; ALTER TABLE [edfi].[AssessmentAdministration] ADD [CreatedByOwnershipTokenId] SMALLINT NULL; +ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD [CreatedByOwnershipTokenId] SMALLINT NULL; + ALTER TABLE [edfi].[AssessmentBatteryPart] ADD [CreatedByOwnershipTokenId] SMALLINT NULL; ALTER TABLE [edfi].[AssessmentItem] ADD [CreatedByOwnershipTokenId] SMALLINT NULL; ALTER TABLE [edfi].[AssessmentScoreRangeLearningStandard] ADD [CreatedByOwnershipTokenId] SMALLINT NULL; -ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD [CreatedByOwnershipTokenId] SMALLINT NULL; - ALTER TABLE [edfi].[BalanceSheetDimension] ADD [CreatedByOwnershipTokenId] SMALLINT NULL; ALTER TABLE [edfi].[BellSchedule] ADD [CreatedByOwnershipTokenId] SMALLINT NULL; diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql index 296124dceb..00072a5d94 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql @@ -61,14 +61,7 @@ BEGIN VALUES ('assessmentMetadata', 'http://ed-fi.org/ods/identity/claims/domains/assessmentMetadata', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; -- Setting default authorization metadata @@ -493,14 +486,7 @@ BEGIN VALUES ('assessmentAdministration', 'http://ed-fi.org/ods/identity/claims/assessmentAdministration', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- @@ -522,14 +508,7 @@ BEGIN VALUES ('assessmentAdministrationAssessmentAdminstrationPeriod', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationAssessmentAdminstrationPeriod', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- @@ -551,14 +530,7 @@ BEGIN VALUES ('assessmentAdministrationAssessmentBatteryPart', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationAssessmentBatteryPart', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- @@ -580,14 +552,7 @@ BEGIN VALUES ('assessmentBatteryPart', 'http://ed-fi.org/ods/identity/claims/assessmentBatteryPart', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- @@ -609,20 +574,13 @@ BEGIN VALUES ('assessmentBatteryPartObjectiveAssessment', 'http://ed-fi.org/ods/identity/claims/assessmentBatteryPartObjectiveAssessment', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- - -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation' + -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation' ---------------------------------------------------------------------------------------------------------------------------- - claim_name := 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation'; + claim_name := 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation'; claim_id := NULL; SELECT ResourceClaimId, ParentResourceClaimId INTO claim_id, existing_parent_resource_claim_id @@ -635,23 +593,16 @@ BEGIN RAISE NOTICE 'Creating new claim: %', claim_name; INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId) - VALUES ('assesssmentAdministrationParticipation', 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation', parent_resource_claim_id) + VALUES ('assessmentAdministrationParticipation', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- - -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact' + -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact' ---------------------------------------------------------------------------------------------------------------------------- - claim_name := 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact'; + claim_name := 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact'; claim_id := NULL; SELECT ResourceClaimId, ParentResourceClaimId INTO claim_id, existing_parent_resource_claim_id @@ -664,17 +615,10 @@ BEGIN RAISE NOTICE 'Creating new claim: %', claim_name; INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId) - VALUES ('assesssmentAdministrationParticipationAdministrationPointOfContact', 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact', parent_resource_claim_id) + VALUES ('assessmentAdministrationParticipationAdministrationPointOfContact', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- @@ -696,14 +640,7 @@ BEGIN VALUES ('studentAssessmentRegistration', 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistration', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- @@ -725,14 +662,7 @@ BEGIN VALUES ('studentAssessmentRegistrationAssessmentAccommodation', 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationAssessmentAccommodation', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- @@ -754,14 +684,7 @@ BEGIN VALUES ('studentAssessmentRegistrationAssessmentCustomization', 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationAssessmentCustomization', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- @@ -783,14 +706,7 @@ BEGIN VALUES ('studentAssessmentRegistrationBatteryPartAssociation', 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationBatteryPartAssociation', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- @@ -812,14 +728,7 @@ BEGIN VALUES ('studentAssessmentRegistrationBatteryPartAssociationAccommodation', 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationBatteryPartAssociationAccommodation', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; @@ -845,14 +754,7 @@ BEGIN VALUES ('systemDescriptors', 'http://ed-fi.org/ods/identity/claims/domains/systemDescriptors', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; -- Setting default authorization metadata @@ -1216,9 +1118,31 @@ BEGIN -- Processing children of http://ed-fi.org/ods/identity/claims/domains/systemDescriptors ---------------------------------------------------------------------------------------------------------------------------- - -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor' + -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor' + ---------------------------------------------------------------------------------------------------------------------------- + claim_name := 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor'; + claim_id := NULL; + + SELECT ResourceClaimId, ParentResourceClaimId INTO claim_id, existing_parent_resource_claim_id + FROM dbo.ResourceClaims + WHERE ClaimName = claim_name; + + parent_resource_claim_id := claim_id_stack[array_upper(claim_id_stack, 1)]; + + IF claim_id IS NULL THEN + RAISE NOTICE 'Creating new claim: %', claim_name; + + INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId) + VALUES ('Section504DisabilityDescriptor', 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor', parent_resource_claim_id) + RETURNING ResourceClaimId + INTO claim_id; + + END IF; + + ---------------------------------------------------------------------------------------------------------------------------- + -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor' ---------------------------------------------------------------------------------------------------------------------------- - claim_name := 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor'; + claim_name := 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor'; claim_id := NULL; SELECT ResourceClaimId, ParentResourceClaimId INTO claim_id, existing_parent_resource_claim_id @@ -1231,17 +1155,32 @@ BEGIN RAISE NOTICE 'Creating new claim: %', claim_name; INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId) - VALUES ('Section504DisabilityTypeDescriptor', 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor', parent_resource_claim_id) + VALUES ('DualCreditTypeDescriptor', 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + + END IF; + + ---------------------------------------------------------------------------------------------------------------------------- + -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor' + ---------------------------------------------------------------------------------------------------------------------------- + claim_name := 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor'; + claim_id := NULL; + + SELECT ResourceClaimId, ParentResourceClaimId INTO claim_id, existing_parent_resource_claim_id + FROM dbo.ResourceClaims + WHERE ClaimName = claim_name; + + parent_resource_claim_id := claim_id_stack[array_upper(claim_id_stack, 1)]; + + IF claim_id IS NULL THEN + RAISE NOTICE 'Creating new claim: %', claim_name; + + INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId) + VALUES ('DualCreditInstitutionDescriptor', 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor', parent_resource_claim_id) + RETURNING ResourceClaimId + INTO claim_id; + END IF; @@ -1267,14 +1206,7 @@ BEGIN VALUES ('relationshipBasedData', 'http://ed-fi.org/ods/identity/claims/domains/relationshipBasedData', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; -- Setting default authorization metadata @@ -1625,14 +1557,7 @@ BEGIN VALUES ('studentSection504ProgramAssociation', 'http://ed-fi.org/ods/identity/claims/studentSection504ProgramAssociation', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; @@ -1658,14 +1583,7 @@ BEGIN VALUES ('relationshipBasedData', 'http://ed-fi.org/ods/identity/claims/domains/relationshipBasedData', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; -- Setting default authorization metadata @@ -2057,14 +1975,7 @@ BEGIN VALUES ('studentEducationOrganizationAssessmentAccommodation', 'http://ed-fi.org/ods/identity/claims/studentEducationOrganizationAssessmentAccommodation', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; ---------------------------------------------------------------------------------------------------------------------------- @@ -2086,14 +1997,7 @@ BEGIN VALUES ('studentEducationOrganizationAssessmentAccommodationGeneralAccommodation', 'http://ed-fi.org/ods/identity/claims/studentEducationOrganizationAssessmentAccommodationGeneralAccommodation', parent_resource_claim_id) RETURNING ResourceClaimId INTO claim_id; - ELSE - IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN - RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')'; - - UPDATE dbo.ResourceClaims - SET ParentResourceClaimId = parent_resource_claim_id - WHERE ResourceClaimId = claim_id; - END IF; + END IF; diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml index a42736fe8f..f947de2d03 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml @@ -63,8 +63,8 @@ - - + + @@ -130,7 +130,9 @@ - + + + diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql index f115061185..c7d8bd06e7 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql @@ -155,30 +155,64 @@ ALTER TABLE edfi.AssessmentAdministration ALTER COLUMN CreateDate SET DEFAULT cu ALTER TABLE edfi.AssessmentAdministration ALTER COLUMN Id SET DEFAULT gen_random_uuid(); ALTER TABLE edfi.AssessmentAdministration ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; --- Table edfi.AssessmentAdministrationAssessmentAdminstrationPeriod -- -CREATE TABLE edfi.AssessmentAdministrationAssessmentAdminstrationPeriod ( +-- Table edfi.AssessmentAdministrationAssessmentBatteryPart -- +CREATE TABLE edfi.AssessmentAdministrationAssessmentBatteryPart ( AdministrationIdentifier VARCHAR(255) NOT NULL, AssessmentIdentifier VARCHAR(60) NOT NULL, AssigningEducationOrganizationId BIGINT NOT NULL, Namespace VARCHAR(255) NOT NULL, - BeginDate DATE NOT NULL, - EndDate DATE NULL, + AssessmentBatteryPartName VARCHAR(65) NOT NULL, CreateDate TIMESTAMP NOT NULL, - CONSTRAINT AssessmentAdministrationAssessmentAdminstrationPeriod_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, BeginDate) + CONSTRAINT AssessmentAdministrationAssessmentBatteryPart_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, AssessmentBatteryPartName) ); -ALTER TABLE edfi.AssessmentAdministrationAssessmentAdminstrationPeriod ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; +ALTER TABLE edfi.AssessmentAdministrationAssessmentBatteryPart ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; --- Table edfi.AssessmentAdministrationAssessmentBatteryPart -- -CREATE TABLE edfi.AssessmentAdministrationAssessmentBatteryPart ( +-- Table edfi.AssessmentAdministrationParticipation -- +CREATE TABLE edfi.AssessmentAdministrationParticipation ( AdministrationIdentifier VARCHAR(255) NOT NULL, AssessmentIdentifier VARCHAR(60) NOT NULL, AssigningEducationOrganizationId BIGINT NOT NULL, Namespace VARCHAR(255) NOT NULL, - AssessmentBatteryPartName VARCHAR(65) NOT NULL, + ParticipatingEducationOrganizationId BIGINT NOT NULL, + Discriminator VARCHAR(128) NULL, CreateDate TIMESTAMP NOT NULL, - CONSTRAINT AssessmentAdministrationAssessmentBatteryPart_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, AssessmentBatteryPartName) + LastModifiedDate TIMESTAMP NOT NULL, + Id UUID NOT NULL, + CONSTRAINT AssessmentAdministrationParticipation_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId) ); -ALTER TABLE edfi.AssessmentAdministrationAssessmentBatteryPart ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; +ALTER TABLE edfi.AssessmentAdministrationParticipation ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; +ALTER TABLE edfi.AssessmentAdministrationParticipation ALTER COLUMN Id SET DEFAULT gen_random_uuid(); +ALTER TABLE edfi.AssessmentAdministrationParticipation ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; + +-- Table edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 -- +CREATE TABLE edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 ( + AdministrationIdentifier VARCHAR(255) NOT NULL, + AssessmentIdentifier VARCHAR(60) NOT NULL, + AssigningEducationOrganizationId BIGINT NOT NULL, + Namespace VARCHAR(255) NOT NULL, + ParticipatingEducationOrganizationId BIGINT NOT NULL, + EducationOrganizationId BIGINT NOT NULL, + ElectronicMailAddress VARCHAR(128) NOT NULL, + FirstName VARCHAR(75) NOT NULL, + LastSurname VARCHAR(75) NOT NULL, + LoginId VARCHAR(60) NULL, + CreateDate TIMESTAMP NOT NULL, + CONSTRAINT AssessmentAdministrationParticipationAdministratio_c63833_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId, EducationOrganizationId, ElectronicMailAddress) +); +ALTER TABLE edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; + +-- Table edfi.AssessmentAdministrationPeriod -- +CREATE TABLE edfi.AssessmentAdministrationPeriod ( + AdministrationIdentifier VARCHAR(255) NOT NULL, + AssessmentIdentifier VARCHAR(60) NOT NULL, + AssigningEducationOrganizationId BIGINT NOT NULL, + Namespace VARCHAR(255) NOT NULL, + BeginDate DATE NOT NULL, + EndDate DATE NULL, + CreateDate TIMESTAMP NOT NULL, + CONSTRAINT AssessmentAdministrationPeriod_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, BeginDate) +); +ALTER TABLE edfi.AssessmentAdministrationPeriod ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; -- Table edfi.AssessmentAssessedGradeLevel -- CREATE TABLE edfi.AssessmentAssessedGradeLevel ( @@ -453,40 +487,6 @@ CREATE TABLE edfi.AssessmentSection ( ); ALTER TABLE edfi.AssessmentSection ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; --- Table edfi.AssesssmentAdministrationParticipation -- -CREATE TABLE edfi.AssesssmentAdministrationParticipation ( - AdministrationIdentifier VARCHAR(255) NOT NULL, - AssessmentIdentifier VARCHAR(60) NOT NULL, - AssigningEducationOrganizationId BIGINT NOT NULL, - Namespace VARCHAR(255) NOT NULL, - ParticipatingEducationOrganizationId BIGINT NOT NULL, - Discriminator VARCHAR(128) NULL, - CreateDate TIMESTAMP NOT NULL, - LastModifiedDate TIMESTAMP NOT NULL, - Id UUID NOT NULL, - CONSTRAINT AssesssmentAdministrationParticipation_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId) -); -ALTER TABLE edfi.AssesssmentAdministrationParticipation ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; -ALTER TABLE edfi.AssesssmentAdministrationParticipation ALTER COLUMN Id SET DEFAULT gen_random_uuid(); -ALTER TABLE edfi.AssesssmentAdministrationParticipation ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; - --- Table edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc -- -CREATE TABLE edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc ( - AdministrationIdentifier VARCHAR(255) NOT NULL, - AssessmentIdentifier VARCHAR(60) NOT NULL, - AssigningEducationOrganizationId BIGINT NOT NULL, - Namespace VARCHAR(255) NOT NULL, - ParticipatingEducationOrganizationId BIGINT NOT NULL, - EducationOrganizationId BIGINT NOT NULL, - ElectronicMailAddress VARCHAR(128) NOT NULL, - FirstName VARCHAR(75) NOT NULL, - LastSurname VARCHAR(75) NOT NULL, - LoginId VARCHAR(60) NULL, - CreateDate TIMESTAMP NOT NULL, - CONSTRAINT AssesssmentAdministrationParticipationAdministrati_c21adc_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId, EducationOrganizationId, ElectronicMailAddress) -); -ALTER TABLE edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; - -- Table edfi.AssignmentLateStatusDescriptor -- CREATE TABLE edfi.AssignmentLateStatusDescriptor ( AssignmentLateStatusDescriptorId INT NOT NULL, @@ -1736,6 +1736,18 @@ CREATE TABLE edfi.DisplacedStudentStatusDescriptor ( CONSTRAINT DisplacedStudentStatusDescriptor_PK PRIMARY KEY (DisplacedStudentStatusDescriptorId) ); +-- Table edfi.DualCreditInstitutionDescriptor -- +CREATE TABLE edfi.DualCreditInstitutionDescriptor ( + DualCreditInstitutionDescriptorId INT NOT NULL, + CONSTRAINT DualCreditInstitutionDescriptor_PK PRIMARY KEY (DualCreditInstitutionDescriptorId) +); + +-- Table edfi.DualCreditTypeDescriptor -- +CREATE TABLE edfi.DualCreditTypeDescriptor ( + DualCreditTypeDescriptorId INT NOT NULL, + CONSTRAINT DualCreditTypeDescriptor_PK PRIMARY KEY (DualCreditTypeDescriptorId) +); + -- Table edfi.EducationalEnvironmentDescriptor -- CREATE TABLE edfi.EducationalEnvironmentDescriptor ( EducationalEnvironmentDescriptorId INT NOT NULL, @@ -4250,10 +4262,10 @@ ALTER TABLE edfi.Section ALTER COLUMN CreateDate SET DEFAULT current_timestamp A ALTER TABLE edfi.Section ALTER COLUMN Id SET DEFAULT gen_random_uuid(); ALTER TABLE edfi.Section ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; --- Table edfi.Section504DisabilityTypeDescriptor -- -CREATE TABLE edfi.Section504DisabilityTypeDescriptor ( - Section504DisabilityTypeDescriptorId INT NOT NULL, - CONSTRAINT Section504DisabilityTypeDescriptor_PK PRIMARY KEY (Section504DisabilityTypeDescriptorId) +-- Table edfi.Section504DisabilityDescriptor -- +CREATE TABLE edfi.Section504DisabilityDescriptor ( + Section504DisabilityDescriptorId INT NOT NULL, + CONSTRAINT Section504DisabilityDescriptor_PK PRIMARY KEY (Section504DisabilityDescriptorId) ); -- Table edfi.SectionAttendanceTakenEvent -- @@ -5360,6 +5372,8 @@ CREATE TABLE edfi.StudentAssessmentRegistration ( EntryDate DATE NOT NULL, PlatformTypeDescriptorId INT NULL, ReportingEducationOrganizationId BIGINT NULL, + ScheduledEducationOrganizationId BIGINT NULL, + ScheduledStudentUSI INT NULL, SchoolId BIGINT NOT NULL, TestingEducationOrganizationId BIGINT NULL, Discriminator VARCHAR(128) NULL, @@ -5678,6 +5692,18 @@ CREATE TABLE edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a2 ); ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a21 ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; +-- Table edfi.StudentDisciplineIncidentBehaviorAssociationWeapon -- +CREATE TABLE edfi.StudentDisciplineIncidentBehaviorAssociationWeapon ( + BehaviorDescriptorId INT NOT NULL, + IncidentIdentifier VARCHAR(36) NOT NULL, + SchoolId BIGINT NOT NULL, + StudentUSI INT NOT NULL, + WeaponDescriptorId INT NOT NULL, + CreateDate TIMESTAMP NOT NULL, + CONSTRAINT StudentDisciplineIncidentBehaviorAssociationWeapon_PK PRIMARY KEY (BehaviorDescriptorId, IncidentIdentifier, SchoolId, StudentUSI, WeaponDescriptorId) +); +ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociationWeapon ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; + -- Table edfi.StudentDisciplineIncidentNonOffenderAssociation -- CREATE TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation ( IncidentIdentifier VARCHAR(36) NOT NULL, @@ -6609,7 +6635,7 @@ CREATE TABLE edfi.StudentSection504ProgramAssociation ( ProgramTypeDescriptorId INT NOT NULL, StudentUSI INT NOT NULL, AccommodationPlan BOOLEAN NULL, - Section504DisabilityTypeDescriptorId INT NULL, + Section504DisabilityDescriptorId INT NULL, Section504Eligibility BOOLEAN NOT NULL, Section504EligibilityDecisionDate DATE NULL, Section504MeetingDate DATE NULL, @@ -6626,6 +6652,11 @@ CREATE TABLE edfi.StudentSectionAssociation ( SessionName VARCHAR(60) NOT NULL, StudentUSI INT NOT NULL, AttemptStatusDescriptorId INT NULL, + DualCreditEducationOrganizationId BIGINT NULL, + DualCreditIndicator BOOLEAN NULL, + DualCreditInstitutionDescriptorId INT NULL, + DualCreditTypeDescriptorId INT NULL, + DualHighSchoolCreditIndicator BOOLEAN NULL, EndDate DATE NULL, HomeroomIndicator BOOLEAN NULL, RepeatIdentifierDescriptorId INT NULL, @@ -6714,7 +6745,9 @@ CREATE TABLE edfi.StudentSpecialEducationProgramAssociation ( LastEvaluationDate DATE NULL, MedicallyFragile BOOLEAN NULL, MultiplyDisabled BOOLEAN NULL, + ReductionInHoursPerWeekComparedToPeers DECIMAL(5, 2) NULL, SchoolHoursPerWeek DECIMAL(5, 2) NULL, + ShortenedSchoolDayIndicator BOOLEAN NULL, SpecialEducationExitDate DATE NULL, SpecialEducationExitExplained VARCHAR(1024) NULL, SpecialEducationExitReasonDescriptorId INT NULL, diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql index 1645ba785a..5e7bce7c8c 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql @@ -110,11 +110,6 @@ REFERENCES edfi.EducationOrganization (EducationOrganizationId) CREATE INDEX FK_c64558_EducationOrganization ON edfi.AssessmentAdministration (AssigningEducationOrganizationId ASC); -ALTER TABLE edfi.AssessmentAdministrationAssessmentAdminstrationPeriod ADD CONSTRAINT FK_77cf17_AssessmentAdministration FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace) -REFERENCES edfi.AssessmentAdministration (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace) -ON DELETE CASCADE -; - ALTER TABLE edfi.AssessmentAdministrationAssessmentBatteryPart ADD CONSTRAINT FK_1d6852_AssessmentAdministration FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace) REFERENCES edfi.AssessmentAdministration (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace) ON DELETE CASCADE @@ -127,6 +122,37 @@ REFERENCES edfi.AssessmentBatteryPart (AssessmentBatteryPartName, AssessmentIden CREATE INDEX FK_1d6852_AssessmentBatteryPart ON edfi.AssessmentAdministrationAssessmentBatteryPart (AssessmentBatteryPartName ASC, AssessmentIdentifier ASC, Namespace ASC); +ALTER TABLE edfi.AssessmentAdministrationParticipation ADD CONSTRAINT FK_77818e_AssessmentAdministration FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace) +REFERENCES edfi.AssessmentAdministration (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace) +; + +CREATE INDEX FK_77818e_AssessmentAdministration +ON edfi.AssessmentAdministrationParticipation (AdministrationIdentifier ASC, AssessmentIdentifier ASC, AssigningEducationOrganizationId ASC, Namespace ASC); + +ALTER TABLE edfi.AssessmentAdministrationParticipation ADD CONSTRAINT FK_77818e_EducationOrganization FOREIGN KEY (ParticipatingEducationOrganizationId) +REFERENCES edfi.EducationOrganization (EducationOrganizationId) +; + +CREATE INDEX FK_77818e_EducationOrganization +ON edfi.AssessmentAdministrationParticipation (ParticipatingEducationOrganizationId ASC); + +ALTER TABLE edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 ADD CONSTRAINT FK_c63833_AssessmentAdministrationParticipation FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId) +REFERENCES edfi.AssessmentAdministrationParticipation (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId) +ON DELETE CASCADE +; + +ALTER TABLE edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 ADD CONSTRAINT FK_c63833_EducationOrganization FOREIGN KEY (EducationOrganizationId) +REFERENCES edfi.EducationOrganization (EducationOrganizationId) +; + +CREATE INDEX FK_c63833_EducationOrganization +ON edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 (EducationOrganizationId ASC); + +ALTER TABLE edfi.AssessmentAdministrationPeriod ADD CONSTRAINT FK_3e8626_AssessmentAdministration FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace) +REFERENCES edfi.AssessmentAdministration (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace) +ON DELETE CASCADE +; + ALTER TABLE edfi.AssessmentAssessedGradeLevel ADD CONSTRAINT FK_e83625_Assessment FOREIGN KEY (AssessmentIdentifier, Namespace) REFERENCES edfi.Assessment (AssessmentIdentifier, Namespace) ON DELETE CASCADE @@ -394,32 +420,6 @@ ON UPDATE CASCADE CREATE INDEX FK_22ceba_Section ON edfi.AssessmentSection (LocalCourseCode ASC, SchoolId ASC, SchoolYear ASC, SectionIdentifier ASC, SessionName ASC); -ALTER TABLE edfi.AssesssmentAdministrationParticipation ADD CONSTRAINT FK_0b52ab_AssessmentAdministration FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace) -REFERENCES edfi.AssessmentAdministration (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace) -; - -CREATE INDEX FK_0b52ab_AssessmentAdministration -ON edfi.AssesssmentAdministrationParticipation (AdministrationIdentifier ASC, AssessmentIdentifier ASC, AssigningEducationOrganizationId ASC, Namespace ASC); - -ALTER TABLE edfi.AssesssmentAdministrationParticipation ADD CONSTRAINT FK_0b52ab_EducationOrganization FOREIGN KEY (ParticipatingEducationOrganizationId) -REFERENCES edfi.EducationOrganization (EducationOrganizationId) -; - -CREATE INDEX FK_0b52ab_EducationOrganization -ON edfi.AssesssmentAdministrationParticipation (ParticipatingEducationOrganizationId ASC); - -ALTER TABLE edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc ADD CONSTRAINT FK_c21adc_AssesssmentAdministrationParticipation FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId) -REFERENCES edfi.AssesssmentAdministrationParticipation (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId) -ON DELETE CASCADE -; - -ALTER TABLE edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc ADD CONSTRAINT FK_c21adc_EducationOrganization FOREIGN KEY (EducationOrganizationId) -REFERENCES edfi.EducationOrganization (EducationOrganizationId) -; - -CREATE INDEX FK_c21adc_EducationOrganization -ON edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc (EducationOrganizationId ASC); - ALTER TABLE edfi.AssignmentLateStatusDescriptor ADD CONSTRAINT FK_518b3c_Descriptor FOREIGN KEY (AssignmentLateStatusDescriptorId) REFERENCES edfi.Descriptor (DescriptorId) ON DELETE CASCADE @@ -1507,9 +1507,6 @@ ALTER TABLE edfi.DisciplineAction ADD CONSTRAINT FK_eec7b6_Student FOREIGN KEY ( REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_eec7b6_Student -ON edfi.DisciplineAction (StudentUSI ASC); - ALTER TABLE edfi.DisciplineActionDiscipline ADD CONSTRAINT FK_73601f_DisciplineAction FOREIGN KEY (DisciplineActionIdentifier, DisciplineDate, StudentUSI) REFERENCES edfi.DisciplineAction (DisciplineActionIdentifier, DisciplineDate, StudentUSI) ON DELETE CASCADE @@ -1620,6 +1617,16 @@ REFERENCES edfi.Descriptor (DescriptorId) ON DELETE CASCADE ; +ALTER TABLE edfi.DualCreditInstitutionDescriptor ADD CONSTRAINT FK_18fe53_Descriptor FOREIGN KEY (DualCreditInstitutionDescriptorId) +REFERENCES edfi.Descriptor (DescriptorId) +ON DELETE CASCADE +; + +ALTER TABLE edfi.DualCreditTypeDescriptor ADD CONSTRAINT FK_0ccb1b_Descriptor FOREIGN KEY (DualCreditTypeDescriptorId) +REFERENCES edfi.Descriptor (DescriptorId) +ON DELETE CASCADE +; + ALTER TABLE edfi.EducationalEnvironmentDescriptor ADD CONSTRAINT FK_0f941f_Descriptor FOREIGN KEY (EducationalEnvironmentDescriptorId) REFERENCES edfi.Descriptor (DescriptorId) ON DELETE CASCADE @@ -2043,9 +2050,6 @@ ALTER TABLE edfi.GeneralStudentProgramAssociation ADD CONSTRAINT FK_0516f9_Stude REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_0516f9_Student -ON edfi.GeneralStudentProgramAssociation (StudentUSI ASC); - ALTER TABLE edfi.GeneralStudentProgramAssociationProgramParticipationStatus ADD CONSTRAINT FK_0855d2_GeneralStudentProgramAssociation FOREIGN KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) ON DELETE CASCADE @@ -2973,9 +2977,6 @@ ALTER TABLE edfi.LocalContractedStaff ADD CONSTRAINT FK_4d9b4a_Staff FOREIGN KEY REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_4d9b4a_Staff -ON edfi.LocalContractedStaff (StaffUSI ASC); - ALTER TABLE edfi.LocaleDescriptor ADD CONSTRAINT FK_be5f41_Descriptor FOREIGN KEY (LocaleDescriptorId) REFERENCES edfi.Descriptor (DescriptorId) ON DELETE CASCADE @@ -3089,9 +3090,6 @@ ALTER TABLE edfi.LocalPayroll ADD CONSTRAINT FK_46e5c2_Staff FOREIGN KEY (StaffU REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_46e5c2_Staff -ON edfi.LocalPayroll (StaffUSI ASC); - ALTER TABLE edfi.Location ADD CONSTRAINT FK_15b619_School FOREIGN KEY (SchoolId) REFERENCES edfi.School (SchoolId) ; @@ -3407,9 +3405,6 @@ ALTER TABLE edfi.PostSecondaryEvent ADD CONSTRAINT FK_b8b6d7_Student FOREIGN KEY REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_b8b6d7_Student -ON edfi.PostSecondaryEvent (StudentUSI ASC); - ALTER TABLE edfi.PostSecondaryEventCategoryDescriptor ADD CONSTRAINT FK_6829e4_Descriptor FOREIGN KEY (PostSecondaryEventCategoryDescriptorId) REFERENCES edfi.Descriptor (DescriptorId) ON DELETE CASCADE @@ -3735,9 +3730,6 @@ ALTER TABLE edfi.ReportCard ADD CONSTRAINT FK_ec1992_Student FOREIGN KEY (Studen REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_ec1992_Student -ON edfi.ReportCard (StudentUSI ASC); - ALTER TABLE edfi.ReportCardGrade ADD CONSTRAINT FK_f203d3_Grade FOREIGN KEY (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI) REFERENCES edfi.Grade (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI) ON UPDATE CASCADE @@ -3822,9 +3814,6 @@ ALTER TABLE edfi.RestraintEvent ADD CONSTRAINT FK_3800be_Student FOREIGN KEY (St REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_3800be_Student -ON edfi.RestraintEvent (StudentUSI ASC); - ALTER TABLE edfi.RestraintEventProgram ADD CONSTRAINT FK_d3d793_Program FOREIGN KEY (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId) REFERENCES edfi.Program (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId) ; @@ -4046,7 +4035,7 @@ REFERENCES edfi.SectionTypeDescriptor (SectionTypeDescriptorId) CREATE INDEX FK_dfca5d_SectionTypeDescriptor ON edfi.Section (SectionTypeDescriptorId ASC); -ALTER TABLE edfi.Section504DisabilityTypeDescriptor ADD CONSTRAINT FK_e7f766_Descriptor FOREIGN KEY (Section504DisabilityTypeDescriptorId) +ALTER TABLE edfi.Section504DisabilityDescriptor ADD CONSTRAINT FK_bfdfd9_Descriptor FOREIGN KEY (Section504DisabilityDescriptorId) REFERENCES edfi.Descriptor (DescriptorId) ON DELETE CASCADE ; @@ -4070,9 +4059,6 @@ ALTER TABLE edfi.SectionAttendanceTakenEvent ADD CONSTRAINT FK_7bbbe7_Staff FORE REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_7bbbe7_Staff -ON edfi.SectionAttendanceTakenEvent (StaffUSI ASC); - ALTER TABLE edfi.SectionCharacteristic ADD CONSTRAINT FK_1587d8_Section FOREIGN KEY (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName) REFERENCES edfi.Section (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName) ON DELETE CASCADE @@ -4284,9 +4270,6 @@ ALTER TABLE edfi.StaffAbsenceEvent ADD CONSTRAINT FK_b13bbd_Staff FOREIGN KEY (S REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_b13bbd_Staff -ON edfi.StaffAbsenceEvent (StaffUSI ASC); - ALTER TABLE edfi.StaffAddress ADD CONSTRAINT FK_c0e4a3_AddressTypeDescriptor FOREIGN KEY (AddressTypeDescriptorId) REFERENCES edfi.AddressTypeDescriptor (AddressTypeDescriptorId) ; @@ -4346,9 +4329,6 @@ ALTER TABLE edfi.StaffCohortAssociation ADD CONSTRAINT FK_170747_Staff FOREIGN K REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_170747_Staff -ON edfi.StaffCohortAssociation (StaffUSI ASC); - ALTER TABLE edfi.StaffCredential ADD CONSTRAINT FK_f3917b_Credential FOREIGN KEY (CredentialIdentifier, StateOfIssueStateAbbreviationDescriptorId) REFERENCES edfi.Credential (CredentialIdentifier, StateOfIssueStateAbbreviationDescriptorId) ; @@ -4372,9 +4352,6 @@ ALTER TABLE edfi.StaffDisciplineIncidentAssociation ADD CONSTRAINT FK_af86db_Sta REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_af86db_Staff -ON edfi.StaffDisciplineIncidentAssociation (StaffUSI ASC); - ALTER TABLE edfi.StaffDisciplineIncidentAssociationDisciplineIncidentPart_7fa4be ADD CONSTRAINT FK_7fa4be_DisciplineIncidentParticipationCodeDescriptor FOREIGN KEY (DisciplineIncidentParticipationCodeDescriptorId) REFERENCES edfi.DisciplineIncidentParticipationCodeDescriptor (DisciplineIncidentParticipationCodeDescriptorId) ; @@ -4402,9 +4379,6 @@ ALTER TABLE edfi.StaffEducationOrganizationAssignmentAssociation ADD CONSTRAINT REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_b9be24_Staff -ON edfi.StaffEducationOrganizationAssignmentAssociation (StaffUSI ASC); - ALTER TABLE edfi.StaffEducationOrganizationAssignmentAssociation ADD CONSTRAINT FK_b9be24_StaffClassificationDescriptor FOREIGN KEY (StaffClassificationDescriptorId) REFERENCES edfi.StaffClassificationDescriptor (StaffClassificationDescriptorId) ; @@ -4434,9 +4408,6 @@ ALTER TABLE edfi.StaffEducationOrganizationContactAssociation ADD CONSTRAINT FK_ REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_735dd8_Staff -ON edfi.StaffEducationOrganizationContactAssociation (StaffUSI ASC); - ALTER TABLE edfi.StaffEducationOrganizationContactAssociationAddress ADD CONSTRAINT FK_893629_AddressTypeDescriptor FOREIGN KEY (AddressTypeDescriptorId) REFERENCES edfi.AddressTypeDescriptor (AddressTypeDescriptorId) ; @@ -4516,9 +4487,6 @@ ALTER TABLE edfi.StaffEducationOrganizationEmploymentAssociation ADD CONSTRAINT REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_4e79b9_Staff -ON edfi.StaffEducationOrganizationEmploymentAssociation (StaffUSI ASC); - ALTER TABLE edfi.StaffElectronicMail ADD CONSTRAINT FK_d93663_ElectronicMailTypeDescriptor FOREIGN KEY (ElectronicMailTypeDescriptorId) REFERENCES edfi.ElectronicMailTypeDescriptor (ElectronicMailTypeDescriptorId) ; @@ -4621,9 +4589,6 @@ ALTER TABLE edfi.StaffLeave ADD CONSTRAINT FK_debd4f_Staff FOREIGN KEY (StaffUSI REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_debd4f_Staff -ON edfi.StaffLeave (StaffUSI ASC); - ALTER TABLE edfi.StaffLeave ADD CONSTRAINT FK_debd4f_StaffLeaveEventCategoryDescriptor FOREIGN KEY (StaffLeaveEventCategoryDescriptorId) REFERENCES edfi.StaffLeaveEventCategoryDescriptor (StaffLeaveEventCategoryDescriptorId) ; @@ -4685,9 +4650,6 @@ ALTER TABLE edfi.StaffProgramAssociation ADD CONSTRAINT FK_a9c0d9_Staff FOREIGN REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_a9c0d9_Staff -ON edfi.StaffProgramAssociation (StaffUSI ASC); - ALTER TABLE edfi.StaffRace ADD CONSTRAINT FK_696d9a_RaceDescriptor FOREIGN KEY (RaceDescriptorId) REFERENCES edfi.RaceDescriptor (RaceDescriptorId) ; @@ -4748,9 +4710,6 @@ ALTER TABLE edfi.StaffSchoolAssociation ADD CONSTRAINT FK_ce2080_Staff FOREIGN K REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_ce2080_Staff -ON edfi.StaffSchoolAssociation (StaffUSI ASC); - ALTER TABLE edfi.StaffSchoolAssociationAcademicSubject ADD CONSTRAINT FK_d891fb_AcademicSubjectDescriptor FOREIGN KEY (AcademicSubjectDescriptorId) REFERENCES edfi.AcademicSubjectDescriptor (AcademicSubjectDescriptorId) ; @@ -4794,9 +4753,6 @@ ALTER TABLE edfi.StaffSectionAssociation ADD CONSTRAINT FK_515cb5_Staff FOREIGN REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_515cb5_Staff -ON edfi.StaffSectionAssociation (StaffUSI ASC); - ALTER TABLE edfi.StaffTelephone ADD CONSTRAINT FK_4de15a_Staff FOREIGN KEY (StaffUSI) REFERENCES edfi.Staff (StaffUSI) ON DELETE CASCADE @@ -4938,9 +4894,6 @@ ALTER TABLE edfi.StudentAcademicRecord ADD CONSTRAINT FK_0ff8d6_Student FOREIGN REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_0ff8d6_Student -ON edfi.StudentAcademicRecord (StudentUSI ASC); - ALTER TABLE edfi.StudentAcademicRecord ADD CONSTRAINT FK_0ff8d6_TermDescriptor FOREIGN KEY (TermDescriptorId) REFERENCES edfi.TermDescriptor (TermDescriptorId) ; @@ -5115,9 +5068,6 @@ ALTER TABLE edfi.StudentAssessment ADD CONSTRAINT FK_ee3b2a_Student FOREIGN KEY REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_ee3b2a_Student -ON edfi.StudentAssessment (StudentUSI ASC); - ALTER TABLE edfi.StudentAssessmentAccommodation ADD CONSTRAINT FK_de959d_AccommodationDescriptor FOREIGN KEY (AccommodationDescriptorId) REFERENCES edfi.AccommodationDescriptor (AccommodationDescriptorId) ; @@ -5247,12 +5197,12 @@ REFERENCES edfi.PlatformTypeDescriptor (PlatformTypeDescriptorId) CREATE INDEX FK_79fd6b_PlatformTypeDescriptor ON edfi.StudentAssessmentRegistration (PlatformTypeDescriptorId ASC); -ALTER TABLE edfi.StudentAssessmentRegistration ADD CONSTRAINT FK_79fd6b_StudentEducationOrganizationAssessmentAccommodation FOREIGN KEY (EducationOrganizationId, StudentUSI) +ALTER TABLE edfi.StudentAssessmentRegistration ADD CONSTRAINT FK_79fd6b_StudentEducationOrganizationAssessmentAccommodation FOREIGN KEY (ScheduledEducationOrganizationId, ScheduledStudentUSI) REFERENCES edfi.StudentEducationOrganizationAssessmentAccommodation (EducationOrganizationId, StudentUSI) ; CREATE INDEX FK_79fd6b_StudentEducationOrganizationAssessmentAccommodation -ON edfi.StudentAssessmentRegistration (EducationOrganizationId ASC, StudentUSI ASC); +ON edfi.StudentAssessmentRegistration (ScheduledEducationOrganizationId ASC, ScheduledStudentUSI ASC); ALTER TABLE edfi.StudentAssessmentRegistration ADD CONSTRAINT FK_79fd6b_StudentEducationOrganizationAssociation FOREIGN KEY (EducationOrganizationId, StudentUSI) REFERENCES edfi.StudentEducationOrganizationAssociation (EducationOrganizationId, StudentUSI) @@ -5397,9 +5347,6 @@ ALTER TABLE edfi.StudentCohortAssociation ADD CONSTRAINT FK_369ddc_Student FOREI REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_369ddc_Student -ON edfi.StudentCohortAssociation (StudentUSI ASC); - ALTER TABLE edfi.StudentCohortAssociationSection ADD CONSTRAINT FK_d2362d_Section FOREIGN KEY (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName) REFERENCES edfi.Section (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName) ON UPDATE CASCADE @@ -5438,9 +5385,6 @@ ALTER TABLE edfi.StudentCompetencyObjective ADD CONSTRAINT FK_395c07_Student FOR REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_395c07_Student -ON edfi.StudentCompetencyObjective (StudentUSI ASC); - ALTER TABLE edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation ADD CONSTRAINT FK_005337_GeneralStudentProgramAssociation FOREIGN KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) ; @@ -5529,9 +5473,6 @@ ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociation ADD CONSTRAINT FK_ REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_f4934f_Student -ON edfi.StudentDisciplineIncidentBehaviorAssociation (StudentUSI ASC); - ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a21 ADD CONSTRAINT FK_ae6a21_DisciplineIncidentParticipationCodeDescriptor FOREIGN KEY (DisciplineIncidentParticipationCodeDescriptorId) REFERENCES edfi.DisciplineIncidentParticipationCodeDescriptor (DisciplineIncidentParticipationCodeDescriptorId) ; @@ -5544,6 +5485,18 @@ REFERENCES edfi.StudentDisciplineIncidentBehaviorAssociation (BehaviorDescriptor ON DELETE CASCADE ; +ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociationWeapon ADD CONSTRAINT FK_459d56_StudentDisciplineIncidentBehaviorAssociation FOREIGN KEY (BehaviorDescriptorId, IncidentIdentifier, SchoolId, StudentUSI) +REFERENCES edfi.StudentDisciplineIncidentBehaviorAssociation (BehaviorDescriptorId, IncidentIdentifier, SchoolId, StudentUSI) +ON DELETE CASCADE +; + +ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociationWeapon ADD CONSTRAINT FK_459d56_WeaponDescriptor FOREIGN KEY (WeaponDescriptorId) +REFERENCES edfi.WeaponDescriptor (WeaponDescriptorId) +; + +CREATE INDEX FK_459d56_WeaponDescriptor +ON edfi.StudentDisciplineIncidentBehaviorAssociationWeapon (WeaponDescriptorId ASC); + ALTER TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation ADD CONSTRAINT FK_4b43da_DisciplineIncident FOREIGN KEY (IncidentIdentifier, SchoolId) REFERENCES edfi.DisciplineIncident (IncidentIdentifier, SchoolId) ; @@ -5555,9 +5508,6 @@ ALTER TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation ADD CONSTRAINT REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_4b43da_Student -ON edfi.StudentDisciplineIncidentNonOffenderAssociation (StudentUSI ASC); - ALTER TABLE edfi.StudentDisciplineIncidentNonOffenderAssociationDisciplin_4c979a ADD CONSTRAINT FK_4c979a_DisciplineIncidentParticipationCodeDescriptor FOREIGN KEY (DisciplineIncidentParticipationCodeDescriptorId) REFERENCES edfi.DisciplineIncidentParticipationCodeDescriptor (DisciplineIncidentParticipationCodeDescriptorId) ; @@ -5578,9 +5528,6 @@ ALTER TABLE edfi.StudentEducationOrganizationAssessmentAccommodation ADD CONSTRA REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_5f4481_Student -ON edfi.StudentEducationOrganizationAssessmentAccommodation (StudentUSI ASC); - ALTER TABLE edfi.StudentEducationOrganizationAssessmentAccommodationGener_d1d10a ADD CONSTRAINT FK_d1d10a_AccommodationDescriptor FOREIGN KEY (AccommodationDescriptorId) REFERENCES edfi.AccommodationDescriptor (AccommodationDescriptorId) ; @@ -5657,9 +5604,6 @@ ALTER TABLE edfi.StudentEducationOrganizationAssociation ADD CONSTRAINT FK_8e125 REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_8e1257_Student -ON edfi.StudentEducationOrganizationAssociation (StudentUSI ASC); - ALTER TABLE edfi.StudentEducationOrganizationAssociation ADD CONSTRAINT FK_8e1257_SupporterMilitaryConnectionDescriptor FOREIGN KEY (SupporterMilitaryConnectionDescriptorId) REFERENCES edfi.SupporterMilitaryConnectionDescriptor (SupporterMilitaryConnectionDescriptorId) ; @@ -5931,9 +5875,6 @@ ALTER TABLE edfi.StudentEducationOrganizationResponsibilityAssociation ADD CONST REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_42aa64_Student -ON edfi.StudentEducationOrganizationResponsibilityAssociation (StudentUSI ASC); - ALTER TABLE edfi.StudentGradebookEntry ADD CONSTRAINT FK_c2efaa_AssignmentLateStatusDescriptor FOREIGN KEY (AssignmentLateStatusDescriptorId) REFERENCES edfi.AssignmentLateStatusDescriptor (AssignmentLateStatusDescriptorId) ; @@ -5960,9 +5901,6 @@ ALTER TABLE edfi.StudentGradebookEntry ADD CONSTRAINT FK_c2efaa_Student FOREIGN REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_c2efaa_Student -ON edfi.StudentGradebookEntry (StudentUSI ASC); - ALTER TABLE edfi.StudentGradebookEntry ADD CONSTRAINT FK_c2efaa_SubmissionStatusDescriptor FOREIGN KEY (SubmissionStatusDescriptorId) REFERENCES edfi.SubmissionStatusDescriptor (SubmissionStatusDescriptorId) ; @@ -5985,9 +5923,6 @@ ALTER TABLE edfi.StudentHealth ADD CONSTRAINT FK_12f7e6_Student FOREIGN KEY (Stu REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_12f7e6_Student -ON edfi.StudentHealth (StudentUSI ASC); - ALTER TABLE edfi.StudentHealthAdditionalImmunization ADD CONSTRAINT FK_e7bdaa_StudentHealth FOREIGN KEY (EducationOrganizationId, StudentUSI) REFERENCES edfi.StudentHealth (EducationOrganizationId, StudentUSI) ON DELETE CASCADE @@ -6088,9 +6023,6 @@ ALTER TABLE edfi.StudentInterventionAssociation ADD CONSTRAINT FK_25cb9c_Student REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_25cb9c_Student -ON edfi.StudentInterventionAssociation (StudentUSI ASC); - ALTER TABLE edfi.StudentInterventionAssociationInterventionEffectiveness ADD CONSTRAINT FK_29e870_DiagnosisDescriptor FOREIGN KEY (DiagnosisDescriptorId) REFERENCES edfi.DiagnosisDescriptor (DiagnosisDescriptorId) ; @@ -6149,9 +6081,6 @@ ALTER TABLE edfi.StudentInterventionAttendanceEvent ADD CONSTRAINT FK_631023_Stu REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_631023_Student -ON edfi.StudentInterventionAttendanceEvent (StudentUSI ASC); - ALTER TABLE edfi.StudentLanguageInstructionProgramAssociation ADD CONSTRAINT FK_92de5d_GeneralStudentProgramAssociation FOREIGN KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) ON DELETE CASCADE @@ -6355,9 +6284,6 @@ ALTER TABLE edfi.StudentProgramAttendanceEvent ADD CONSTRAINT FK_317aeb_Student REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_317aeb_Student -ON edfi.StudentProgramAttendanceEvent (StudentUSI ASC); - ALTER TABLE edfi.StudentProgramEvaluation ADD CONSTRAINT FK_4b1054_EducationOrganization FOREIGN KEY (EducationOrganizationId) REFERENCES edfi.EducationOrganization (EducationOrganizationId) ; @@ -6532,9 +6458,6 @@ ALTER TABLE edfi.StudentSchoolAssociation ADD CONSTRAINT FK_857b52_Student FOREI REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_857b52_Student -ON edfi.StudentSchoolAssociation (StudentUSI ASC); - ALTER TABLE edfi.StudentSchoolAssociationAlternativeGraduationPlan ADD CONSTRAINT FK_70e978_GraduationPlan FOREIGN KEY (AlternativeEducationOrganizationId, AlternativeGraduationPlanTypeDescriptorId, AlternativeGraduationSchoolYear) REFERENCES edfi.GraduationPlan (EducationOrganizationId, GraduationPlanTypeDescriptorId, GraduationSchoolYear) ; @@ -6591,9 +6514,6 @@ ALTER TABLE edfi.StudentSchoolAttendanceEvent ADD CONSTRAINT FK_78fd7f_Student F REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_78fd7f_Student -ON edfi.StudentSchoolAttendanceEvent (StudentUSI ASC); - ALTER TABLE edfi.StudentSchoolFoodServiceProgramAssociation ADD CONSTRAINT FK_82e1e5_GeneralStudentProgramAssociation FOREIGN KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) ON DELETE CASCADE @@ -6616,12 +6536,12 @@ REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizati ON DELETE CASCADE ; -ALTER TABLE edfi.StudentSection504ProgramAssociation ADD CONSTRAINT FK_6e41ee_Section504DisabilityTypeDescriptor FOREIGN KEY (Section504DisabilityTypeDescriptorId) -REFERENCES edfi.Section504DisabilityTypeDescriptor (Section504DisabilityTypeDescriptorId) +ALTER TABLE edfi.StudentSection504ProgramAssociation ADD CONSTRAINT FK_6e41ee_Section504DisabilityDescriptor FOREIGN KEY (Section504DisabilityDescriptorId) +REFERENCES edfi.Section504DisabilityDescriptor (Section504DisabilityDescriptorId) ; -CREATE INDEX FK_6e41ee_Section504DisabilityTypeDescriptor -ON edfi.StudentSection504ProgramAssociation (Section504DisabilityTypeDescriptorId ASC); +CREATE INDEX FK_6e41ee_Section504DisabilityDescriptor +ON edfi.StudentSection504ProgramAssociation (Section504DisabilityDescriptorId ASC); ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_AttemptStatusDescriptor FOREIGN KEY (AttemptStatusDescriptorId) REFERENCES edfi.AttemptStatusDescriptor (AttemptStatusDescriptorId) @@ -6630,6 +6550,27 @@ REFERENCES edfi.AttemptStatusDescriptor (AttemptStatusDescriptorId) CREATE INDEX FK_39aa3c_AttemptStatusDescriptor ON edfi.StudentSectionAssociation (AttemptStatusDescriptorId ASC); +ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_DualCreditInstitutionDescriptor FOREIGN KEY (DualCreditInstitutionDescriptorId) +REFERENCES edfi.DualCreditInstitutionDescriptor (DualCreditInstitutionDescriptorId) +; + +CREATE INDEX FK_39aa3c_DualCreditInstitutionDescriptor +ON edfi.StudentSectionAssociation (DualCreditInstitutionDescriptorId ASC); + +ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_DualCreditTypeDescriptor FOREIGN KEY (DualCreditTypeDescriptorId) +REFERENCES edfi.DualCreditTypeDescriptor (DualCreditTypeDescriptorId) +; + +CREATE INDEX FK_39aa3c_DualCreditTypeDescriptor +ON edfi.StudentSectionAssociation (DualCreditTypeDescriptorId ASC); + +ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_EducationOrganization FOREIGN KEY (DualCreditEducationOrganizationId) +REFERENCES edfi.EducationOrganization (EducationOrganizationId) +; + +CREATE INDEX FK_39aa3c_EducationOrganization +ON edfi.StudentSectionAssociation (DualCreditEducationOrganizationId ASC); + ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_RepeatIdentifierDescriptor FOREIGN KEY (RepeatIdentifierDescriptorId) REFERENCES edfi.RepeatIdentifierDescriptor (RepeatIdentifierDescriptorId) ; @@ -6649,9 +6590,6 @@ ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_Student FORE REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_39aa3c_Student -ON edfi.StudentSectionAssociation (StudentUSI ASC); - ALTER TABLE edfi.StudentSectionAssociationProgram ADD CONSTRAINT FK_990204_Program FOREIGN KEY (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId) REFERENCES edfi.Program (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId) ; @@ -6691,9 +6629,6 @@ ALTER TABLE edfi.StudentSectionAttendanceEvent ADD CONSTRAINT FK_61b087_Student REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_61b087_Student -ON edfi.StudentSectionAttendanceEvent (StudentUSI ASC); - ALTER TABLE edfi.StudentSectionAttendanceEventClassPeriod ADD CONSTRAINT FK_80c6c1_ClassPeriod FOREIGN KEY (ClassPeriodName, SchoolId) REFERENCES edfi.ClassPeriod (ClassPeriodName, SchoolId) ON UPDATE CASCADE @@ -6837,9 +6772,6 @@ ALTER TABLE edfi.StudentSpecialEducationProgramEligibilityAssociation ADD CONSTR REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_fcb699_Student -ON edfi.StudentSpecialEducationProgramEligibilityAssociation (StudentUSI ASC); - ALTER TABLE edfi.StudentTitleIPartAProgramAssociation ADD CONSTRAINT FK_27d914_GeneralStudentProgramAssociation FOREIGN KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) ON DELETE CASCADE @@ -6875,9 +6807,6 @@ ALTER TABLE edfi.StudentTransportation ADD CONSTRAINT FK_68afad_Student FOREIGN REFERENCES edfi.Student (StudentUSI) ; -CREATE INDEX FK_68afad_Student -ON edfi.StudentTransportation (StudentUSI ASC); - ALTER TABLE edfi.StudentTransportation ADD CONSTRAINT FK_68afad_TransportationPublicExpenseEligibilityTypeDescriptor FOREIGN KEY (TransportationPublicExpenseEligibilityTypeDescriptorId) REFERENCES edfi.TransportationPublicExpenseEligibilityTypeDescriptor (TransportationPublicExpenseEligibilityTypeDescriptorId) ; @@ -7112,9 +7041,6 @@ ALTER TABLE edfi.SurveyResponseStaffTargetAssociation ADD CONSTRAINT FK_f9457e_S REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_f9457e_Staff -ON edfi.SurveyResponseStaffTargetAssociation (StaffUSI ASC); - ALTER TABLE edfi.SurveyResponseStaffTargetAssociation ADD CONSTRAINT FK_f9457e_SurveyResponse FOREIGN KEY (Namespace, SurveyIdentifier, SurveyResponseIdentifier) REFERENCES edfi.SurveyResponse (Namespace, SurveyIdentifier, SurveyResponseIdentifier) ; @@ -7185,9 +7111,6 @@ ALTER TABLE edfi.SurveySectionResponseStaffTargetAssociation ADD CONSTRAINT FK_3 REFERENCES edfi.Staff (StaffUSI) ; -CREATE INDEX FK_39073d_Staff -ON edfi.SurveySectionResponseStaffTargetAssociation (StaffUSI ASC); - ALTER TABLE edfi.SurveySectionResponseStaffTargetAssociation ADD CONSTRAINT FK_39073d_SurveySectionResponse FOREIGN KEY (Namespace, SurveyIdentifier, SurveyResponseIdentifier, SurveySectionTitle) REFERENCES edfi.SurveySectionResponse (Namespace, SurveyIdentifier, SurveyResponseIdentifier, SurveySectionTitle) ; diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql index 14b679170e..bcc62c264b 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql @@ -11,14 +11,14 @@ CREATE UNIQUE INDEX IF NOT EXISTS UX_7808ee_Id ON edfi.Assessment(Id); CREATE UNIQUE INDEX IF NOT EXISTS UX_c64558_Id ON edfi.AssessmentAdministration(Id); +CREATE UNIQUE INDEX IF NOT EXISTS UX_77818e_Id ON edfi.AssessmentAdministrationParticipation(Id); + CREATE UNIQUE INDEX IF NOT EXISTS UX_6e22f2_Id ON edfi.AssessmentBatteryPart(Id); CREATE UNIQUE INDEX IF NOT EXISTS UX_dc3dcf_Id ON edfi.AssessmentItem(Id); CREATE UNIQUE INDEX IF NOT EXISTS UX_a20588_Id ON edfi.AssessmentScoreRangeLearningStandard(Id); -CREATE UNIQUE INDEX IF NOT EXISTS UX_0b52ab_Id ON edfi.AssesssmentAdministrationParticipation(Id); - CREATE UNIQUE INDEX IF NOT EXISTS UX_e52c9c_Id ON edfi.BalanceSheetDimension(Id); CREATE UNIQUE INDEX IF NOT EXISTS UX_9bbaf5_Id ON edfi.BellSchedule(Id); diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql index 8a8c9a70f7..77c32e4cbc 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql @@ -93,15 +93,6 @@ COMMENT ON COLUMN edfi.AssessmentAdministration.AssessmentIdentifier IS 'A uniqu COMMENT ON COLUMN edfi.AssessmentAdministration.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.'; COMMENT ON COLUMN edfi.AssessmentAdministration.Namespace IS 'Namespace for the assessment.'; --- Extended Properties [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] -- -COMMENT ON TABLE edfi.AssessmentAdministrationAssessmentAdminstrationPeriod IS 'The anticipated dates for the assessment or administration window.'; -COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.'; -COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.'; -COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.'; -COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.Namespace IS 'Namespace for the assessment.'; -COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.BeginDate IS 'The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.'; -COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.EndDate IS 'The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.'; - -- Extended Properties [edfi].[AssessmentAdministrationAssessmentBatteryPart] -- COMMENT ON TABLE edfi.AssessmentAdministrationAssessmentBatteryPart IS 'A reference to the parts of the assessment battery that are offered in this administration of the assessment.'; COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentBatteryPart.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.'; @@ -110,6 +101,36 @@ COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentBatteryPart.AssigningEd COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentBatteryPart.Namespace IS 'Namespace for the assessment.'; COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentBatteryPart.AssessmentBatteryPartName IS 'The name of the part of an assessment battery.'; +-- Extended Properties [edfi].[AssessmentAdministrationParticipation] -- +COMMENT ON TABLE edfi.AssessmentAdministrationParticipation IS 'Identifies the point of contact for the administration of an assessment under the purview of an education organization.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipation.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipation.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipation.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipation.Namespace IS 'Namespace for the assessment.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipation.ParticipatingEducationOrganizationId IS 'The identifier assigned to an education organization.'; + +-- Extended Properties [edfi].[AssessmentAdministrationParticipationAdministrationPoint_c63833] -- +COMMENT ON TABLE edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 IS 'Pre-identified contacts for education organizations administering the assessment.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.Namespace IS 'Namespace for the assessment.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.ParticipatingEducationOrganizationId IS 'The identifier assigned to an education organization.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.EducationOrganizationId IS 'The identifier assigned to an education organization.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.ElectronicMailAddress IS 'The email address for the contact.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.FirstName IS 'The contact''s first name.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.LastSurname IS 'The contact''s last name.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.LoginId IS 'The login ID for the user; used for security access control interface.'; + +-- Extended Properties [edfi].[AssessmentAdministrationPeriod] -- +COMMENT ON TABLE edfi.AssessmentAdministrationPeriod IS 'The anticipated dates for the assessment or administration window.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.Namespace IS 'Namespace for the assessment.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.BeginDate IS 'The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.'; +COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.EndDate IS 'The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.'; + -- Extended Properties [edfi].[AssessmentAssessedGradeLevel] -- COMMENT ON TABLE edfi.AssessmentAssessedGradeLevel IS 'The grade level(s) for which an assessment is designed. The semantics of null is assumed to mean that the assessment is not associated with any grade level.'; COMMENT ON COLUMN edfi.AssessmentAssessedGradeLevel.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.'; @@ -288,27 +309,6 @@ COMMENT ON COLUMN edfi.AssessmentSection.SchoolYear IS 'The identifier for the s COMMENT ON COLUMN edfi.AssessmentSection.SectionIdentifier IS 'The local identifier assigned to a section.'; COMMENT ON COLUMN edfi.AssessmentSection.SessionName IS 'The identifier for the calendar for the academic session.'; --- Extended Properties [edfi].[AssesssmentAdministrationParticipation] -- -COMMENT ON TABLE edfi.AssesssmentAdministrationParticipation IS 'Identifies the point of contact for the administration of an assessment under the purview of an education organization.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipation.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipation.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipation.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipation.Namespace IS 'Namespace for the assessment.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipation.ParticipatingEducationOrganizationId IS 'The identifier assigned to an education organization.'; - --- Extended Properties [edfi].[AssesssmentAdministrationParticipationAdministrationPoin_c21adc] -- -COMMENT ON TABLE edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc IS 'Pre-identified contacts for education organizations administering the assessment.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.Namespace IS 'Namespace for the assessment.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.ParticipatingEducationOrganizationId IS 'The identifier assigned to an education organization.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.EducationOrganizationId IS 'The identifier assigned to an education organization.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.ElectronicMailAddress IS 'The email address for the contact.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.FirstName IS 'The contact''s first name.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.LastSurname IS 'The contact''s last name.'; -COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.LoginId IS 'The login ID for the user; used for security access control interface.'; - -- Extended Properties [edfi].[AssignmentLateStatusDescriptor] -- COMMENT ON TABLE edfi.AssignmentLateStatusDescriptor IS 'Status of whether the assignment was submitted after the due date and/or marked as late.'; COMMENT ON COLUMN edfi.AssignmentLateStatusDescriptor.AssignmentLateStatusDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.'; @@ -1111,6 +1111,14 @@ COMMENT ON COLUMN edfi.DisciplineIncidentWeapon.WeaponDescriptorId IS 'Identifie COMMENT ON TABLE edfi.DisplacedStudentStatusDescriptor IS 'Indicates whether a student has been displaced as a result of a crisis event.'; COMMENT ON COLUMN edfi.DisplacedStudentStatusDescriptor.DisplacedStudentStatusDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.'; +-- Extended Properties [edfi].[DualCreditInstitutionDescriptor] -- +COMMENT ON TABLE edfi.DualCreditInstitutionDescriptor IS 'Custom descriptor of college institutions or categories of institutions participating in the dual credit program.'; +COMMENT ON COLUMN edfi.DualCreditInstitutionDescriptor.DualCreditInstitutionDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.'; + +-- Extended Properties [edfi].[DualCreditTypeDescriptor] -- +COMMENT ON TABLE edfi.DualCreditTypeDescriptor IS 'Indicates the type of the dual credit program.'; +COMMENT ON COLUMN edfi.DualCreditTypeDescriptor.DualCreditTypeDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.'; + -- Extended Properties [edfi].[EducationalEnvironmentDescriptor] -- COMMENT ON TABLE edfi.EducationalEnvironmentDescriptor IS 'The setting in which a child receives education and related services.'; COMMENT ON COLUMN edfi.EducationalEnvironmentDescriptor.EducationalEnvironmentDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.'; @@ -2680,9 +2688,9 @@ COMMENT ON COLUMN edfi.Section.SectionName IS 'A locally-defined name for the se COMMENT ON COLUMN edfi.Section.SectionTypeDescriptorId IS 'Specifies whether the section is for attendance only, credit only, or both.'; COMMENT ON COLUMN edfi.Section.SequenceOfCourse IS 'When a section is part of a sequence of parts for a course, the number of the sequence. If the course has only one part, the value of this section attribute should be 1.'; --- Extended Properties [edfi].[Section504DisabilityTypeDescriptor] -- -COMMENT ON TABLE edfi.Section504DisabilityTypeDescriptor IS 'This descriptor defines the reason(s) why student qualifies for Section 504 consideration.'; -COMMENT ON COLUMN edfi.Section504DisabilityTypeDescriptor.Section504DisabilityTypeDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.'; +-- Extended Properties [edfi].[Section504DisabilityDescriptor] -- +COMMENT ON TABLE edfi.Section504DisabilityDescriptor IS 'This descriptor defines the reason(s) why student qualifies for Section 504 consideration.'; +COMMENT ON COLUMN edfi.Section504DisabilityDescriptor.Section504DisabilityDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.'; -- Extended Properties [edfi].[SectionAttendanceTakenEvent] -- COMMENT ON TABLE edfi.SectionAttendanceTakenEvent IS 'Captures attendance taken event for given section.'; @@ -3422,6 +3430,8 @@ COMMENT ON COLUMN edfi.StudentAssessmentRegistration.AssessmentGradeLevelDescrip COMMENT ON COLUMN edfi.StudentAssessmentRegistration.EntryDate IS 'The month, day, and year on which an individual enters and begins to receive instructional services in a school for each school year. The EntryDate value should be the date the student enrolled, or when the student''s enrollment materially changed, such as with a grade promotion. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.'; COMMENT ON COLUMN edfi.StudentAssessmentRegistration.PlatformTypeDescriptorId IS 'The environment or format in which the assessment is expected to be administered.'; COMMENT ON COLUMN edfi.StudentAssessmentRegistration.ReportingEducationOrganizationId IS 'The identifier assigned to an education organization.'; +COMMENT ON COLUMN edfi.StudentAssessmentRegistration.ScheduledEducationOrganizationId IS 'The identifier assigned to an education organization.'; +COMMENT ON COLUMN edfi.StudentAssessmentRegistration.ScheduledStudentUSI IS 'A unique alphanumeric code assigned to a student.'; COMMENT ON COLUMN edfi.StudentAssessmentRegistration.SchoolId IS 'The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.'; COMMENT ON COLUMN edfi.StudentAssessmentRegistration.TestingEducationOrganizationId IS 'The identifier assigned to an education organization.'; @@ -3634,6 +3644,14 @@ COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a21.StudentUSI IS 'A unique alphanumeric code assigned to a student.'; COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a21.DisciplineIncidentParticipationCodeDescriptorId IS 'The role or type of participation of a student in a discipline incident.'; +-- Extended Properties [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] -- +COMMENT ON TABLE edfi.StudentDisciplineIncidentBehaviorAssociationWeapon IS 'Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.'; +COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationWeapon.BehaviorDescriptorId IS 'Describes behavior by category.'; +COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationWeapon.IncidentIdentifier IS 'A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.'; +COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationWeapon.SchoolId IS 'The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.'; +COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationWeapon.StudentUSI IS 'A unique alphanumeric code assigned to a student.'; +COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationWeapon.WeaponDescriptorId IS 'Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.'; + -- Extended Properties [edfi].[StudentDisciplineIncidentNonOffenderAssociation] -- COMMENT ON TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation IS 'This association indicates those students who were involved and not perpetrators for a discipline incident.'; COMMENT ON COLUMN edfi.StudentDisciplineIncidentNonOffenderAssociation.IncidentIdentifier IS 'A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.'; @@ -4291,7 +4309,7 @@ COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.ProgramName IS 'The f COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.ProgramTypeDescriptorId IS 'The type of program.'; COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.StudentUSI IS 'A unique alphanumeric code assigned to a student.'; COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.AccommodationPlan IS 'Indicates whether student has a Section 504 accommodation plan.'; -COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.Section504DisabilityTypeDescriptorId IS 'Defines one or more disabilities student has that qualifies them for a Section 504 plan.'; +COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.Section504DisabilityDescriptorId IS 'Defines one or more disabilities student has that qualifies them for a Section 504 plan.'; COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.Section504Eligibility IS 'Indicates whether student has a disability, either temporary or permenant, that qualifies student for Section 504 consideration. Selection of FALSE for this boolean is equivalent to marking student as ''Did Not Qualify''.'; COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.Section504EligibilityDecisionDate IS 'The month, day, and year on which the Section 504 eligibility decision is made.'; COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.Section504MeetingDate IS 'The month, day, and year on which the meeting with student''s parent/guardian held to discuss the 504 eligibility of the student.'; @@ -4306,6 +4324,11 @@ COMMENT ON COLUMN edfi.StudentSectionAssociation.SectionIdentifier IS 'The local COMMENT ON COLUMN edfi.StudentSectionAssociation.SessionName IS 'The identifier for the calendar for the academic session.'; COMMENT ON COLUMN edfi.StudentSectionAssociation.StudentUSI IS 'A unique alphanumeric code assigned to a student.'; COMMENT ON COLUMN edfi.StudentSectionAssociation.AttemptStatusDescriptorId IS 'An indication of the student''s completion status for the section.'; +COMMENT ON COLUMN edfi.StudentSectionAssociation.DualCreditEducationOrganizationId IS 'The identifier assigned to an education organization.'; +COMMENT ON COLUMN edfi.StudentSectionAssociation.DualCreditIndicator IS 'Indicates whether the student assigned to the section is to receive dual credit upon successful completion.'; +COMMENT ON COLUMN edfi.StudentSectionAssociation.DualCreditInstitutionDescriptorId IS 'Descriptor for the postsecondary institution offering college credit. This descriptor may be used to select a postsecondary institution that is not defined as an education organization, and/or select a general type of postsecondary institution.'; +COMMENT ON COLUMN edfi.StudentSectionAssociation.DualCreditTypeDescriptorId IS 'For a student taking a dual credit course in a college or high school setting, indicates the type of dual credit program.'; +COMMENT ON COLUMN edfi.StudentSectionAssociation.DualHighSchoolCreditIndicator IS 'Indicates whether successful completion of the course will result in credits toward high school graduation.'; COMMENT ON COLUMN edfi.StudentSectionAssociation.EndDate IS 'Month, day, and year of the withdrawal or exit of the student from the section. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.'; COMMENT ON COLUMN edfi.StudentSectionAssociation.HomeroomIndicator IS 'Indicates the section is the student''s homeroom. Homeroom period may the convention for taking daily attendance.'; COMMENT ON COLUMN edfi.StudentSectionAssociation.RepeatIdentifierDescriptorId IS 'An indication as to whether a student has previously taken a given course.'; @@ -4376,7 +4399,9 @@ COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.IEPReviewDate I COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.LastEvaluationDate IS 'The date of the last special education evaluation.'; COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.MedicallyFragile IS 'Indicates whether the student receiving special education and related services is: 1) in the age range of birth to 22 years, and 2) has a serious, ongoing illness or a chronic condition that has lasted or is anticipated to last at least 12 or more months or has required at least one month of hospitalization, and that requires daily, ongoing medical treatments and monitoring by appropriately trained personnel which may include parents or other family members, and 3) requires the routine use of medical device or of assistive technology to compensate for the loss of usefulness of a body function needed to participate in activities of daily living, and 4) lives with ongoing threat to his or her continued well-being. Aligns with federal requirements.'; COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.MultiplyDisabled IS 'Indicates whether the student receiving special education and related services has been designated as multiply disabled by the admission, review, and dismissal committee as aligned with federal requirements.'; +COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.ReductionInHoursPerWeekComparedToPeers IS 'Records the number of hours reduced for the shortened school day for the IEP student as compared to peers in regular education.'; COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.SchoolHoursPerWeek IS 'Indicate the total number of hours of instructional time per week for the school that the student attends.'; +COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.ShortenedSchoolDayIndicator IS 'Indicator that the student''s IEP requires a shortened school day.'; COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.SpecialEducationExitDate IS 'The month, day and year on which a person stops receiving special education services.'; COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.SpecialEducationExitExplained IS 'Explanation on why a person stops receiving special education services.'; COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.SpecialEducationExitReasonDescriptorId IS 'The reason why a person stops receiving special education services.'; diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql index dad9fa2345..ed89ac2b4d 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -10,7 +10,7 @@ CREATE INDEX IF NOT EXISTS IX_AccountabilityRating_EducationOrganizationId ON ed CREATE INDEX IF NOT EXISTS IX_Assessment_EducationOrganizationId ON edfi.Assessment(EducationOrganizationId) INCLUDE (Id); -CREATE INDEX IF NOT EXISTS IX_AssesssmentAdministrationParticipation_AssigningEducationOrganizationId ON edfi.AssesssmentAdministrationParticipation(AssigningEducationOrganizationId) INCLUDE (Id); +CREATE INDEX IF NOT EXISTS IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId ON edfi.AssessmentAdministrationParticipation(AssigningEducationOrganizationId) INCLUDE (Id); CREATE INDEX IF NOT EXISTS IX_BellSchedule_SchoolId ON edfi.BellSchedule(SchoolId) INCLUDE (Id); diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1460-AggregateIdColumns.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1460-AggregateIdColumns.sql index 4d9cac0926..8b55ac8f85 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1460-AggregateIdColumns.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1460-AggregateIdColumns.sql @@ -5,611 +5,611 @@ CREATE SEQUENCE edfi.AcademicWeek_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.AcademicWeek ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AcademicWeek_aggseq'); +ALTER TABLE edfi.AcademicWeek ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AcademicWeek_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_AcademicWeek_aggid ON edfi.AcademicWeek (AggregateId); CREATE SEQUENCE edfi.AccountabilityRating_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.AccountabilityRating ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AccountabilityRating_aggseq'); +ALTER TABLE edfi.AccountabilityRating ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AccountabilityRating_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_AccountabilityRating_aggid ON edfi.AccountabilityRating (AggregateId); CREATE SEQUENCE edfi.Assessment_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Assessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Assessment_aggseq'); +ALTER TABLE edfi.Assessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Assessment_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Assessment_aggid ON edfi.Assessment (AggregateId); CREATE SEQUENCE edfi.AssessmentAdministration_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.AssessmentAdministration ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentAdministration_aggseq'); +ALTER TABLE edfi.AssessmentAdministration ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentAdministration_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_AssessmentAdministration_aggid ON edfi.AssessmentAdministration (AggregateId); +CREATE SEQUENCE edfi.AssessmentAdministrationParticipation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; +ALTER TABLE edfi.AssessmentAdministrationParticipation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentAdministrationParticipation_aggseq'), ADD COLUMN AggregateData bytea; +CREATE INDEX ix_AssessmentAdministrationParticipation_aggid ON edfi.AssessmentAdministrationParticipation (AggregateId); + + CREATE SEQUENCE edfi.AssessmentBatteryPart_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.AssessmentBatteryPart ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentBatteryPart_aggseq'); +ALTER TABLE edfi.AssessmentBatteryPart ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentBatteryPart_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_AssessmentBatteryPart_aggid ON edfi.AssessmentBatteryPart (AggregateId); CREATE SEQUENCE edfi.AssessmentItem_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.AssessmentItem ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentItem_aggseq'); +ALTER TABLE edfi.AssessmentItem ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentItem_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_AssessmentItem_aggid ON edfi.AssessmentItem (AggregateId); CREATE SEQUENCE edfi.AssessmentScoreRangeLearningStandard_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.AssessmentScoreRangeLearningStandard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentScoreRangeLearningStandard_aggseq'); +ALTER TABLE edfi.AssessmentScoreRangeLearningStandard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentScoreRangeLearningStandard_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_AssessmentScoreRangeLearningStandard_aggid ON edfi.AssessmentScoreRangeLearningStandard (AggregateId); -CREATE SEQUENCE edfi.AssesssmentAdministrationParticipation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.AssesssmentAdministrationParticipation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssesssmentAdministrationParticipation_aggseq'); -CREATE INDEX ix_AssesssmentAdministrationParticipation_aggid ON edfi.AssesssmentAdministrationParticipation (AggregateId); - - CREATE SEQUENCE edfi.BalanceSheetDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.BalanceSheetDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.BalanceSheetDimension_aggseq'); +ALTER TABLE edfi.BalanceSheetDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.BalanceSheetDimension_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_BalanceSheetDimension_aggid ON edfi.BalanceSheetDimension (AggregateId); CREATE SEQUENCE edfi.BellSchedule_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.BellSchedule ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.BellSchedule_aggseq'); +ALTER TABLE edfi.BellSchedule ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.BellSchedule_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_BellSchedule_aggid ON edfi.BellSchedule (AggregateId); CREATE SEQUENCE edfi.Calendar_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Calendar ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Calendar_aggseq'); +ALTER TABLE edfi.Calendar ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Calendar_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Calendar_aggid ON edfi.Calendar (AggregateId); CREATE SEQUENCE edfi.CalendarDate_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.CalendarDate ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CalendarDate_aggseq'); +ALTER TABLE edfi.CalendarDate ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CalendarDate_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_CalendarDate_aggid ON edfi.CalendarDate (AggregateId); CREATE SEQUENCE edfi.ChartOfAccount_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.ChartOfAccount ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ChartOfAccount_aggseq'); +ALTER TABLE edfi.ChartOfAccount ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ChartOfAccount_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_ChartOfAccount_aggid ON edfi.ChartOfAccount (AggregateId); CREATE SEQUENCE edfi.ClassPeriod_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.ClassPeriod ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ClassPeriod_aggseq'); +ALTER TABLE edfi.ClassPeriod ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ClassPeriod_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_ClassPeriod_aggid ON edfi.ClassPeriod (AggregateId); CREATE SEQUENCE edfi.Cohort_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Cohort ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Cohort_aggseq'); +ALTER TABLE edfi.Cohort ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Cohort_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Cohort_aggid ON edfi.Cohort (AggregateId); CREATE SEQUENCE edfi.CommunityProviderLicense_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.CommunityProviderLicense ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CommunityProviderLicense_aggseq'); +ALTER TABLE edfi.CommunityProviderLicense ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CommunityProviderLicense_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_CommunityProviderLicense_aggid ON edfi.CommunityProviderLicense (AggregateId); CREATE SEQUENCE edfi.CompetencyObjective_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.CompetencyObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CompetencyObjective_aggseq'); +ALTER TABLE edfi.CompetencyObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CompetencyObjective_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_CompetencyObjective_aggid ON edfi.CompetencyObjective (AggregateId); CREATE SEQUENCE edfi.Contact_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Contact ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Contact_aggseq'); +ALTER TABLE edfi.Contact ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Contact_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Contact_aggid ON edfi.Contact (AggregateId); CREATE SEQUENCE edfi.Course_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Course ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Course_aggseq'); +ALTER TABLE edfi.Course ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Course_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Course_aggid ON edfi.Course (AggregateId); CREATE SEQUENCE edfi.CourseOffering_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.CourseOffering ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CourseOffering_aggseq'); +ALTER TABLE edfi.CourseOffering ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CourseOffering_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_CourseOffering_aggid ON edfi.CourseOffering (AggregateId); CREATE SEQUENCE edfi.CourseTranscript_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.CourseTranscript ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CourseTranscript_aggseq'); +ALTER TABLE edfi.CourseTranscript ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CourseTranscript_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_CourseTranscript_aggid ON edfi.CourseTranscript (AggregateId); CREATE SEQUENCE edfi.Credential_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Credential ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Credential_aggseq'); +ALTER TABLE edfi.Credential ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Credential_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Credential_aggid ON edfi.Credential (AggregateId); CREATE SEQUENCE edfi.CrisisEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.CrisisEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CrisisEvent_aggseq'); +ALTER TABLE edfi.CrisisEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CrisisEvent_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_CrisisEvent_aggid ON edfi.CrisisEvent (AggregateId); CREATE SEQUENCE edfi.Descriptor_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Descriptor ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Descriptor_aggseq'); +ALTER TABLE edfi.Descriptor ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Descriptor_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Descriptor_aggid ON edfi.Descriptor (AggregateId); CREATE SEQUENCE edfi.DescriptorMapping_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.DescriptorMapping ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DescriptorMapping_aggseq'); +ALTER TABLE edfi.DescriptorMapping ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DescriptorMapping_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_DescriptorMapping_aggid ON edfi.DescriptorMapping (AggregateId); CREATE SEQUENCE edfi.DisciplineAction_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.DisciplineAction ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DisciplineAction_aggseq'); +ALTER TABLE edfi.DisciplineAction ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DisciplineAction_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_DisciplineAction_aggid ON edfi.DisciplineAction (AggregateId); CREATE SEQUENCE edfi.DisciplineIncident_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.DisciplineIncident ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DisciplineIncident_aggseq'); +ALTER TABLE edfi.DisciplineIncident ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DisciplineIncident_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_DisciplineIncident_aggid ON edfi.DisciplineIncident (AggregateId); CREATE SEQUENCE edfi.EducationContent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.EducationContent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationContent_aggseq'); +ALTER TABLE edfi.EducationContent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationContent_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_EducationContent_aggid ON edfi.EducationContent (AggregateId); CREATE SEQUENCE edfi.EducationOrganization_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.EducationOrganization ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganization_aggseq'); +ALTER TABLE edfi.EducationOrganization ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganization_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_EducationOrganization_aggid ON edfi.EducationOrganization (AggregateId); CREATE SEQUENCE edfi.EducationOrganizationInterventionPrescriptionAs_e670ae_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.EducationOrganizationInterventionPrescriptionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationInterventionPrescriptionAs_e670ae_aggseq'); +ALTER TABLE edfi.EducationOrganizationInterventionPrescriptionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationInterventionPrescriptionAs_e670ae_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_EducationOrganizationInterventionPrescriptionAs_e670ae_aggid ON edfi.EducationOrganizationInterventionPrescriptionAssociation (AggregateId); CREATE SEQUENCE edfi.EducationOrganizationNetworkAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.EducationOrganizationNetworkAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationNetworkAssociation_aggseq'); +ALTER TABLE edfi.EducationOrganizationNetworkAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationNetworkAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_EducationOrganizationNetworkAssociation_aggid ON edfi.EducationOrganizationNetworkAssociation (AggregateId); CREATE SEQUENCE edfi.EducationOrganizationPeerAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.EducationOrganizationPeerAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationPeerAssociation_aggseq'); +ALTER TABLE edfi.EducationOrganizationPeerAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationPeerAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_EducationOrganizationPeerAssociation_aggid ON edfi.EducationOrganizationPeerAssociation (AggregateId); CREATE SEQUENCE edfi.EvaluationRubricDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.EvaluationRubricDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EvaluationRubricDimension_aggseq'); +ALTER TABLE edfi.EvaluationRubricDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EvaluationRubricDimension_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_EvaluationRubricDimension_aggid ON edfi.EvaluationRubricDimension (AggregateId); CREATE SEQUENCE edfi.FeederSchoolAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.FeederSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FeederSchoolAssociation_aggseq'); +ALTER TABLE edfi.FeederSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FeederSchoolAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_FeederSchoolAssociation_aggid ON edfi.FeederSchoolAssociation (AggregateId); CREATE SEQUENCE edfi.FunctionDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.FunctionDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FunctionDimension_aggseq'); +ALTER TABLE edfi.FunctionDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FunctionDimension_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_FunctionDimension_aggid ON edfi.FunctionDimension (AggregateId); CREATE SEQUENCE edfi.FundDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.FundDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FundDimension_aggseq'); +ALTER TABLE edfi.FundDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FundDimension_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_FundDimension_aggid ON edfi.FundDimension (AggregateId); CREATE SEQUENCE edfi.GeneralStudentProgramAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.GeneralStudentProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GeneralStudentProgramAssociation_aggseq'); +ALTER TABLE edfi.GeneralStudentProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GeneralStudentProgramAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_GeneralStudentProgramAssociation_aggid ON edfi.GeneralStudentProgramAssociation (AggregateId); CREATE SEQUENCE edfi.Grade_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Grade ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Grade_aggseq'); +ALTER TABLE edfi.Grade ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Grade_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Grade_aggid ON edfi.Grade (AggregateId); CREATE SEQUENCE edfi.GradebookEntry_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.GradebookEntry ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GradebookEntry_aggseq'); +ALTER TABLE edfi.GradebookEntry ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GradebookEntry_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_GradebookEntry_aggid ON edfi.GradebookEntry (AggregateId); CREATE SEQUENCE edfi.GradingPeriod_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.GradingPeriod ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GradingPeriod_aggseq'); +ALTER TABLE edfi.GradingPeriod ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GradingPeriod_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_GradingPeriod_aggid ON edfi.GradingPeriod (AggregateId); CREATE SEQUENCE edfi.GraduationPlan_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.GraduationPlan ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GraduationPlan_aggseq'); +ALTER TABLE edfi.GraduationPlan ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GraduationPlan_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_GraduationPlan_aggid ON edfi.GraduationPlan (AggregateId); CREATE SEQUENCE edfi.Intervention_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Intervention ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Intervention_aggseq'); +ALTER TABLE edfi.Intervention ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Intervention_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Intervention_aggid ON edfi.Intervention (AggregateId); CREATE SEQUENCE edfi.InterventionPrescription_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.InterventionPrescription ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.InterventionPrescription_aggseq'); +ALTER TABLE edfi.InterventionPrescription ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.InterventionPrescription_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_InterventionPrescription_aggid ON edfi.InterventionPrescription (AggregateId); CREATE SEQUENCE edfi.InterventionStudy_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.InterventionStudy ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.InterventionStudy_aggseq'); +ALTER TABLE edfi.InterventionStudy ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.InterventionStudy_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_InterventionStudy_aggid ON edfi.InterventionStudy (AggregateId); CREATE SEQUENCE edfi.LearningStandard_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.LearningStandard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LearningStandard_aggseq'); +ALTER TABLE edfi.LearningStandard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LearningStandard_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_LearningStandard_aggid ON edfi.LearningStandard (AggregateId); CREATE SEQUENCE edfi.LearningStandardEquivalenceAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.LearningStandardEquivalenceAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LearningStandardEquivalenceAssociation_aggseq'); +ALTER TABLE edfi.LearningStandardEquivalenceAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LearningStandardEquivalenceAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_LearningStandardEquivalenceAssociation_aggid ON edfi.LearningStandardEquivalenceAssociation (AggregateId); CREATE SEQUENCE edfi.LocalAccount_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.LocalAccount ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalAccount_aggseq'); +ALTER TABLE edfi.LocalAccount ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalAccount_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_LocalAccount_aggid ON edfi.LocalAccount (AggregateId); CREATE SEQUENCE edfi.LocalActual_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.LocalActual ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalActual_aggseq'); +ALTER TABLE edfi.LocalActual ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalActual_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_LocalActual_aggid ON edfi.LocalActual (AggregateId); CREATE SEQUENCE edfi.LocalBudget_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.LocalBudget ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalBudget_aggseq'); +ALTER TABLE edfi.LocalBudget ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalBudget_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_LocalBudget_aggid ON edfi.LocalBudget (AggregateId); CREATE SEQUENCE edfi.LocalContractedStaff_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.LocalContractedStaff ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalContractedStaff_aggseq'); +ALTER TABLE edfi.LocalContractedStaff ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalContractedStaff_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_LocalContractedStaff_aggid ON edfi.LocalContractedStaff (AggregateId); CREATE SEQUENCE edfi.LocalEncumbrance_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.LocalEncumbrance ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalEncumbrance_aggseq'); +ALTER TABLE edfi.LocalEncumbrance ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalEncumbrance_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_LocalEncumbrance_aggid ON edfi.LocalEncumbrance (AggregateId); CREATE SEQUENCE edfi.LocalPayroll_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.LocalPayroll ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalPayroll_aggseq'); +ALTER TABLE edfi.LocalPayroll ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalPayroll_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_LocalPayroll_aggid ON edfi.LocalPayroll (AggregateId); CREATE SEQUENCE edfi.Location_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Location ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Location_aggseq'); +ALTER TABLE edfi.Location ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Location_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Location_aggid ON edfi.Location (AggregateId); CREATE SEQUENCE edfi.ObjectDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.ObjectDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ObjectDimension_aggseq'); +ALTER TABLE edfi.ObjectDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ObjectDimension_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_ObjectDimension_aggid ON edfi.ObjectDimension (AggregateId); CREATE SEQUENCE edfi.ObjectiveAssessment_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.ObjectiveAssessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ObjectiveAssessment_aggseq'); +ALTER TABLE edfi.ObjectiveAssessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ObjectiveAssessment_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_ObjectiveAssessment_aggid ON edfi.ObjectiveAssessment (AggregateId); CREATE SEQUENCE edfi.OpenStaffPosition_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.OpenStaffPosition ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.OpenStaffPosition_aggseq'); +ALTER TABLE edfi.OpenStaffPosition ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.OpenStaffPosition_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_OpenStaffPosition_aggid ON edfi.OpenStaffPosition (AggregateId); CREATE SEQUENCE edfi.OperationalUnitDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.OperationalUnitDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.OperationalUnitDimension_aggseq'); +ALTER TABLE edfi.OperationalUnitDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.OperationalUnitDimension_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_OperationalUnitDimension_aggid ON edfi.OperationalUnitDimension (AggregateId); CREATE SEQUENCE edfi.Person_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Person ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Person_aggseq'); +ALTER TABLE edfi.Person ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Person_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Person_aggid ON edfi.Person (AggregateId); CREATE SEQUENCE edfi.PostSecondaryEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.PostSecondaryEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.PostSecondaryEvent_aggseq'); +ALTER TABLE edfi.PostSecondaryEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.PostSecondaryEvent_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_PostSecondaryEvent_aggid ON edfi.PostSecondaryEvent (AggregateId); CREATE SEQUENCE edfi.Program_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Program ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Program_aggseq'); +ALTER TABLE edfi.Program ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Program_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Program_aggid ON edfi.Program (AggregateId); CREATE SEQUENCE edfi.ProgramDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.ProgramDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramDimension_aggseq'); +ALTER TABLE edfi.ProgramDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramDimension_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_ProgramDimension_aggid ON edfi.ProgramDimension (AggregateId); CREATE SEQUENCE edfi.ProgramEvaluation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.ProgramEvaluation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluation_aggseq'); +ALTER TABLE edfi.ProgramEvaluation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_ProgramEvaluation_aggid ON edfi.ProgramEvaluation (AggregateId); CREATE SEQUENCE edfi.ProgramEvaluationElement_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.ProgramEvaluationElement ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluationElement_aggseq'); +ALTER TABLE edfi.ProgramEvaluationElement ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluationElement_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_ProgramEvaluationElement_aggid ON edfi.ProgramEvaluationElement (AggregateId); CREATE SEQUENCE edfi.ProgramEvaluationObjective_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.ProgramEvaluationObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluationObjective_aggseq'); +ALTER TABLE edfi.ProgramEvaluationObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluationObjective_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_ProgramEvaluationObjective_aggid ON edfi.ProgramEvaluationObjective (AggregateId); CREATE SEQUENCE edfi.ProjectDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.ProjectDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProjectDimension_aggseq'); +ALTER TABLE edfi.ProjectDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProjectDimension_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_ProjectDimension_aggid ON edfi.ProjectDimension (AggregateId); CREATE SEQUENCE edfi.ReportCard_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.ReportCard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ReportCard_aggseq'); +ALTER TABLE edfi.ReportCard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ReportCard_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_ReportCard_aggid ON edfi.ReportCard (AggregateId); CREATE SEQUENCE edfi.RestraintEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.RestraintEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.RestraintEvent_aggseq'); +ALTER TABLE edfi.RestraintEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.RestraintEvent_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_RestraintEvent_aggid ON edfi.RestraintEvent (AggregateId); CREATE SEQUENCE edfi.SchoolYearType_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SchoolYearType ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SchoolYearType_aggseq'); +ALTER TABLE edfi.SchoolYearType ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SchoolYearType_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SchoolYearType_aggid ON edfi.SchoolYearType (AggregateId); CREATE SEQUENCE edfi.Section_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Section ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Section_aggseq'); +ALTER TABLE edfi.Section ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Section_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Section_aggid ON edfi.Section (AggregateId); CREATE SEQUENCE edfi.SectionAttendanceTakenEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SectionAttendanceTakenEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SectionAttendanceTakenEvent_aggseq'); +ALTER TABLE edfi.SectionAttendanceTakenEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SectionAttendanceTakenEvent_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SectionAttendanceTakenEvent_aggid ON edfi.SectionAttendanceTakenEvent (AggregateId); CREATE SEQUENCE edfi.Session_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Session ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Session_aggseq'); +ALTER TABLE edfi.Session ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Session_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Session_aggid ON edfi.Session (AggregateId); CREATE SEQUENCE edfi.SourceDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SourceDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SourceDimension_aggseq'); +ALTER TABLE edfi.SourceDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SourceDimension_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SourceDimension_aggid ON edfi.SourceDimension (AggregateId); CREATE SEQUENCE edfi.Staff_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Staff ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Staff_aggseq'); +ALTER TABLE edfi.Staff ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Staff_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Staff_aggid ON edfi.Staff (AggregateId); CREATE SEQUENCE edfi.StaffAbsenceEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StaffAbsenceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffAbsenceEvent_aggseq'); +ALTER TABLE edfi.StaffAbsenceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffAbsenceEvent_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StaffAbsenceEvent_aggid ON edfi.StaffAbsenceEvent (AggregateId); CREATE SEQUENCE edfi.StaffCohortAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StaffCohortAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffCohortAssociation_aggseq'); +ALTER TABLE edfi.StaffCohortAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffCohortAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StaffCohortAssociation_aggid ON edfi.StaffCohortAssociation (AggregateId); CREATE SEQUENCE edfi.StaffDisciplineIncidentAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StaffDisciplineIncidentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffDisciplineIncidentAssociation_aggseq'); +ALTER TABLE edfi.StaffDisciplineIncidentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffDisciplineIncidentAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StaffDisciplineIncidentAssociation_aggid ON edfi.StaffDisciplineIncidentAssociation (AggregateId); CREATE SEQUENCE edfi.StaffEducationOrganizationAssignmentAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StaffEducationOrganizationAssignmentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationAssignmentAssociation_aggseq'); +ALTER TABLE edfi.StaffEducationOrganizationAssignmentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationAssignmentAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StaffEducationOrganizationAssignmentAssociation_aggid ON edfi.StaffEducationOrganizationAssignmentAssociation (AggregateId); CREATE SEQUENCE edfi.StaffEducationOrganizationContactAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StaffEducationOrganizationContactAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationContactAssociation_aggseq'); +ALTER TABLE edfi.StaffEducationOrganizationContactAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationContactAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StaffEducationOrganizationContactAssociation_aggid ON edfi.StaffEducationOrganizationContactAssociation (AggregateId); CREATE SEQUENCE edfi.StaffEducationOrganizationEmploymentAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StaffEducationOrganizationEmploymentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationEmploymentAssociation_aggseq'); +ALTER TABLE edfi.StaffEducationOrganizationEmploymentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationEmploymentAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StaffEducationOrganizationEmploymentAssociation_aggid ON edfi.StaffEducationOrganizationEmploymentAssociation (AggregateId); CREATE SEQUENCE edfi.StaffLeave_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StaffLeave ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffLeave_aggseq'); +ALTER TABLE edfi.StaffLeave ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffLeave_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StaffLeave_aggid ON edfi.StaffLeave (AggregateId); CREATE SEQUENCE edfi.StaffProgramAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StaffProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffProgramAssociation_aggseq'); +ALTER TABLE edfi.StaffProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffProgramAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StaffProgramAssociation_aggid ON edfi.StaffProgramAssociation (AggregateId); CREATE SEQUENCE edfi.StaffSchoolAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StaffSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffSchoolAssociation_aggseq'); +ALTER TABLE edfi.StaffSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffSchoolAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StaffSchoolAssociation_aggid ON edfi.StaffSchoolAssociation (AggregateId); CREATE SEQUENCE edfi.StaffSectionAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StaffSectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffSectionAssociation_aggseq'); +ALTER TABLE edfi.StaffSectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffSectionAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StaffSectionAssociation_aggid ON edfi.StaffSectionAssociation (AggregateId); CREATE SEQUENCE edfi.Student_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Student ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Student_aggseq'); +ALTER TABLE edfi.Student ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Student_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Student_aggid ON edfi.Student (AggregateId); CREATE SEQUENCE edfi.StudentAcademicRecord_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentAcademicRecord ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAcademicRecord_aggseq'); +ALTER TABLE edfi.StudentAcademicRecord ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAcademicRecord_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentAcademicRecord_aggid ON edfi.StudentAcademicRecord (AggregateId); CREATE SEQUENCE edfi.StudentAssessment_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentAssessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessment_aggseq'); +ALTER TABLE edfi.StudentAssessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessment_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentAssessment_aggid ON edfi.StudentAssessment (AggregateId); CREATE SEQUENCE edfi.StudentAssessmentEducationOrganizationAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentAssessmentEducationOrganizationAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentEducationOrganizationAssociation_aggseq'); +ALTER TABLE edfi.StudentAssessmentEducationOrganizationAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentEducationOrganizationAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentAssessmentEducationOrganizationAssociation_aggid ON edfi.StudentAssessmentEducationOrganizationAssociation (AggregateId); CREATE SEQUENCE edfi.StudentAssessmentRegistration_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentAssessmentRegistration ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentRegistration_aggseq'); +ALTER TABLE edfi.StudentAssessmentRegistration ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentRegistration_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentAssessmentRegistration_aggid ON edfi.StudentAssessmentRegistration (AggregateId); CREATE SEQUENCE edfi.StudentAssessmentRegistrationBatteryPartAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentAssessmentRegistrationBatteryPartAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentRegistrationBatteryPartAssociation_aggseq'); +ALTER TABLE edfi.StudentAssessmentRegistrationBatteryPartAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentRegistrationBatteryPartAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentAssessmentRegistrationBatteryPartAssociation_aggid ON edfi.StudentAssessmentRegistrationBatteryPartAssociation (AggregateId); CREATE SEQUENCE edfi.StudentCohortAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentCohortAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentCohortAssociation_aggseq'); +ALTER TABLE edfi.StudentCohortAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentCohortAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentCohortAssociation_aggid ON edfi.StudentCohortAssociation (AggregateId); CREATE SEQUENCE edfi.StudentCompetencyObjective_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentCompetencyObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentCompetencyObjective_aggseq'); +ALTER TABLE edfi.StudentCompetencyObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentCompetencyObjective_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentCompetencyObjective_aggid ON edfi.StudentCompetencyObjective (AggregateId); CREATE SEQUENCE edfi.StudentContactAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentContactAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentContactAssociation_aggseq'); +ALTER TABLE edfi.StudentContactAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentContactAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentContactAssociation_aggid ON edfi.StudentContactAssociation (AggregateId); CREATE SEQUENCE edfi.StudentDisciplineIncidentBehaviorAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentDisciplineIncidentBehaviorAssociation_aggseq'); +ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentDisciplineIncidentBehaviorAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentDisciplineIncidentBehaviorAssociation_aggid ON edfi.StudentDisciplineIncidentBehaviorAssociation (AggregateId); CREATE SEQUENCE edfi.StudentDisciplineIncidentNonOffenderAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentDisciplineIncidentNonOffenderAssociation_aggseq'); +ALTER TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentDisciplineIncidentNonOffenderAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentDisciplineIncidentNonOffenderAssociation_aggid ON edfi.StudentDisciplineIncidentNonOffenderAssociation (AggregateId); CREATE SEQUENCE edfi.StudentEducationOrganizationAssessmentAccommodation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentEducationOrganizationAssessmentAccommodation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationAssessmentAccommodation_aggseq'); +ALTER TABLE edfi.StudentEducationOrganizationAssessmentAccommodation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationAssessmentAccommodation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentEducationOrganizationAssessmentAccommodation_aggid ON edfi.StudentEducationOrganizationAssessmentAccommodation (AggregateId); CREATE SEQUENCE edfi.StudentEducationOrganizationAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentEducationOrganizationAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationAssociation_aggseq'); +ALTER TABLE edfi.StudentEducationOrganizationAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentEducationOrganizationAssociation_aggid ON edfi.StudentEducationOrganizationAssociation (AggregateId); CREATE SEQUENCE edfi.StudentEducationOrganizationResponsibilityAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentEducationOrganizationResponsibilityAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationResponsibilityAssociation_aggseq'); +ALTER TABLE edfi.StudentEducationOrganizationResponsibilityAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationResponsibilityAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentEducationOrganizationResponsibilityAssociation_aggid ON edfi.StudentEducationOrganizationResponsibilityAssociation (AggregateId); CREATE SEQUENCE edfi.StudentGradebookEntry_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentGradebookEntry ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentGradebookEntry_aggseq'); +ALTER TABLE edfi.StudentGradebookEntry ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentGradebookEntry_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentGradebookEntry_aggid ON edfi.StudentGradebookEntry (AggregateId); CREATE SEQUENCE edfi.StudentHealth_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentHealth ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentHealth_aggseq'); +ALTER TABLE edfi.StudentHealth ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentHealth_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentHealth_aggid ON edfi.StudentHealth (AggregateId); CREATE SEQUENCE edfi.StudentInterventionAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentInterventionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentInterventionAssociation_aggseq'); +ALTER TABLE edfi.StudentInterventionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentInterventionAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentInterventionAssociation_aggid ON edfi.StudentInterventionAssociation (AggregateId); CREATE SEQUENCE edfi.StudentInterventionAttendanceEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentInterventionAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentInterventionAttendanceEvent_aggseq'); +ALTER TABLE edfi.StudentInterventionAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentInterventionAttendanceEvent_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentInterventionAttendanceEvent_aggid ON edfi.StudentInterventionAttendanceEvent (AggregateId); CREATE SEQUENCE edfi.StudentProgramAttendanceEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentProgramAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentProgramAttendanceEvent_aggseq'); +ALTER TABLE edfi.StudentProgramAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentProgramAttendanceEvent_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentProgramAttendanceEvent_aggid ON edfi.StudentProgramAttendanceEvent (AggregateId); CREATE SEQUENCE edfi.StudentProgramEvaluation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentProgramEvaluation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentProgramEvaluation_aggseq'); +ALTER TABLE edfi.StudentProgramEvaluation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentProgramEvaluation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentProgramEvaluation_aggid ON edfi.StudentProgramEvaluation (AggregateId); CREATE SEQUENCE edfi.StudentSchoolAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSchoolAssociation_aggseq'); +ALTER TABLE edfi.StudentSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSchoolAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentSchoolAssociation_aggid ON edfi.StudentSchoolAssociation (AggregateId); CREATE SEQUENCE edfi.StudentSchoolAttendanceEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentSchoolAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSchoolAttendanceEvent_aggseq'); +ALTER TABLE edfi.StudentSchoolAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSchoolAttendanceEvent_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentSchoolAttendanceEvent_aggid ON edfi.StudentSchoolAttendanceEvent (AggregateId); CREATE SEQUENCE edfi.StudentSectionAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentSectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSectionAssociation_aggseq'); +ALTER TABLE edfi.StudentSectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSectionAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentSectionAssociation_aggid ON edfi.StudentSectionAssociation (AggregateId); CREATE SEQUENCE edfi.StudentSectionAttendanceEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentSectionAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSectionAttendanceEvent_aggseq'); +ALTER TABLE edfi.StudentSectionAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSectionAttendanceEvent_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentSectionAttendanceEvent_aggid ON edfi.StudentSectionAttendanceEvent (AggregateId); CREATE SEQUENCE edfi.StudentSpecialEducationProgramEligibilityAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentSpecialEducationProgramEligibilityAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSpecialEducationProgramEligibilityAssociation_aggseq'); +ALTER TABLE edfi.StudentSpecialEducationProgramEligibilityAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSpecialEducationProgramEligibilityAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentSpecialEducationProgramEligibilityAssociation_aggid ON edfi.StudentSpecialEducationProgramEligibilityAssociation (AggregateId); CREATE SEQUENCE edfi.StudentTransportation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.StudentTransportation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentTransportation_aggseq'); +ALTER TABLE edfi.StudentTransportation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentTransportation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_StudentTransportation_aggid ON edfi.StudentTransportation (AggregateId); CREATE SEQUENCE edfi.Survey_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.Survey ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Survey_aggseq'); +ALTER TABLE edfi.Survey ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Survey_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_Survey_aggid ON edfi.Survey (AggregateId); CREATE SEQUENCE edfi.SurveyCourseAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveyCourseAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyCourseAssociation_aggseq'); +ALTER TABLE edfi.SurveyCourseAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyCourseAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveyCourseAssociation_aggid ON edfi.SurveyCourseAssociation (AggregateId); CREATE SEQUENCE edfi.SurveyProgramAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveyProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyProgramAssociation_aggseq'); +ALTER TABLE edfi.SurveyProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyProgramAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveyProgramAssociation_aggid ON edfi.SurveyProgramAssociation (AggregateId); CREATE SEQUENCE edfi.SurveyQuestion_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveyQuestion ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyQuestion_aggseq'); +ALTER TABLE edfi.SurveyQuestion ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyQuestion_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveyQuestion_aggid ON edfi.SurveyQuestion (AggregateId); CREATE SEQUENCE edfi.SurveyQuestionResponse_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveyQuestionResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyQuestionResponse_aggseq'); +ALTER TABLE edfi.SurveyQuestionResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyQuestionResponse_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveyQuestionResponse_aggid ON edfi.SurveyQuestionResponse (AggregateId); CREATE SEQUENCE edfi.SurveyResponse_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveyResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponse_aggseq'); +ALTER TABLE edfi.SurveyResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponse_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveyResponse_aggid ON edfi.SurveyResponse (AggregateId); CREATE SEQUENCE edfi.SurveyResponseEducationOrganizationTargetAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveyResponseEducationOrganizationTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponseEducationOrganizationTargetAssociation_aggseq'); +ALTER TABLE edfi.SurveyResponseEducationOrganizationTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponseEducationOrganizationTargetAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveyResponseEducationOrganizationTargetAssociation_aggid ON edfi.SurveyResponseEducationOrganizationTargetAssociation (AggregateId); CREATE SEQUENCE edfi.SurveyResponseStaffTargetAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveyResponseStaffTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponseStaffTargetAssociation_aggseq'); +ALTER TABLE edfi.SurveyResponseStaffTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponseStaffTargetAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveyResponseStaffTargetAssociation_aggid ON edfi.SurveyResponseStaffTargetAssociation (AggregateId); CREATE SEQUENCE edfi.SurveySection_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveySection ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySection_aggseq'); +ALTER TABLE edfi.SurveySection ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySection_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveySection_aggid ON edfi.SurveySection (AggregateId); CREATE SEQUENCE edfi.SurveySectionAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveySectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionAssociation_aggseq'); +ALTER TABLE edfi.SurveySectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveySectionAssociation_aggid ON edfi.SurveySectionAssociation (AggregateId); CREATE SEQUENCE edfi.SurveySectionResponse_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveySectionResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponse_aggseq'); +ALTER TABLE edfi.SurveySectionResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponse_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveySectionResponse_aggid ON edfi.SurveySectionResponse (AggregateId); CREATE SEQUENCE edfi.SurveySectionResponseEducationOrganizationTarge_730be1_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveySectionResponseEducationOrganizationTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponseEducationOrganizationTarge_730be1_aggseq'); +ALTER TABLE edfi.SurveySectionResponseEducationOrganizationTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponseEducationOrganizationTarge_730be1_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveySectionResponseEducationOrganizationTarge_730be1_aggid ON edfi.SurveySectionResponseEducationOrganizationTargetAssociation (AggregateId); CREATE SEQUENCE edfi.SurveySectionResponseStaffTargetAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; -ALTER TABLE edfi.SurveySectionResponseStaffTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponseStaffTargetAssociation_aggseq'); +ALTER TABLE edfi.SurveySectionResponseStaffTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponseStaffTargetAssociation_aggseq'), ADD COLUMN AggregateData bytea; CREATE INDEX ix_SurveySectionResponseStaffTargetAssociation_aggid ON edfi.SurveySectionResponseStaffTargetAssociation (AggregateId); diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql new file mode 100644 index 0000000000..f9f19d8651 --- /dev/null +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -0,0 +1,380 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + + +DROP INDEX IF EXISTS IX_AcademicWeek_SchoolId; +CREATE INDEX IF NOT EXISTS IX_AcademicWeek_SchoolId ON edfi.AcademicWeek(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_AccountabilityRating_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_AccountabilityRating_EducationOrganizationId ON edfi.AccountabilityRating(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Assessment_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_Assessment_EducationOrganizationId ON edfi.Assessment(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId ON edfi.AssessmentAdministrationParticipation(AssigningEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_BellSchedule_SchoolId; +CREATE INDEX IF NOT EXISTS IX_BellSchedule_SchoolId ON edfi.BellSchedule(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Calendar_SchoolId; +CREATE INDEX IF NOT EXISTS IX_Calendar_SchoolId ON edfi.Calendar(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CalendarDate_SchoolId; +CREATE INDEX IF NOT EXISTS IX_CalendarDate_SchoolId ON edfi.CalendarDate(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_ChartOfAccount_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_ChartOfAccount_EducationOrganizationId ON edfi.ChartOfAccount(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_ClassPeriod_SchoolId; +CREATE INDEX IF NOT EXISTS IX_ClassPeriod_SchoolId ON edfi.ClassPeriod(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Cohort_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_Cohort_EducationOrganizationId ON edfi.Cohort(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CommunityProviderLicense_CommunityProviderId; +CREATE INDEX IF NOT EXISTS IX_CommunityProviderLicense_CommunityProviderId ON edfi.CommunityProviderLicense(CommunityProviderId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CompetencyObjective_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_CompetencyObjective_EducationOrganizationId ON edfi.CompetencyObjective(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_Contact_ContactUSI ON edfi.Contact(ContactUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Course_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_Course_EducationOrganizationId ON edfi.Course(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CourseOffering_SchoolId; +CREATE INDEX IF NOT EXISTS IX_CourseOffering_SchoolId ON edfi.CourseOffering(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CourseOffering_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_CourseOffering_EducationOrganizationId ON edfi.CourseOffering(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_CourseTranscript_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_CourseTranscript_EducationOrganizationId ON edfi.CourseTranscript(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_CourseTranscript_StudentUSI ON edfi.CourseTranscript(StudentUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_CourseTranscript_ResponsibleTeacherStaffUSI ON edfi.CourseTranscript(ResponsibleTeacherStaffUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_DisciplineAction_StudentUSI ON edfi.DisciplineAction(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_DisciplineIncident_SchoolId; +CREATE INDEX IF NOT EXISTS IX_DisciplineIncident_SchoolId ON edfi.DisciplineIncident(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_EducationOrganization_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_EducationOrganization_EducationOrganizationId ON edfi.EducationOrganization(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_EducationOrganizationInterventionPrescriptionAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_EducationOrganizationInterventionPrescriptionAssociation_EducationOrganizationId ON edfi.EducationOrganizationInterventionPrescriptionAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_EducationOrganizationNetworkAssociation_EducationOrganizationNetworkId; +CREATE INDEX IF NOT EXISTS IX_EducationOrganizationNetworkAssociation_EducationOrganizationNetworkId ON edfi.EducationOrganizationNetworkAssociation(EducationOrganizationNetworkId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_EducationOrganizationPeerAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_EducationOrganizationPeerAssociation_EducationOrganizationId ON edfi.EducationOrganizationPeerAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_EvaluationRubricDimension_ProgramEducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_EvaluationRubricDimension_ProgramEducationOrganizationId ON edfi.EvaluationRubricDimension(ProgramEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_FeederSchoolAssociation_SchoolId; +CREATE INDEX IF NOT EXISTS IX_FeederSchoolAssociation_SchoolId ON edfi.FeederSchoolAssociation(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_GeneralStudentProgramAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_GeneralStudentProgramAssociation_EducationOrganizationId ON edfi.GeneralStudentProgramAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_GeneralStudentProgramAssociation_StudentUSI ON edfi.GeneralStudentProgramAssociation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Grade_SchoolId; +CREATE INDEX IF NOT EXISTS IX_Grade_SchoolId ON edfi.Grade(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_Grade_StudentUSI ON edfi.Grade(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_GradebookEntry_SchoolId; +CREATE INDEX IF NOT EXISTS IX_GradebookEntry_SchoolId ON edfi.GradebookEntry(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_GradingPeriod_SchoolId; +CREATE INDEX IF NOT EXISTS IX_GradingPeriod_SchoolId ON edfi.GradingPeriod(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_GraduationPlan_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_GraduationPlan_EducationOrganizationId ON edfi.GraduationPlan(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Intervention_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_Intervention_EducationOrganizationId ON edfi.Intervention(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_InterventionPrescription_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_InterventionPrescription_EducationOrganizationId ON edfi.InterventionPrescription(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_InterventionStudy_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_InterventionStudy_EducationOrganizationId ON edfi.InterventionStudy(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalAccount_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_LocalAccount_EducationOrganizationId ON edfi.LocalAccount(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalActual_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_LocalActual_EducationOrganizationId ON edfi.LocalActual(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalBudget_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_LocalBudget_EducationOrganizationId ON edfi.LocalBudget(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalContractedStaff_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_LocalContractedStaff_EducationOrganizationId ON edfi.LocalContractedStaff(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_LocalContractedStaff_StaffUSI ON edfi.LocalContractedStaff(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalEncumbrance_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_LocalEncumbrance_EducationOrganizationId ON edfi.LocalEncumbrance(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_LocalPayroll_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_LocalPayroll_EducationOrganizationId ON edfi.LocalPayroll(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_LocalPayroll_StaffUSI ON edfi.LocalPayroll(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Location_SchoolId; +CREATE INDEX IF NOT EXISTS IX_Location_SchoolId ON edfi.Location(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_OpenStaffPosition_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_OpenStaffPosition_EducationOrganizationId ON edfi.OpenStaffPosition(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_PostSecondaryEvent_PostSecondaryInstitutionId; +CREATE INDEX IF NOT EXISTS IX_PostSecondaryEvent_PostSecondaryInstitutionId ON edfi.PostSecondaryEvent(PostSecondaryInstitutionId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_PostSecondaryEvent_StudentUSI ON edfi.PostSecondaryEvent(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Program_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_Program_EducationOrganizationId ON edfi.Program(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_ProgramEvaluationElement_ProgramEducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_ProgramEvaluationElement_ProgramEducationOrganizationId ON edfi.ProgramEvaluationElement(ProgramEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_ProgramEvaluationObjective_ProgramEducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_ProgramEvaluationObjective_ProgramEducationOrganizationId ON edfi.ProgramEvaluationObjective(ProgramEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_ReportCard_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_ReportCard_EducationOrganizationId ON edfi.ReportCard(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_ReportCard_StudentUSI ON edfi.ReportCard(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_RestraintEvent_SchoolId; +CREATE INDEX IF NOT EXISTS IX_RestraintEvent_SchoolId ON edfi.RestraintEvent(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_RestraintEvent_StudentUSI ON edfi.RestraintEvent(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Section_SchoolId; +CREATE INDEX IF NOT EXISTS IX_Section_SchoolId ON edfi.Section(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_SectionAttendanceTakenEvent_SchoolId; +CREATE INDEX IF NOT EXISTS IX_SectionAttendanceTakenEvent_SchoolId ON edfi.SectionAttendanceTakenEvent(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_SectionAttendanceTakenEvent_StaffUSI ON edfi.SectionAttendanceTakenEvent(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Session_SchoolId; +CREATE INDEX IF NOT EXISTS IX_Session_SchoolId ON edfi.Session(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_Staff_StaffUSI ON edfi.Staff(StaffUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StaffAbsenceEvent_StaffUSI ON edfi.StaffAbsenceEvent(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StaffCohortAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StaffCohortAssociation_EducationOrganizationId ON edfi.StaffCohortAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StaffCohortAssociation_StaffUSI ON edfi.StaffCohortAssociation(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StaffDisciplineIncidentAssociation_SchoolId; +CREATE INDEX IF NOT EXISTS IX_StaffDisciplineIncidentAssociation_SchoolId ON edfi.StaffDisciplineIncidentAssociation(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StaffDisciplineIncidentAssociation_StaffUSI ON edfi.StaffDisciplineIncidentAssociation(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StaffEducationOrganizationAssignmentAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationAssignmentAssociation_EducationOrganizationId ON edfi.StaffEducationOrganizationAssignmentAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationAssignmentAssociation_StaffUSI ON edfi.StaffEducationOrganizationAssignmentAssociation(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StaffEducationOrganizationContactAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationContactAssociation_EducationOrganizationId ON edfi.StaffEducationOrganizationContactAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationContactAssociation_StaffUSI ON edfi.StaffEducationOrganizationContactAssociation(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StaffEducationOrganizationEmploymentAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationEmploymentAssociation_EducationOrganizationId ON edfi.StaffEducationOrganizationEmploymentAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationEmploymentAssociation_StaffUSI ON edfi.StaffEducationOrganizationEmploymentAssociation(StaffUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StaffLeave_StaffUSI ON edfi.StaffLeave(StaffUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StaffProgramAssociation_StaffUSI ON edfi.StaffProgramAssociation(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StaffSchoolAssociation_SchoolId; +CREATE INDEX IF NOT EXISTS IX_StaffSchoolAssociation_SchoolId ON edfi.StaffSchoolAssociation(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StaffSchoolAssociation_StaffUSI ON edfi.StaffSchoolAssociation(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StaffSectionAssociation_SchoolId; +CREATE INDEX IF NOT EXISTS IX_StaffSectionAssociation_SchoolId ON edfi.StaffSectionAssociation(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StaffSectionAssociation_StaffUSI ON edfi.StaffSectionAssociation(StaffUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_Student_StudentUSI ON edfi.Student(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentAcademicRecord_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentAcademicRecord_EducationOrganizationId ON edfi.StudentAcademicRecord(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentAcademicRecord_StudentUSI ON edfi.StudentAcademicRecord(StudentUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentAssessment_StudentUSI ON edfi.StudentAssessment(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentAssessmentEducationOrganizationAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentAssessmentEducationOrganizationAssociation_EducationOrganizationId ON edfi.StudentAssessmentEducationOrganizationAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentAssessmentEducationOrganizationAssociation_StudentUSI ON edfi.StudentAssessmentEducationOrganizationAssociation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_AssigningEducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistration_AssigningEducationOrganizationId ON edfi.StudentAssessmentRegistration(AssigningEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistration_EducationOrganizationId ON edfi.StudentAssessmentRegistration(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_SchoolId; +CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistration_SchoolId ON edfi.StudentAssessmentRegistration(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistration_StudentUSI ON edfi.StudentAssessmentRegistration(StudentUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistration_ScheduledStudentUSI ON edfi.StudentAssessmentRegistration(ScheduledStudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_AssigningEducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_AssigningEducationOrganizationId ON edfi.StudentAssessmentRegistrationBatteryPartAssociation(AssigningEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_EducationOrganizationId ON edfi.StudentAssessmentRegistrationBatteryPartAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_StudentUSI ON edfi.StudentAssessmentRegistrationBatteryPartAssociation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentCohortAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentCohortAssociation_EducationOrganizationId ON edfi.StudentCohortAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentCohortAssociation_StudentUSI ON edfi.StudentCohortAssociation(StudentUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentCompetencyObjective_StudentUSI ON edfi.StudentCompetencyObjective(StudentUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentContactAssociation_ContactUSI ON edfi.StudentContactAssociation(ContactUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentContactAssociation_StudentUSI ON edfi.StudentContactAssociation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentDisciplineIncidentBehaviorAssociation_SchoolId; +CREATE INDEX IF NOT EXISTS IX_StudentDisciplineIncidentBehaviorAssociation_SchoolId ON edfi.StudentDisciplineIncidentBehaviorAssociation(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentDisciplineIncidentBehaviorAssociation_StudentUSI ON edfi.StudentDisciplineIncidentBehaviorAssociation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentDisciplineIncidentNonOffenderAssociation_SchoolId; +CREATE INDEX IF NOT EXISTS IX_StudentDisciplineIncidentNonOffenderAssociation_SchoolId ON edfi.StudentDisciplineIncidentNonOffenderAssociation(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentDisciplineIncidentNonOffenderAssociation_StudentUSI ON edfi.StudentDisciplineIncidentNonOffenderAssociation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentEducationOrganizationAssessmentAccommodation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationAssessmentAccommodation_EducationOrganizationId ON edfi.StudentEducationOrganizationAssessmentAccommodation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationAssessmentAccommodation_StudentUSI ON edfi.StudentEducationOrganizationAssessmentAccommodation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentEducationOrganizationAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationAssociation_EducationOrganizationId ON edfi.StudentEducationOrganizationAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationAssociation_StudentUSI ON edfi.StudentEducationOrganizationAssociation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentEducationOrganizationResponsibilityAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationResponsibilityAssociation_EducationOrganizationId ON edfi.StudentEducationOrganizationResponsibilityAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationResponsibilityAssociation_StudentUSI ON edfi.StudentEducationOrganizationResponsibilityAssociation(StudentUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentGradebookEntry_StudentUSI ON edfi.StudentGradebookEntry(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentHealth_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentHealth_EducationOrganizationId ON edfi.StudentHealth(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentHealth_StudentUSI ON edfi.StudentHealth(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentInterventionAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentInterventionAssociation_EducationOrganizationId ON edfi.StudentInterventionAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentInterventionAssociation_StudentUSI ON edfi.StudentInterventionAssociation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentInterventionAttendanceEvent_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentInterventionAttendanceEvent_EducationOrganizationId ON edfi.StudentInterventionAttendanceEvent(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentInterventionAttendanceEvent_StudentUSI ON edfi.StudentInterventionAttendanceEvent(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentProgramAttendanceEvent_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentProgramAttendanceEvent_EducationOrganizationId ON edfi.StudentProgramAttendanceEvent(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentProgramAttendanceEvent_StudentUSI ON edfi.StudentProgramAttendanceEvent(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentProgramEvaluation_ProgramEducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentProgramEvaluation_ProgramEducationOrganizationId ON edfi.StudentProgramEvaluation(ProgramEducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentProgramEvaluation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentProgramEvaluation_EducationOrganizationId ON edfi.StudentProgramEvaluation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentProgramEvaluation_StudentUSI ON edfi.StudentProgramEvaluation(StudentUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentProgramEvaluation_StaffEvaluatorStaffUSI ON edfi.StudentProgramEvaluation(StaffEvaluatorStaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentSchoolAssociation_SchoolId; +CREATE INDEX IF NOT EXISTS IX_StudentSchoolAssociation_SchoolId ON edfi.StudentSchoolAssociation(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentSchoolAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentSchoolAssociation_EducationOrganizationId ON edfi.StudentSchoolAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentSchoolAssociation_StudentUSI ON edfi.StudentSchoolAssociation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentSchoolAttendanceEvent_SchoolId; +CREATE INDEX IF NOT EXISTS IX_StudentSchoolAttendanceEvent_SchoolId ON edfi.StudentSchoolAttendanceEvent(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentSchoolAttendanceEvent_StudentUSI ON edfi.StudentSchoolAttendanceEvent(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentSectionAssociation_SchoolId; +CREATE INDEX IF NOT EXISTS IX_StudentSectionAssociation_SchoolId ON edfi.StudentSectionAssociation(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentSectionAssociation_StudentUSI ON edfi.StudentSectionAssociation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentSectionAttendanceEvent_SchoolId; +CREATE INDEX IF NOT EXISTS IX_StudentSectionAttendanceEvent_SchoolId ON edfi.StudentSectionAttendanceEvent(SchoolId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentSectionAttendanceEvent_StudentUSI ON edfi.StudentSectionAttendanceEvent(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_StudentSpecialEducationProgramEligibilityAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_StudentSpecialEducationProgramEligibilityAssociation_EducationOrganizationId ON edfi.StudentSpecialEducationProgramEligibilityAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentSpecialEducationProgramEligibilityAssociation_StudentUSI ON edfi.StudentSpecialEducationProgramEligibilityAssociation(StudentUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_StudentTransportation_StudentUSI ON edfi.StudentTransportation(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Survey_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_Survey_EducationOrganizationId ON edfi.Survey(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_Survey_SchoolId; +CREATE INDEX IF NOT EXISTS IX_Survey_SchoolId ON edfi.Survey(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_SurveyCourseAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_SurveyCourseAssociation_EducationOrganizationId ON edfi.SurveyCourseAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_SurveyProgramAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_SurveyProgramAssociation_EducationOrganizationId ON edfi.SurveyProgramAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_SurveyResponse_ContactUSI ON edfi.SurveyResponse(ContactUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_SurveyResponse_StaffUSI ON edfi.SurveyResponse(StaffUSI) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_SurveyResponse_StudentUSI ON edfi.SurveyResponse(StudentUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_SurveyResponseEducationOrganizationTargetAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_SurveyResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON edfi.SurveyResponseEducationOrganizationTargetAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_SurveyResponseStaffTargetAssociation_StaffUSI ON edfi.SurveyResponseStaffTargetAssociation(StaffUSI) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_SurveySectionAssociation_SchoolId; +CREATE INDEX IF NOT EXISTS IX_SurveySectionAssociation_SchoolId ON edfi.SurveySectionAssociation(SchoolId) INCLUDE (AggregateId); + +DROP INDEX IF EXISTS IX_SurveySectionResponseEducationOrganizationTargetAssociation_EducationOrganizationId; +CREATE INDEX IF NOT EXISTS IX_SurveySectionResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON edfi.SurveySectionResponseEducationOrganizationTargetAssociation(EducationOrganizationId) INCLUDE (AggregateId); + +CREATE INDEX IF NOT EXISTS IX_SurveySectionResponseStaffTargetAssociation_StaffUSI ON edfi.SurveySectionResponseStaffTargetAssociation(StaffUSI) INCLUDE (AggregateId); diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql index 3b6c4dd15a..ec51bf21b2 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql @@ -26,6 +26,11 @@ ALTER TABLE edfi.AssessmentAdministration ADD ChangeVersion BIGINT DEFAULT (0) N ALTER TABLE edfi.AssessmentAdministration ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence'); END IF; +IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='edfi' AND table_name='assessmentadministrationparticipation' AND column_name='changeversion') THEN +ALTER TABLE edfi.AssessmentAdministrationParticipation ADD ChangeVersion BIGINT DEFAULT (0) NOT NULL; +ALTER TABLE edfi.AssessmentAdministrationParticipation ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence'); +END IF; + IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='edfi' AND table_name='assessmentbatterypart' AND column_name='changeversion') THEN ALTER TABLE edfi.AssessmentBatteryPart ADD ChangeVersion BIGINT DEFAULT (0) NOT NULL; ALTER TABLE edfi.AssessmentBatteryPart ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence'); @@ -41,11 +46,6 @@ ALTER TABLE edfi.AssessmentScoreRangeLearningStandard ADD ChangeVersion BIGINT D ALTER TABLE edfi.AssessmentScoreRangeLearningStandard ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence'); END IF; -IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='edfi' AND table_name='assesssmentadministrationparticipation' AND column_name='changeversion') THEN -ALTER TABLE edfi.AssesssmentAdministrationParticipation ADD ChangeVersion BIGINT DEFAULT (0) NOT NULL; -ALTER TABLE edfi.AssesssmentAdministrationParticipation ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence'); -END IF; - IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='edfi' AND table_name='balancesheetdimension' AND column_name='changeversion') THEN ALTER TABLE edfi.BalanceSheetDimension ADD ChangeVersion BIGINT DEFAULT (0) NOT NULL; ALTER TABLE edfi.BalanceSheetDimension ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence'); diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql index 57d9cf0bb1..d6809ac94c 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql @@ -11,14 +11,14 @@ CREATE INDEX IF NOT EXISTS UX_7808ee_ChangeVersion ON edfi.Assessment(ChangeVers CREATE INDEX IF NOT EXISTS UX_c64558_ChangeVersion ON edfi.AssessmentAdministration(ChangeVersion); +CREATE INDEX IF NOT EXISTS UX_77818e_ChangeVersion ON edfi.AssessmentAdministrationParticipation(ChangeVersion); + CREATE INDEX IF NOT EXISTS UX_6e22f2_ChangeVersion ON edfi.AssessmentBatteryPart(ChangeVersion); CREATE INDEX IF NOT EXISTS UX_dc3dcf_ChangeVersion ON edfi.AssessmentItem(ChangeVersion); CREATE INDEX IF NOT EXISTS UX_a20588_ChangeVersion ON edfi.AssessmentScoreRangeLearningStandard(ChangeVersion); -CREATE INDEX IF NOT EXISTS UX_0b52ab_ChangeVersion ON edfi.AssesssmentAdministrationParticipation(ChangeVersion); - CREATE INDEX IF NOT EXISTS UX_e52c9c_ChangeVersion ON edfi.BalanceSheetDimension(ChangeVersion); CREATE INDEX IF NOT EXISTS UX_9bbaf5_ChangeVersion ON edfi.BellSchedule(ChangeVersion); diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql index 2dc5a0de01..8469a34732 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql @@ -76,6 +76,27 @@ CREATE TABLE tracked_changes_edfi.assessmentadministration ); END IF; +IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'tracked_changes_edfi' AND table_name = 'assessmentadministrationparticipation') THEN +CREATE TABLE tracked_changes_edfi.assessmentadministrationparticipation +( + oldadministrationidentifier VARCHAR(255) NOT NULL, + oldassessmentidentifier VARCHAR(60) NOT NULL, + oldassigningeducationorganizationid BIGINT NOT NULL, + oldnamespace VARCHAR(255) NOT NULL, + oldparticipatingeducationorganizationid BIGINT NOT NULL, + newadministrationidentifier VARCHAR(255) NULL, + newassessmentidentifier VARCHAR(60) NULL, + newassigningeducationorganizationid BIGINT NULL, + newnamespace VARCHAR(255) NULL, + newparticipatingeducationorganizationid BIGINT NULL, + id uuid NOT NULL, + changeversion bigint NOT NULL, + discriminator varchar(128) NULL, + createdate timestamp NOT NULL DEFAULT (now()), + CONSTRAINT assessmentadministrationparticipation_pk PRIMARY KEY (ChangeVersion) +); +END IF; + IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'tracked_changes_edfi' AND table_name = 'assessmentbatterypart') THEN CREATE TABLE tracked_changes_edfi.assessmentbatterypart ( @@ -127,27 +148,6 @@ CREATE TABLE tracked_changes_edfi.assessmentscorerangelearningstandard ); END IF; -IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'tracked_changes_edfi' AND table_name = 'assesssmentadministrationparticipation') THEN -CREATE TABLE tracked_changes_edfi.assesssmentadministrationparticipation -( - oldadministrationidentifier VARCHAR(255) NOT NULL, - oldassessmentidentifier VARCHAR(60) NOT NULL, - oldassigningeducationorganizationid BIGINT NOT NULL, - oldnamespace VARCHAR(255) NOT NULL, - oldparticipatingeducationorganizationid BIGINT NOT NULL, - newadministrationidentifier VARCHAR(255) NULL, - newassessmentidentifier VARCHAR(60) NULL, - newassigningeducationorganizationid BIGINT NULL, - newnamespace VARCHAR(255) NULL, - newparticipatingeducationorganizationid BIGINT NULL, - id uuid NOT NULL, - changeversion bigint NOT NULL, - discriminator varchar(128) NULL, - createdate timestamp NOT NULL DEFAULT (now()), - CONSTRAINT assesssmentadministrationparticipation_pk PRIMARY KEY (ChangeVersion) -); -END IF; - IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'tracked_changes_edfi' AND table_name = 'balancesheetdimension') THEN CREATE TABLE tracked_changes_edfi.balancesheetdimension ( diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql index 9715ac085c..0798b05072 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql @@ -25,6 +25,11 @@ CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.assessmentadministratio FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion(); END IF; +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'updatechangeversion' AND event_object_schema = 'edfi' AND event_object_table = 'assessmentadministrationparticipation') THEN +CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.assessmentadministrationparticipation + FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion(); +END IF; + IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'updatechangeversion' AND event_object_schema = 'edfi' AND event_object_table = 'assessmentbatterypart') THEN CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.assessmentbatterypart FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion(); @@ -40,11 +45,6 @@ CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.assessmentscorerangelea FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion(); END IF; -IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'updatechangeversion' AND event_object_schema = 'edfi' AND event_object_table = 'assesssmentadministrationparticipation') THEN -CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.assesssmentadministrationparticipation - FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion(); -END IF; - IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'updatechangeversion' AND event_object_schema = 'edfi' AND event_object_table = 'balancesheetdimension') THEN CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.balancesheetdimension FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion(); diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql index 4697dc877b..35599091e7 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql @@ -272,6 +272,26 @@ CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.assessmentadministration FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.assessmentadministration_deleted(); END IF; +CREATE OR REPLACE FUNCTION tracked_changes_edfi.assessmentadministrationparticipation_deleted() + RETURNS trigger AS +$BODY$ +BEGIN + INSERT INTO tracked_changes_edfi.assessmentadministrationparticipation( + oldadministrationidentifier, oldassessmentidentifier, oldassigningeducationorganizationid, oldnamespace, oldparticipatingeducationorganizationid, + id, discriminator, changeversion) + VALUES ( + OLD.administrationidentifier, OLD.assessmentidentifier, OLD.assigningeducationorganizationid, OLD.namespace, OLD.participatingeducationorganizationid, + OLD.id, OLD.discriminator, nextval('changes.changeversionsequence')); + + RETURN NULL; +END; +$BODY$ LANGUAGE plpgsql; + +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'assessmentadministrationparticipation') THEN +CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.assessmentadministrationparticipation + FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.assessmentadministrationparticipation_deleted(); +END IF; + CREATE OR REPLACE FUNCTION tracked_changes_edfi.assessmentbatterypart_deleted() RETURNS trigger AS $BODY$ @@ -434,26 +454,6 @@ CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.assessmentscorerangelearningsta FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.assessmentscorerangelearningstandard_deleted(); END IF; -CREATE OR REPLACE FUNCTION tracked_changes_edfi.assesssmentadministrationparticipation_deleted() - RETURNS trigger AS -$BODY$ -BEGIN - INSERT INTO tracked_changes_edfi.assesssmentadministrationparticipation( - oldadministrationidentifier, oldassessmentidentifier, oldassigningeducationorganizationid, oldnamespace, oldparticipatingeducationorganizationid, - id, discriminator, changeversion) - VALUES ( - OLD.administrationidentifier, OLD.assessmentidentifier, OLD.assigningeducationorganizationid, OLD.namespace, OLD.participatingeducationorganizationid, - OLD.id, OLD.discriminator, nextval('changes.changeversionsequence')); - - RETURN NULL; -END; -$BODY$ LANGUAGE plpgsql; - -IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'assesssmentadministrationparticipation') THEN -CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.assesssmentadministrationparticipation - FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.assesssmentadministrationparticipation_deleted(); -END IF; - CREATE OR REPLACE FUNCTION tracked_changes_edfi.assignmentlatestatusdescriptor_deleted() RETURNS trigger AS $BODY$ @@ -1618,6 +1618,40 @@ CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.displacedstudentstatusdescripto FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.displacedstudentstatusdescriptor_deleted(); END IF; +CREATE OR REPLACE FUNCTION tracked_changes_edfi.dualcreditinstitutiondescriptor_deleted() + RETURNS trigger AS +$BODY$ +BEGIN + INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion) + SELECT OLD.DualCreditInstitutionDescriptorId, b.codevalue, b.namespace, b.id, 'edfi.DualCreditInstitutionDescriptor', nextval('changes.ChangeVersionSequence') + FROM edfi.descriptor b WHERE old.DualCreditInstitutionDescriptorId = b.descriptorid ; + + RETURN NULL; +END; +$BODY$ LANGUAGE plpgsql; + +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'dualcreditinstitutiondescriptor') THEN +CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.dualcreditinstitutiondescriptor + FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.dualcreditinstitutiondescriptor_deleted(); +END IF; + +CREATE OR REPLACE FUNCTION tracked_changes_edfi.dualcredittypedescriptor_deleted() + RETURNS trigger AS +$BODY$ +BEGIN + INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion) + SELECT OLD.DualCreditTypeDescriptorId, b.codevalue, b.namespace, b.id, 'edfi.DualCreditTypeDescriptor', nextval('changes.ChangeVersionSequence') + FROM edfi.descriptor b WHERE old.DualCreditTypeDescriptorId = b.descriptorid ; + + RETURN NULL; +END; +$BODY$ LANGUAGE plpgsql; + +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'dualcredittypedescriptor') THEN +CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.dualcredittypedescriptor + FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.dualcredittypedescriptor_deleted(); +END IF; + CREATE OR REPLACE FUNCTION tracked_changes_edfi.educationalenvironmentdescriptor_deleted() RETURNS trigger AS $BODY$ @@ -4407,21 +4441,21 @@ CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.schoolyeartype FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.schoolyeartype_deleted(); END IF; -CREATE OR REPLACE FUNCTION tracked_changes_edfi.section504disabilitytypedescriptor_deleted() +CREATE OR REPLACE FUNCTION tracked_changes_edfi.section504disabilitydescriptor_deleted() RETURNS trigger AS $BODY$ BEGIN INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion) - SELECT OLD.Section504DisabilityTypeDescriptorId, b.codevalue, b.namespace, b.id, 'edfi.Section504DisabilityTypeDescriptor', nextval('changes.ChangeVersionSequence') - FROM edfi.descriptor b WHERE old.Section504DisabilityTypeDescriptorId = b.descriptorid ; + SELECT OLD.Section504DisabilityDescriptorId, b.codevalue, b.namespace, b.id, 'edfi.Section504DisabilityDescriptor', nextval('changes.ChangeVersionSequence') + FROM edfi.descriptor b WHERE old.Section504DisabilityDescriptorId = b.descriptorid ; RETURN NULL; END; $BODY$ LANGUAGE plpgsql; -IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'section504disabilitytypedescriptor') THEN -CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.section504disabilitytypedescriptor - FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.section504disabilitytypedescriptor_deleted(); +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'section504disabilitydescriptor') THEN +CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.section504disabilitydescriptor + FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.section504disabilitydescriptor_deleted(); END IF; CREATE OR REPLACE FUNCTION tracked_changes_edfi.section_deleted() diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql index ff6d05ac4c..a2f812aa04 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql @@ -11,14 +11,14 @@ ALTER TABLE edfi.Assessment ADD CreatedByOwnershipTokenId SMALLINT NULL; ALTER TABLE edfi.AssessmentAdministration ADD CreatedByOwnershipTokenId SMALLINT NULL; +ALTER TABLE edfi.AssessmentAdministrationParticipation ADD CreatedByOwnershipTokenId SMALLINT NULL; + ALTER TABLE edfi.AssessmentBatteryPart ADD CreatedByOwnershipTokenId SMALLINT NULL; ALTER TABLE edfi.AssessmentItem ADD CreatedByOwnershipTokenId SMALLINT NULL; ALTER TABLE edfi.AssessmentScoreRangeLearningStandard ADD CreatedByOwnershipTokenId SMALLINT NULL; -ALTER TABLE edfi.AssesssmentAdministrationParticipation ADD CreatedByOwnershipTokenId SMALLINT NULL; - ALTER TABLE edfi.BalanceSheetDimension ADD CreatedByOwnershipTokenId SMALLINT NULL; ALTER TABLE edfi.BellSchedule ADD CreatedByOwnershipTokenId SMALLINT NULL; diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Ed-Fi-Core.xsd b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Ed-Fi-Core.xsd index 74ed2a5922..c51ebf7be5 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Ed-Fi-Core.xsd +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Ed-Fi-Core.xsd @@ -266,7 +266,7 @@ The title or name of the assessment in the context of its administration. - + The anticipated dates for the assessment or administration window. @@ -280,6 +280,35 @@ + + + Identifies the point of contact for the administration of an assessment under the purview of an education organization. + + Domain Entity + + + + + + + + A reference to the assessment administration for which participation is being indicated. + + + + + A reference to the education organization for which participation is being indicated. + + + + + Pre-identified contacts for education organizations administering the assessment. + + + + + + The parts organized for administering an assessessment which together provide a comprehensive assessment of the students. @@ -428,35 +457,6 @@ - - - Identifies the point of contact for the administration of an assessment under the purview of an education organization. - - Domain Entity - - - - - - - - A reference to the assessment administration for which participation is being indicated. - - - - - A reference to the education organization for which participation is being indicated. - - - - - Pre-identified contacts for education organizations administering the assessment. - - - - - - The NCES balance sheet accounting dimension, used to track financial transactions for each fund. These financial statements only report assets, deferred outflows of resources, liabilities, deferred inflows of resources, and equity accounts. The statements are considered snapshots of how these accounts stand as of a certain point in time. @@ -4808,9 +4808,9 @@ A reference to the education organization which should receive the results of the assessment. - + - A reference to the accommodations expected for administering the assessment. + A reference to the accommodations expected for administering the assessment. Student and education organization references must be consistent with StudentEducationOrganizationAssociation and StudentSchoolAssociation. @@ -6340,6 +6340,28 @@ + + + Custom descriptor of college institutions or categories of institutions participating in the dual credit program. + + Descriptor + + + + + + + + + Indicates the type of the dual credit program. + + Descriptor + + + + + + The setting in which a child receives education and related services. @@ -7550,7 +7572,7 @@ - + This descriptor defines the reason(s) why student qualifies for Section 504 consideration. @@ -8843,6 +8865,14 @@ + + + Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm. + + WeaponDescriptor + + + @@ -9580,11 +9610,11 @@ Indicates whether student has a Section 504 accommodation plan. - + Defines one or more disabilities student has that qualifies them for a Section 504 plan. - Section504DisabilityTypeDescriptor + Section504DisabilityDescriptor @@ -9663,6 +9693,11 @@ The program(s) that the student is participating in the context of the course. + + + The set of elements that capture relevant data regarding dual credit. + + @@ -9705,6 +9740,16 @@ Indicate the total number of hours of instructional time per week for the school that the student attends. + + + Indicator that the student's IEP requires a shortened school day. + + + + + Records the number of hours reduced for the shortened school day for the IEP student as compared to peers in regular education. + + Indicates whether the student receiving special education and related services has been designated as multiply disabled by the admission, review, and dismissal committee as aligned with federal requirements. @@ -10277,6 +10322,45 @@ + + + Identity of an AssessmentAdministrationParticipation. + + Identity + + + + + + A reference to the assessment administration for which participation is being indicated. + + + + + A reference to the education organization for which participation is being indicated. + + + + + + + Provides alternative references for an AssessmentAdministrationParticipation. Use XML IDREF to reference a record that is included in the interchange. Use the identity type to look up a record that was loaded previously. + + Extended Reference + + + + + + + + Identity of an AssessmentAdministrationParticipation. + + + + + + Provides alternative references for an AssessmentAdministration. Use XML IDREF to reference a record that is included in the interchange. Use the identity type to look up a record that was loaded previously. @@ -10465,45 +10549,6 @@ - - - Identity of an AssesssmentAdministrationParticipation. - - Identity - - - - - - A reference to the assessment administration for which participation is being indicated. - - - - - A reference to the education organization for which participation is being indicated. - - - - - - - Provides alternative references for an AssesssmentAdministrationParticipation. Use XML IDREF to reference a record that is included in the interchange. Use the identity type to look up a record that was loaded previously. - - Extended Reference - - - - - - - - Identity of an AssesssmentAdministrationParticipation. - - - - - - Identity of a BalanceSheetDimension. @@ -17159,6 +17204,24 @@ + + + Custom descriptor of college institutions or categories of institutions participating in the dual credit program. + + Extended Descriptor Reference + + + + + + + Indicates the type of the dual credit program. + + Extended Descriptor Reference + + + + The setting in which a child receives education and related services. @@ -18149,7 +18212,7 @@ - + This descriptor defines the reason(s) why student qualifies for Section 504 consideration. @@ -19532,6 +19595,47 @@ + + + This common stores details about the dual credit type and information about the organization that delivers the educational service and award. + + Common + + + + + + Indicates whether the student assigned to the section is to receive dual credit upon successful completion. + + + + + For a student taking a dual credit course in a college or high school setting, indicates the type of dual credit program. + + DualCreditTypeDescriptor + + + + + + Indicates whether successful completion of the course will result in credits toward high school graduation. + + + + + The education organization reference that is awarding the postsecondary credit as part of the dual credit program. Use of this attribute requires that education organization, typically a postsecondary institution, is a defined education organization. + + + + + Descriptor for the postsecondary institution offering college credit. This descriptor may be used to select a postsecondary institution that is not defined as an education organization, and/or select a general type of postsecondary institution. + + DualCreditInstitutionDescriptor + + + + + Published papers, reports, or other educational documents. diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-AssessmentRegistration.xsd b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-AssessmentRegistration.xsd new file mode 100644 index 0000000000..6fbd6a6000 --- /dev/null +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-AssessmentRegistration.xsd @@ -0,0 +1,22 @@ + + + + + ===== Assessment Registration Interchange Model ===== + + + + This interchange defines the registration of students for assessments. It encompasses information related to the scheduled assessment administration, scheduled student participation, and the specific assessments to be taken by the students. + + + + + + + + + + + + + diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-Descriptors.xsd b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-Descriptors.xsd index 4f6fce286a..f51632c319 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-Descriptors.xsd +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-Descriptors.xsd @@ -74,6 +74,8 @@ The Descriptor interchange is used to describe metadata about the descriptors an + + @@ -184,7 +186,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-StudentProgram.xsd b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-StudentProgram.xsd index 7d1f3cdfd0..3fe698a42d 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-StudentProgram.xsd +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-StudentProgram.xsd @@ -20,6 +20,7 @@ + diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/SchemaAnnotation.xsd b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/SchemaAnnotation.xsd index 8bb4a33d45..29ed945eed 100644 --- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/SchemaAnnotation.xsd +++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/SchemaAnnotation.xsd @@ -78,6 +78,8 @@ + + @@ -188,7 +190,7 @@ - + diff --git a/Application/EdFi.Ods.Tests/_EmbeddedResources/Extensions.Sample-ApiModel-EXTENSION-For-Tests.json b/Application/EdFi.Ods.Tests/_EmbeddedResources/Extensions.Sample-ApiModel-EXTENSION-For-Tests.json index f86c98ac2f..5eb4e28eb7 100644 --- a/Application/EdFi.Ods.Tests/_EmbeddedResources/Extensions.Sample-ApiModel-EXTENSION-For-Tests.json +++ b/Application/EdFi.Ods.Tests/_EmbeddedResources/Extensions.Sample-ApiModel-EXTENSION-For-Tests.json @@ -10,5 +10,5 @@ "aggregateExtensionDefinitions": [], "entityDefinitions": [], "associationDefinitions": [], - "edFiVersion": "5.1.0" + "edFiVersion": "5.2.0" } \ No newline at end of file diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/ApiMetadata/ApiModel-EXTENSION.json b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/ApiMetadata/ApiModel-EXTENSION.json index 2ddf941aa7..bd28699c93 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/ApiMetadata/ApiModel-EXTENSION.json +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/ApiMetadata/ApiModel-EXTENSION.json @@ -322,7 +322,7 @@ "scale": 0, "isNullable": false }, - "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.", + "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.", "isIdentifying": true, "isServerAssigned": false, "columnNames": { @@ -432,7 +432,7 @@ "scale": 0, "isNullable": false }, - "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.", + "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.", "isIdentifying": true, "isServerAssigned": false, "columnNames": { @@ -555,7 +555,7 @@ "scale": 0, "isNullable": false }, - "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.", + "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.", "isIdentifying": true, "isServerAssigned": false, "columnNames": { @@ -665,7 +665,7 @@ "scale": 0, "isNullable": false }, - "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.", + "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.", "isIdentifying": true, "isServerAssigned": false, "columnNames": { @@ -769,5 +769,5 @@ "potentiallyLogical": false } ], - "edFiVersion": "5.1.0" + "edFiVersion": "5.2.0" } \ No newline at end of file diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql index 9be2f1889e..c0cdd16a55 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql @@ -1,6 +1,6 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. CREATE SCHEMA samplealternativeeducationprogram AUTHORIZATION postgres; diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql index 9eefd510bb..f4c014d02f 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. -- Table samplealternativeeducationprogram.AlternativeEducationEligibilityReasonDescriptor -- CREATE TABLE samplealternativeeducationprogram.AlternativeEducationEligibilityReasonDescriptor ( @@ -35,3 +35,4 @@ CREATE TABLE samplealternativeeducationprogram.StudentAlternativeEducationProgra CONSTRAINT StudentAlternativeEducationProgramAssociationMeetingTime_PK PRIMARY KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI, EndTime, StartTime) ); ALTER TABLE samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql index a1119f05f4..f8a89aebb7 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. ALTER TABLE samplealternativeeducationprogram.AlternativeEducationEligibilityReasonDescriptor ADD CONSTRAINT FK_683552_Descriptor FOREIGN KEY (AlternativeEducationEligibilityReasonDescriptorId) REFERENCES edfi.Descriptor (DescriptorId) @@ -24,3 +24,4 @@ ALTER TABLE samplealternativeeducationprogram.StudentAlternativeEducationProgram REFERENCES samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI) ON DELETE CASCADE ; + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql index f3a0275955..6f7345b9e5 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. -- Extended Properties [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] -- COMMENT ON TABLE samplealternativeeducationprogram.AlternativeEducationEligibilityReasonDescriptor IS 'This descriptor describes the reason a student is eligible for an Alternative Education Program'; @@ -9,7 +9,7 @@ COMMENT ON COLUMN samplealternativeeducationprogram.AlternativeEducationEligibil -- Extended Properties [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociation] -- COMMENT ON TABLE samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation IS 'This association represents Students in an Alternative Education Program.'; -COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation.BeginDate IS 'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.'; +COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation.BeginDate IS 'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.'; COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation.EducationOrganizationId IS 'The identifier assigned to an education organization.'; COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation.ProgramEducationOrganizationId IS 'The identifier assigned to an education organization.'; COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation.ProgramName IS 'The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.'; @@ -19,7 +19,7 @@ COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationP -- Extended Properties [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociationMeetingTime] -- COMMENT ON TABLE samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime IS 'The times at which this Alternative Education Program is scheduled to meet.'; -COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.BeginDate IS 'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.'; +COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.BeginDate IS 'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.'; COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.EducationOrganizationId IS 'The identifier assigned to an education organization.'; COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.ProgramEducationOrganizationId IS 'The identifier assigned to an education organization.'; COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.ProgramName IS 'The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.'; @@ -27,3 +27,4 @@ COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationP COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.StudentUSI IS 'A unique alphanumeric code assigned to a student.'; COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.EndTime IS 'An indication of the time of day the meeting time ends.'; COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.StartTime IS 'An indication of the time of day the meeting time begins.'; + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql new file mode 100644 index 0000000000..9439e72f71 --- /dev/null +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -0,0 +1,5 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql new file mode 100644 index 0000000000..9439e72f71 --- /dev/null +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -0,0 +1,5 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0010-CreateChangesSchema.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0010-CreateChangesSchema.sql index 1d79f65f30..9db97ab9ca 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0010-CreateChangesSchema.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0010-CreateChangesSchema.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. DO $$ BEGIN @@ -15,4 +15,4 @@ BEGIN END IF; END -$$; +$$; \ No newline at end of file diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql index 4ad3a47ab5..ed492b3484 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. CREATE SEQUENCE IF NOT EXISTS changes.ChangeVersionSequence START WITH 1; diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql index dc5e755454..cc41a4e908 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. DO $$ BEGIN diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql index f9649e3e8e..43a6a1ade9 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. DO $$ BEGIN diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql index ea44619e8e..9a887a8c47 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'samplealternativeeducationprogram') EXEC sys.sp_executesql N'CREATE SCHEMA [samplealternativeeducationprogram]' diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql index 89159241ca..e7a43b338a 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. -- Table [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] -- CREATE TABLE [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] ( @@ -57,3 +57,4 @@ CREATE TABLE [samplealternativeeducationprogram].[StudentAlternativeEducationPro GO ALTER TABLE [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociationMeetingTime] ADD CONSTRAINT [StudentAlternativeEducationProgramAssociationMeetingTime_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] GO + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql index 899072a864..a4883c21b2 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. ALTER TABLE [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] WITH CHECK ADD CONSTRAINT [FK_AlternativeEducationEligibilityReasonDescriptor_Descriptor] FOREIGN KEY ([AlternativeEducationEligibilityReasonDescriptorId]) REFERENCES [edfi].[Descriptor] ([DescriptorId]) @@ -25,3 +25,4 @@ ALTER TABLE [samplealternativeeducationprogram].[StudentAlternativeEducationProg REFERENCES [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI]) ON DELETE CASCADE GO + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql index 326bf2fac4..a3f89a9090 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. -- Extended Properties [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] -- EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This descriptor describes the reason a student is eligible for an Alternative Education Program', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'AlternativeEducationEligibilityReasonDescriptor' @@ -12,7 +12,7 @@ GO -- Extended Properties [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociation] -- EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This association represents Students in an Alternative Education Program.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociation' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'BeginDate' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'BeginDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId' GO @@ -30,7 +30,7 @@ GO -- Extended Properties [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociationMeetingTime] -- EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The times at which this Alternative Education Program is scheduled to meet.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociationMeetingTime' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociationMeetingTime', @level2type=N'COLUMN', @level2name=N'BeginDate' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociationMeetingTime', @level2type=N'COLUMN', @level2name=N'BeginDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociationMeetingTime', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId' GO @@ -46,3 +46,4 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication of the time of day the meeting time begins.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociationMeetingTime', @level2type=N'COLUMN', @level2name=N'StartTime' GO + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql new file mode 100644 index 0000000000..9439e72f71 --- /dev/null +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -0,0 +1,5 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql new file mode 100644 index 0000000000..9439e72f71 --- /dev/null +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -0,0 +1,5 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0010-CreateChangesSchema.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0010-CreateChangesSchema.sql index 12db7f76eb..ef9cc4b1d2 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0010-CreateChangesSchema.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0010-CreateChangesSchema.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'changes') EXEC sys.sp_executesql N'CREATE SCHEMA [changes]' diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql index 3baff168a0..db090dba43 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. IF NOT EXISTS (SELECT * FROM sys.sequences WHERE object_id = OBJECT_ID(N'[changes].[ChangeVersionSequence]')) BEGIN diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql index d9e7d058f0..8ab25c5738 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql @@ -1,8 +1,9 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'tracked_changes_samplealternativeeducationprogram') EXEC sys.sp_executesql N'CREATE SCHEMA [tracked_changes_samplealternativeeducationprogram]' GO + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql index 558ea6bc6b..2c04cf3521 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql @@ -1,7 +1,7 @@ -// SPDX-License-Identifier: Apache-2.0 -// Licensed to the Ed-Fi Alliance under one or more agreements. -// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -// See the LICENSE and NOTICES files in the project root for more information. +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. DROP TRIGGER IF EXISTS [samplealternativeeducationprogram].[samplealternativeeducationprogram_AlternativeEducationEligibilityReasonDescriptor_TR_DeleteTracking] GO @@ -22,3 +22,5 @@ GO ALTER TABLE [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] ENABLE TRIGGER [samplealternativeeducationprogram_AlternativeEducationEligibilityReasonDescriptor_TR_DeleteTracking] GO + + diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd index dc470ba528..5450d4ef9a 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd @@ -1,5 +1,5 @@ - + ===== Descriptors Interchange Model ===== @@ -34,6 +34,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an + @@ -61,7 +62,6 @@ The Descriptor interchange is used to describe metadata about the descriptors an - @@ -74,11 +74,13 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + + + @@ -90,10 +92,10 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + @@ -123,8 +125,8 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + @@ -144,9 +146,9 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + @@ -184,6 +186,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an + @@ -200,7 +203,6 @@ The Descriptor interchange is used to describe metadata about the descriptors an - diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd index 69eec33b65..f7f0b19931 100644 --- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd +++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd @@ -1,8 +1,8 @@ - + - ===== Ed-Fi 5.1.0 Extensions ===== + ===== Ed-Fi 5.2.0 Extensions ===== ===== Domain Entities ===== @@ -74,7 +74,7 @@ - The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. + The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines. diff --git a/Samples/Extensions/AlternativeEducationProgram/TestData/Descriptors.xml b/Samples/Extensions/AlternativeEducationProgram/TestData/Descriptors.xml index 91feb7b7cd..386cce0845 100644 --- a/Samples/Extensions/AlternativeEducationProgram/TestData/Descriptors.xml +++ b/Samples/Extensions/AlternativeEducationProgram/TestData/Descriptors.xml @@ -1,5 +1,5 @@ - + Student intends to withdraw or has withdrawn before graduation Student intends to withdraw or has withdrawn before graduation diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/ApiMetadata/ApiModel-EXTENSION.json b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/ApiMetadata/ApiModel-EXTENSION.json index c463986f69..1ef779f721 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/ApiMetadata/ApiModel-EXTENSION.json +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/ApiMetadata/ApiModel-EXTENSION.json @@ -3,6 +3,7 @@ "schemaDefinition": { "logicalName": "SampleStudentTranscript", "physicalName": "samplestudenttranscript", + "description": "", "version": "1.0.0" }, "aggregateDefinitions": [ @@ -127,6 +128,7 @@ "propertyName": "AcceptanceIndicator", "propertyType": { "dbType": "Boolean", + "minLength": 0, "maxLength": 0, "precision": 0, "scale": 0, @@ -195,6 +197,7 @@ "propertyName": "NameOfInstitution", "propertyType": { "dbType": "String", + "minLength": 0, "maxLength": 75, "precision": 0, "scale": 0, @@ -760,7 +763,7 @@ { "propertyName": "EducationOrganizationId", "propertyType": { - "dbType": "Int32", + "dbType": "Int64", "maxLength": 0, "precision": 10, "scale": 0, @@ -834,7 +837,7 @@ { "propertyName": "EducationOrganizationId", "propertyType": { - "dbType": "Int32", + "dbType": "Int64", "maxLength": 0, "precision": 10, "scale": 0, @@ -923,6 +926,7 @@ "propertyName": "NameOfInstitution", "propertyType": { "dbType": "String", + "minLength": 0, "maxLength": 75, "precision": 0, "scale": 0, @@ -946,6 +950,7 @@ "propertyName": "NameOfInstitution", "propertyType": { "dbType": "String", + "minLength": 0, "maxLength": 75, "precision": 0, "scale": 0, @@ -982,7 +987,7 @@ { "propertyName": "EducationOrganizationId", "propertyType": { - "dbType": "Int32", + "dbType": "Int64", "maxLength": 0, "precision": 10, "scale": 0, @@ -1056,7 +1061,7 @@ { "propertyName": "EducationOrganizationId", "propertyType": { - "dbType": "Int32", + "dbType": "Int64", "maxLength": 0, "precision": 10, "scale": 0, @@ -1249,5 +1254,6 @@ }, "potentiallyLogical": false } - ] + ], + "edFiVersion": "5.2.0" } \ No newline at end of file diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleStudentTranscript-Tables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleStudentTranscript-Tables.sql index 3e761bdc90..9d4974db5d 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleStudentTranscript-Tables.sql +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleStudentTranscript-Tables.sql @@ -7,51 +7,51 @@ CREATE TABLE samplestudenttranscript.InstitutionControlDescriptor ( InstitutionControlDescriptorId INT NOT NULL, CONSTRAINT InstitutionControlDescriptor_PK PRIMARY KEY (InstitutionControlDescriptorId) -); +); -- Table samplestudenttranscript.InstitutionLevelDescriptor -- CREATE TABLE samplestudenttranscript.InstitutionLevelDescriptor ( InstitutionLevelDescriptorId INT NOT NULL, CONSTRAINT InstitutionLevelDescriptor_PK PRIMARY KEY (InstitutionLevelDescriptorId) -); +); -- Table samplestudenttranscript.PostSecondaryOrganization -- CREATE TABLE samplestudenttranscript.PostSecondaryOrganization ( NameOfInstitution VARCHAR(75) NOT NULL, - InstitutionLevelDescriptorId INT NOT NULL, - InstitutionControlDescriptorId INT NOT NULL, AcceptanceIndicator BOOLEAN NOT NULL, + InstitutionControlDescriptorId INT NOT NULL, + InstitutionLevelDescriptorId INT NOT NULL, Discriminator VARCHAR(128) NULL, CreateDate TIMESTAMP NOT NULL, LastModifiedDate TIMESTAMP NOT NULL, Id UUID NOT NULL, CONSTRAINT PostSecondaryOrganization_PK PRIMARY KEY (NameOfInstitution) -); -ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER COLUMN CreateDate SET DEFAULT current_timestamp; +); +ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER COLUMN Id SET DEFAULT gen_random_uuid(); -ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp; +ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; -- Table samplestudenttranscript.SpecialEducationGraduationStatusDescriptor -- CREATE TABLE samplestudenttranscript.SpecialEducationGraduationStatusDescriptor ( SpecialEducationGraduationStatusDescriptorId INT NOT NULL, CONSTRAINT SpecialEducationGraduationStatusDescriptor_PK PRIMARY KEY (SpecialEducationGraduationStatusDescriptorId) -); +); -- Table samplestudenttranscript.StudentAcademicRecordClassRankingExtension -- CREATE TABLE samplestudenttranscript.StudentAcademicRecordClassRankingExtension ( - EducationOrganizationId INT NOT NULL, + EducationOrganizationId BIGINT NOT NULL, SchoolYear SMALLINT NOT NULL, StudentUSI INT NOT NULL, TermDescriptorId INT NOT NULL, SpecialEducationGraduationStatusDescriptorId INT NOT NULL, CreateDate TIMESTAMP NOT NULL, CONSTRAINT StudentAcademicRecordClassRankingExtension_PK PRIMARY KEY (EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId) -); -ALTER TABLE samplestudenttranscript.StudentAcademicRecordClassRankingExtension ALTER COLUMN CreateDate SET DEFAULT current_timestamp; +); +ALTER TABLE samplestudenttranscript.StudentAcademicRecordClassRankingExtension ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; -- Table samplestudenttranscript.StudentAcademicRecordExtension -- CREATE TABLE samplestudenttranscript.StudentAcademicRecordExtension ( - EducationOrganizationId INT NOT NULL, + EducationOrganizationId BIGINT NOT NULL, SchoolYear SMALLINT NOT NULL, StudentUSI INT NOT NULL, TermDescriptorId INT NOT NULL, @@ -59,12 +59,12 @@ CREATE TABLE samplestudenttranscript.StudentAcademicRecordExtension ( SubmissionCertificationDescriptorId INT NULL, CreateDate TIMESTAMP NOT NULL, CONSTRAINT StudentAcademicRecordExtension_PK PRIMARY KEY (EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId) -); -ALTER TABLE samplestudenttranscript.StudentAcademicRecordExtension ALTER COLUMN CreateDate SET DEFAULT current_timestamp; +); +ALTER TABLE samplestudenttranscript.StudentAcademicRecordExtension ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC'; -- Table samplestudenttranscript.SubmissionCertificationDescriptor -- CREATE TABLE samplestudenttranscript.SubmissionCertificationDescriptor ( SubmissionCertificationDescriptorId INT NOT NULL, CONSTRAINT SubmissionCertificationDescriptor_PK PRIMARY KEY (SubmissionCertificationDescriptorId) -); +); diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleStudentTranscript-ExtendedProperties.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleStudentTranscript-ExtendedProperties.sql index b25467013f..8bf828cd39 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleStudentTranscript-ExtendedProperties.sql +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleStudentTranscript-ExtendedProperties.sql @@ -14,9 +14,9 @@ COMMENT ON COLUMN samplestudenttranscript.InstitutionLevelDescriptor.Institution -- Extended Properties [samplestudenttranscript].[PostSecondaryOrganization] -- COMMENT ON TABLE samplestudenttranscript.PostSecondaryOrganization IS 'PostSecondaryOrganization'; COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.NameOfInstitution IS 'The name of the institution.'; -COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.InstitutionLevelDescriptorId IS 'The level of the institution.'; -COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.InstitutionControlDescriptorId IS 'The type of control of the institution (i.e., public or private).'; COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.AcceptanceIndicator IS 'An indication of acceptance.'; +COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.InstitutionControlDescriptorId IS 'The type of control of the institution (i.e., public or private).'; +COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.InstitutionLevelDescriptorId IS 'The level of the institution.'; -- Extended Properties [samplestudenttranscript].[SpecialEducationGraduationStatusDescriptor] -- COMMENT ON TABLE samplestudenttranscript.SpecialEducationGraduationStatusDescriptor IS 'The graduation status for special education.'; diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql new file mode 100644 index 0000000000..9439e72f71 --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -0,0 +1,5 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql new file mode 100644 index 0000000000..70bc230a58 --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql @@ -0,0 +1,10 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + + +CREATE SEQUENCE samplestudenttranscript.PostSecondaryOrganization_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648; +ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('samplestudenttranscript.PostSecondaryOrganization_aggseq'), ADD COLUMN AggregateData bytea; +CREATE INDEX ix_PostSecondaryOrganization_aggid ON samplestudenttranscript.PostSecondaryOrganization (AggregateId); + diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql new file mode 100644 index 0000000000..9439e72f71 --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -0,0 +1,5 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql index be31943499..035a1b0d46 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql @@ -3,6 +3,13 @@ -- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -- See the LICENSE and NOTICES files in the project root for more information. -ALTER TABLE samplestudenttranscript.PostSecondaryOrganization -ADD ChangeVersion BIGINT DEFAULT nextval('changes.ChangeVersionSequence') NOT NULL; +-- For performance reasons on existing data sets, all existing records will start with ChangeVersion of 0. +DO $$ +BEGIN +IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='samplestudenttranscript' AND table_name='postsecondaryorganization' AND column_name='changeversion') THEN +ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ADD ChangeVersion BIGINT DEFAULT (0) NOT NULL; +ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence'); +END IF; +END +$$; diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql new file mode 100644 index 0000000000..2c52e308a3 --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql @@ -0,0 +1,27 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + +DO $$ +BEGIN + +IF NOT EXISTS (SELECT 1 FROM information_schema.schemata WHERE schema_name = 'tracked_changes_samplestudenttranscript') THEN +CREATE SCHEMA tracked_changes_samplestudenttranscript; +END IF; + +IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'tracked_changes_samplestudenttranscript' AND table_name = 'postsecondaryorganization') THEN +CREATE TABLE tracked_changes_samplestudenttranscript.postsecondaryorganization +( + oldnameofinstitution VARCHAR(75) NOT NULL, + newnameofinstitution VARCHAR(75) NULL, + id uuid NOT NULL, + changeversion bigint NOT NULL, + discriminator varchar(128) NULL, + createdate timestamp NOT NULL DEFAULT (now()), + CONSTRAINT postsecondaryorganization_pk PRIMARY KEY (ChangeVersion) +); +END IF; + +END +$$; diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql new file mode 100644 index 0000000000..2c61851095 --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql @@ -0,0 +1,14 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + +DO $$ +BEGIN +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'updatechangeversion' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'postsecondaryorganization') THEN +CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON samplestudenttranscript.postsecondaryorganization + FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion(); +END IF; + +END +$$; diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql new file mode 100644 index 0000000000..c4aa22817c --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql @@ -0,0 +1,97 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + +DO $$ +BEGIN +CREATE OR REPLACE FUNCTION tracked_changes_samplestudenttranscript.institutioncontroldescriptor_deleted() + RETURNS trigger AS +$BODY$ +BEGIN + INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion) + SELECT OLD.InstitutionControlDescriptorId, b.codevalue, b.namespace, b.id, 'samplestudenttranscript.InstitutionControlDescriptor', nextval('changes.ChangeVersionSequence') + FROM edfi.descriptor b WHERE old.InstitutionControlDescriptorId = b.descriptorid ; + + RETURN NULL; +END; +$BODY$ LANGUAGE plpgsql; + +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'institutioncontroldescriptor') THEN +CREATE TRIGGER TrackDeletes AFTER DELETE ON samplestudenttranscript.institutioncontroldescriptor + FOR EACH ROW EXECUTE PROCEDURE tracked_changes_samplestudenttranscript.institutioncontroldescriptor_deleted(); +END IF; + +CREATE OR REPLACE FUNCTION tracked_changes_samplestudenttranscript.institutionleveldescriptor_deleted() + RETURNS trigger AS +$BODY$ +BEGIN + INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion) + SELECT OLD.InstitutionLevelDescriptorId, b.codevalue, b.namespace, b.id, 'samplestudenttranscript.InstitutionLevelDescriptor', nextval('changes.ChangeVersionSequence') + FROM edfi.descriptor b WHERE old.InstitutionLevelDescriptorId = b.descriptorid ; + + RETURN NULL; +END; +$BODY$ LANGUAGE plpgsql; + +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'institutionleveldescriptor') THEN +CREATE TRIGGER TrackDeletes AFTER DELETE ON samplestudenttranscript.institutionleveldescriptor + FOR EACH ROW EXECUTE PROCEDURE tracked_changes_samplestudenttranscript.institutionleveldescriptor_deleted(); +END IF; + +CREATE OR REPLACE FUNCTION tracked_changes_samplestudenttranscript.postsecondaryorganization_deleted() + RETURNS trigger AS +$BODY$ +BEGIN + INSERT INTO tracked_changes_samplestudenttranscript.postsecondaryorganization( + oldnameofinstitution, + id, discriminator, changeversion) + VALUES ( + OLD.nameofinstitution, + OLD.id, OLD.discriminator, nextval('changes.changeversionsequence')); + + RETURN NULL; +END; +$BODY$ LANGUAGE plpgsql; + +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'postsecondaryorganization') THEN +CREATE TRIGGER TrackDeletes AFTER DELETE ON samplestudenttranscript.postsecondaryorganization + FOR EACH ROW EXECUTE PROCEDURE tracked_changes_samplestudenttranscript.postsecondaryorganization_deleted(); +END IF; + +CREATE OR REPLACE FUNCTION tracked_changes_samplestudenttranscript.specialeducationgraduationstatusdescriptor_deleted() + RETURNS trigger AS +$BODY$ +BEGIN + INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion) + SELECT OLD.SpecialEducationGraduationStatusDescriptorId, b.codevalue, b.namespace, b.id, 'samplestudenttranscript.SpecialEducationGraduationStatusDescriptor', nextval('changes.ChangeVersionSequence') + FROM edfi.descriptor b WHERE old.SpecialEducationGraduationStatusDescriptorId = b.descriptorid ; + + RETURN NULL; +END; +$BODY$ LANGUAGE plpgsql; + +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'specialeducationgraduationstatusdescriptor') THEN +CREATE TRIGGER TrackDeletes AFTER DELETE ON samplestudenttranscript.specialeducationgraduationstatusdescriptor + FOR EACH ROW EXECUTE PROCEDURE tracked_changes_samplestudenttranscript.specialeducationgraduationstatusdescriptor_deleted(); +END IF; + +CREATE OR REPLACE FUNCTION tracked_changes_samplestudenttranscript.submissioncertificationdescriptor_deleted() + RETURNS trigger AS +$BODY$ +BEGIN + INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion) + SELECT OLD.SubmissionCertificationDescriptorId, b.codevalue, b.namespace, b.id, 'samplestudenttranscript.SubmissionCertificationDescriptor', nextval('changes.ChangeVersionSequence') + FROM edfi.descriptor b WHERE old.SubmissionCertificationDescriptorId = b.descriptorid ; + + RETURN NULL; +END; +$BODY$ LANGUAGE plpgsql; + +IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'submissioncertificationdescriptor') THEN +CREATE TRIGGER TrackDeletes AFTER DELETE ON samplestudenttranscript.submissioncertificationdescriptor + FOR EACH ROW EXECUTE PROCEDURE tracked_changes_samplestudenttranscript.submissioncertificationdescriptor_deleted(); +END IF; + +END +$$; diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0020-EXTENSION-samplestudenttranscript-Tables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0020-EXTENSION-samplestudenttranscript-Tables.sql index b12695830b..5852404222 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0020-EXTENSION-samplestudenttranscript-Tables.sql +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0020-EXTENSION-samplestudenttranscript-Tables.sql @@ -24,9 +24,9 @@ GO -- Table [samplestudenttranscript].[PostSecondaryOrganization] -- CREATE TABLE [samplestudenttranscript].[PostSecondaryOrganization] ( [NameOfInstitution] [NVARCHAR](75) NOT NULL, - [InstitutionLevelDescriptorId] [INT] NOT NULL, - [InstitutionControlDescriptorId] [INT] NOT NULL, [AcceptanceIndicator] [BIT] NOT NULL, + [InstitutionControlDescriptorId] [INT] NOT NULL, + [InstitutionLevelDescriptorId] [INT] NOT NULL, [Discriminator] [NVARCHAR](128) NULL, [CreateDate] [DATETIME2] NOT NULL, [LastModifiedDate] [DATETIME2] NOT NULL, @@ -36,11 +36,11 @@ CREATE TABLE [samplestudenttranscript].[PostSecondaryOrganization] ( ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO -ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT [PostSecondaryOrganization_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate] +ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT [PostSecondaryOrganization_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] GO ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT [PostSecondaryOrganization_DF_Id] DEFAULT (newid()) FOR [Id] GO -ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT [PostSecondaryOrganization_DF_LastModifiedDate] DEFAULT (getdate()) FOR [LastModifiedDate] +ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT [PostSecondaryOrganization_DF_LastModifiedDate] DEFAULT (getutcdate()) FOR [LastModifiedDate] GO -- Table [samplestudenttranscript].[SpecialEducationGraduationStatusDescriptor] -- @@ -54,7 +54,7 @@ GO -- Table [samplestudenttranscript].[StudentAcademicRecordClassRankingExtension] -- CREATE TABLE [samplestudenttranscript].[StudentAcademicRecordClassRankingExtension] ( - [EducationOrganizationId] [INT] NOT NULL, + [EducationOrganizationId] [BIGINT] NOT NULL, [SchoolYear] [SMALLINT] NOT NULL, [StudentUSI] [INT] NOT NULL, [TermDescriptorId] [INT] NOT NULL, @@ -68,12 +68,12 @@ CREATE TABLE [samplestudenttranscript].[StudentAcademicRecordClassRankingExtensi ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO -ALTER TABLE [samplestudenttranscript].[StudentAcademicRecordClassRankingExtension] ADD CONSTRAINT [StudentAcademicRecordClassRankingExtension_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate] +ALTER TABLE [samplestudenttranscript].[StudentAcademicRecordClassRankingExtension] ADD CONSTRAINT [StudentAcademicRecordClassRankingExtension_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] GO -- Table [samplestudenttranscript].[StudentAcademicRecordExtension] -- CREATE TABLE [samplestudenttranscript].[StudentAcademicRecordExtension] ( - [EducationOrganizationId] [INT] NOT NULL, + [EducationOrganizationId] [BIGINT] NOT NULL, [SchoolYear] [SMALLINT] NOT NULL, [StudentUSI] [INT] NOT NULL, [TermDescriptorId] [INT] NOT NULL, @@ -88,7 +88,7 @@ CREATE TABLE [samplestudenttranscript].[StudentAcademicRecordExtension] ( ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO -ALTER TABLE [samplestudenttranscript].[StudentAcademicRecordExtension] ADD CONSTRAINT [StudentAcademicRecordExtension_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate] +ALTER TABLE [samplestudenttranscript].[StudentAcademicRecordExtension] ADD CONSTRAINT [StudentAcademicRecordExtension_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate] GO -- Table [samplestudenttranscript].[SubmissionCertificationDescriptor] -- diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0050-EXTENSION-samplestudenttranscript-ExtendedProperties.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0050-EXTENSION-samplestudenttranscript-ExtendedProperties.sql index 6d4d68381d..c6883bf9b1 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0050-EXTENSION-samplestudenttranscript-ExtendedProperties.sql +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0050-EXTENSION-samplestudenttranscript-ExtendedProperties.sql @@ -20,11 +20,11 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'PostSecondaryO GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the institution.', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'NameOfInstitution' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The level of the institution.', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'InstitutionLevelDescriptorId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication of acceptance.', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'AcceptanceIndicator' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of control of the institution (i.e., public or private).', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'InstitutionControlDescriptorId' GO -EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication of acceptance.', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'AcceptanceIndicator' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The level of the institution.', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'InstitutionLevelDescriptorId' GO -- Extended Properties [samplestudenttranscript].[SpecialEducationGraduationStatusDescriptor] -- diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql new file mode 100644 index 0000000000..9439e72f71 --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -0,0 +1,5 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql new file mode 100644 index 0000000000..3ed75199ba --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql @@ -0,0 +1,9 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + +CREATE SEQUENCE [samplestudenttranscript].[PostSecondaryOrganization_AggSeq] START WITH -2147483648 INCREMENT BY 1; +ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [samplestudenttranscript].[PostSecondaryOrganization_AggSeq], AggregateData varbinary(8000); +CREATE INDEX [IX_PostSecondaryOrganization_AggregateId] ON [samplestudenttranscript].[PostSecondaryOrganization] (AggregateId); + diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql new file mode 100644 index 0000000000..9439e72f71 --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql @@ -0,0 +1,5 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql index 16d98b28cb..db090dba43 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql @@ -5,6 +5,6 @@ IF NOT EXISTS (SELECT * FROM sys.sequences WHERE object_id = OBJECT_ID(N'[changes].[ChangeVersionSequence]')) BEGIN -CREATE SEQUENCE [changes].[ChangeVersionSequence] START WITH 0 +CREATE SEQUENCE [changes].[ChangeVersionSequence] START WITH 1 END GO diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql index faf64144fd..b0168551db 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql @@ -3,5 +3,13 @@ -- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. -- See the LICENSE and NOTICES files in the project root for more information. -ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD [ChangeVersion] [BIGINT] DEFAULT (NEXT VALUE FOR [changes].[ChangeVersionSequence]) NOT NULL; + +-- For performance reasons on existing data sets, all existing records will start with ChangeVersion of 0. +IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[samplestudenttranscript].[PostSecondaryOrganization]') AND name = 'ChangeVersion') +BEGIN +ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD [ChangeVersion] [BIGINT] CONSTRAINT PostSecondaryOrganization_DF_ChangeVersion DEFAULT (0) NOT NULL; +ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] DROP CONSTRAINT PostSecondaryOrganization_DF_ChangeVersion; +ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT PostSecondaryOrganization_DF_ChangeVersion DEFAULT (NEXT VALUE FOR [changes].[ChangeVersionSequence]) For [ChangeVersion]; +END + diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql new file mode 100644 index 0000000000..61bac999ac --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql @@ -0,0 +1,20 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + +IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'tracked_changes_samplestudenttranscript') +EXEC sys.sp_executesql N'CREATE SCHEMA [tracked_changes_samplestudenttranscript]' +GO + +IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[tracked_changes_samplestudenttranscript].[PostSecondaryOrganization]')) +CREATE TABLE [tracked_changes_samplestudenttranscript].[PostSecondaryOrganization] +( + OldNameOfInstitution [NVARCHAR](75) NOT NULL, + NewNameOfInstitution [NVARCHAR](75) NULL, + Id uniqueidentifier NOT NULL, + ChangeVersion bigint NOT NULL, + Discriminator [NVARCHAR](128) NULL, + CreateDate DateTime2 NOT NULL DEFAULT (getutcdate()), + CONSTRAINT PK_PostSecondaryOrganization PRIMARY KEY CLUSTERED (ChangeVersion) +) diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql new file mode 100644 index 0000000000..f29f07b627 --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql @@ -0,0 +1,18 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + +DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_PostSecondaryOrganization_TR_UpdateChangeVersion] +GO + +CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_PostSecondaryOrganization_TR_UpdateChangeVersion] ON [samplestudenttranscript].[PostSecondaryOrganization] AFTER UPDATE AS +BEGIN + SET NOCOUNT ON; + UPDATE [samplestudenttranscript].[PostSecondaryOrganization] + SET ChangeVersion = (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + FROM [samplestudenttranscript].[PostSecondaryOrganization] u + WHERE EXISTS (SELECT 1 FROM inserted i WHERE i.id = u.id); +END +GO + diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql new file mode 100644 index 0000000000..fa307c00b9 --- /dev/null +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql @@ -0,0 +1,109 @@ +-- SPDX-License-Identifier: Apache-2.0 +-- Licensed to the Ed-Fi Alliance under one or more agreements. +-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0. +-- See the LICENSE and NOTICES files in the project root for more information. + +DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_InstitutionControlDescriptor_TR_DeleteTracking] +GO + +CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_InstitutionControlDescriptor_TR_DeleteTracking] ON [samplestudenttranscript].[InstitutionControlDescriptor] AFTER DELETE AS +BEGIN + IF @@rowcount = 0 + RETURN + + SET NOCOUNT ON + + INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion) + SELECT d.InstitutionControlDescriptorId, b.CodeValue, b.Namespace, b.Id, 'samplestudenttranscript.InstitutionControlDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + FROM deleted d + INNER JOIN edfi.Descriptor b ON d.InstitutionControlDescriptorId = b.DescriptorId +END +GO + +ALTER TABLE [samplestudenttranscript].[InstitutionControlDescriptor] ENABLE TRIGGER [samplestudenttranscript_InstitutionControlDescriptor_TR_DeleteTracking] +GO + + +DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_InstitutionLevelDescriptor_TR_DeleteTracking] +GO + +CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_InstitutionLevelDescriptor_TR_DeleteTracking] ON [samplestudenttranscript].[InstitutionLevelDescriptor] AFTER DELETE AS +BEGIN + IF @@rowcount = 0 + RETURN + + SET NOCOUNT ON + + INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion) + SELECT d.InstitutionLevelDescriptorId, b.CodeValue, b.Namespace, b.Id, 'samplestudenttranscript.InstitutionLevelDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + FROM deleted d + INNER JOIN edfi.Descriptor b ON d.InstitutionLevelDescriptorId = b.DescriptorId +END +GO + +ALTER TABLE [samplestudenttranscript].[InstitutionLevelDescriptor] ENABLE TRIGGER [samplestudenttranscript_InstitutionLevelDescriptor_TR_DeleteTracking] +GO + + +DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_PostSecondaryOrganization_TR_DeleteTracking] +GO + +CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_PostSecondaryOrganization_TR_DeleteTracking] ON [samplestudenttranscript].[PostSecondaryOrganization] AFTER DELETE AS +BEGIN + IF @@rowcount = 0 + RETURN + + SET NOCOUNT ON + + INSERT INTO [tracked_changes_samplestudenttranscript].[PostSecondaryOrganization](OldNameOfInstitution, Id, Discriminator, ChangeVersion) + SELECT d.NameOfInstitution, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + FROM deleted d +END +GO + +ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ENABLE TRIGGER [samplestudenttranscript_PostSecondaryOrganization_TR_DeleteTracking] +GO + + +DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_SpecialEducationGraduationStatusDescriptor_TR_DeleteTracking] +GO + +CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_SpecialEducationGraduationStatusDescriptor_TR_DeleteTracking] ON [samplestudenttranscript].[SpecialEducationGraduationStatusDescriptor] AFTER DELETE AS +BEGIN + IF @@rowcount = 0 + RETURN + + SET NOCOUNT ON + + INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion) + SELECT d.SpecialEducationGraduationStatusDescriptorId, b.CodeValue, b.Namespace, b.Id, 'samplestudenttranscript.SpecialEducationGraduationStatusDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + FROM deleted d + INNER JOIN edfi.Descriptor b ON d.SpecialEducationGraduationStatusDescriptorId = b.DescriptorId +END +GO + +ALTER TABLE [samplestudenttranscript].[SpecialEducationGraduationStatusDescriptor] ENABLE TRIGGER [samplestudenttranscript_SpecialEducationGraduationStatusDescriptor_TR_DeleteTracking] +GO + + +DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_SubmissionCertificationDescriptor_TR_DeleteTracking] +GO + +CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_SubmissionCertificationDescriptor_TR_DeleteTracking] ON [samplestudenttranscript].[SubmissionCertificationDescriptor] AFTER DELETE AS +BEGIN + IF @@rowcount = 0 + RETURN + + SET NOCOUNT ON + + INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion) + SELECT d.SubmissionCertificationDescriptorId, b.CodeValue, b.Namespace, b.Id, 'samplestudenttranscript.SubmissionCertificationDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence]) + FROM deleted d + INNER JOIN edfi.Descriptor b ON d.SubmissionCertificationDescriptorId = b.DescriptorId +END +GO + +ALTER TABLE [samplestudenttranscript].[SubmissionCertificationDescriptor] ENABLE TRIGGER [samplestudenttranscript_SubmissionCertificationDescriptor_TR_DeleteTracking] +GO + + diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd index 95495f2dee..2e304cdb53 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd @@ -1,5 +1,5 @@ - + ===== Descriptors Interchange Model ===== @@ -15,7 +15,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + @@ -28,9 +28,13 @@ The Descriptor interchange is used to describe metadata about the descriptors an + + + + @@ -57,7 +61,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + @@ -69,26 +73,37 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + + + + + + + + + - + + + + @@ -96,6 +111,8 @@ The Descriptor interchange is used to describe metadata about the descriptors an + + @@ -108,17 +125,18 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + + - + @@ -128,12 +146,17 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + + + + + + @@ -144,12 +167,14 @@ The Descriptor interchange is used to describe metadata about the descriptors an + + @@ -157,15 +182,19 @@ The Descriptor interchange is used to describe metadata about the descriptors an + + + + @@ -174,7 +203,8 @@ The Descriptor interchange is used to describe metadata about the descriptors an - + + @@ -185,6 +215,10 @@ The Descriptor interchange is used to describe metadata about the descriptors an + + + + diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-StudentTranscript-Extension.xsd b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-StudentTranscript-Extension.xsd index 90fc057c15..de38171624 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-StudentTranscript-Extension.xsd +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-StudentTranscript-Extension.xsd @@ -1,5 +1,5 @@ - + ===== Student Transcript Interchange Model ===== diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd index c6eef09503..33c8896605 100644 --- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd +++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd @@ -1,8 +1,8 @@ - + - ===== Ed-Fi 3.3.1-b Extensions ===== + ===== Ed-Fi 5.2.0 Extensions ===== ===== Domain Entities ===== @@ -93,22 +93,7 @@ - The cumulative number of credits an individual attempts to earn by taking courses during his or her enrollment in the current school as well as those credits transferred from schools in which the individual had been previously enrolled. - - - - - The cumulative number of grade points an individual earns by successfully completing courses or examinations during his or her enrollment in the current school as well as those transferred from schools in which the individual had been previously enrolled. - - - - - A measure of average performance in all courses taken by an individual during his or her school career as determined for record-keeping purposes. This is obtained by dividing the total grade points received by the total number of credits attempted. This usually includes grade points received and credits attempted in his or her current school as well as those transferred from schools in which the individual was previously enrolled. - - - - - The scale of equivalents, if applicable, for grades awarded as indicators of performance in schoolwork. For example, numerical equivalents for letter grades used in determining a student's Grade Point Average (A=4, B=3, C=2, D=1 in a four-point system) or letter equivalents for percentage grades (90-100%=A, 80-90%=B, etc.) + The total number of credits a student has earned plus the total number of credits the student has attempted but not earned from distinct courses. This includes credits attempted and earned from all schools the student has been enrolled. @@ -136,16 +121,6 @@ The number of credits an individual attempted to earn in this session. - - - The number of grade points an individual earned for this session. - - - - - The grade point average for an individual computed as the grade points earned during the session divided by the number of credits attempted. - - The grade point average for an individual computed as the grade points earned divided by the number of credits attempted. @@ -158,7 +133,7 @@ - Identifies the student who is associated with the StudentAcademicRecord. + Identifies the student who is associated with the student academic record. diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Controllers_Controllers.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Controllers_Controllers.generated.approved.cs index 41cba909a6..b764c743c4 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Controllers_Controllers.generated.approved.cs +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Controllers_Controllers.generated.approved.cs @@ -576,6 +576,41 @@ protected override void MapAll(Api.Common.Models.Requests.AssessmentAdministrati } } +namespace EdFi.Ods.Api.Services.Controllers.AssessmentAdministrationParticipations.EdFi +{ + [ApiExplorerSettings(IgnoreApi = true)] + [ExcludeFromCodeCoverage] + [ApiController] + [Authorize] + [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/assessmentAdministrationParticipations")] + public partial class AssessmentAdministrationParticipationsController : DataManagementControllerBase< + Api.Common.Models.Resources.AssessmentAdministrationParticipation.EdFi.AssessmentAdministrationParticipation, + Entities.Common.EdFi.IAssessmentAdministrationParticipation, + Entities.NHibernate.AssessmentAdministrationParticipationAggregate.EdFi.AssessmentAdministrationParticipation, + Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi.AssessmentAdministrationParticipationPut, + Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi.AssessmentAdministrationParticipationPost, + Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi.AssessmentAdministrationParticipationDelete, + Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi.AssessmentAdministrationParticipationGetByExample> + { + public AssessmentAdministrationParticipationsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor) + : base(pipelineFactory, problemDetailsProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, dataManagementResourceContextProvider, logContextAccessor) + { + } + + protected override void MapAll(Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi.AssessmentAdministrationParticipationGetByExample request, Entities.Common.EdFi.IAssessmentAdministrationParticipation specification) + { + // Copy all existing values + specification.SuspendReferenceAssignmentCheck(); + specification.AdministrationIdentifier = request.AdministrationIdentifier; + specification.AssessmentIdentifier = request.AssessmentIdentifier; + specification.AssigningEducationOrganizationId = request.AssigningEducationOrganizationId; + specification.Id = request.Id; + specification.Namespace = request.Namespace; + specification.ParticipatingEducationOrganizationId = request.ParticipatingEducationOrganizationId; + } + } +} + namespace EdFi.Ods.Api.Services.Controllers.AssessmentBatteryParts.EdFi { [ApiExplorerSettings(IgnoreApi = true)] @@ -907,41 +942,6 @@ protected override void MapAll(Api.Common.Models.Requests.AssessmentScoreRangeLe } } -namespace EdFi.Ods.Api.Services.Controllers.AssesssmentAdministrationParticipations.EdFi -{ - [ApiExplorerSettings(IgnoreApi = true)] - [ExcludeFromCodeCoverage] - [ApiController] - [Authorize] - [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/assesssmentAdministrationParticipations")] - public partial class AssesssmentAdministrationParticipationsController : DataManagementControllerBase< - Api.Common.Models.Resources.AssesssmentAdministrationParticipation.EdFi.AssesssmentAdministrationParticipation, - Entities.Common.EdFi.IAssesssmentAdministrationParticipation, - Entities.NHibernate.AssesssmentAdministrationParticipationAggregate.EdFi.AssesssmentAdministrationParticipation, - Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi.AssesssmentAdministrationParticipationPut, - Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi.AssesssmentAdministrationParticipationPost, - Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi.AssesssmentAdministrationParticipationDelete, - Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi.AssesssmentAdministrationParticipationGetByExample> - { - public AssesssmentAdministrationParticipationsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor) - : base(pipelineFactory, problemDetailsProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, dataManagementResourceContextProvider, logContextAccessor) - { - } - - protected override void MapAll(Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi.AssesssmentAdministrationParticipationGetByExample request, Entities.Common.EdFi.IAssesssmentAdministrationParticipation specification) - { - // Copy all existing values - specification.SuspendReferenceAssignmentCheck(); - specification.AdministrationIdentifier = request.AdministrationIdentifier; - specification.AssessmentIdentifier = request.AssessmentIdentifier; - specification.AssigningEducationOrganizationId = request.AssigningEducationOrganizationId; - specification.Id = request.Id; - specification.Namespace = request.Namespace; - specification.ParticipatingEducationOrganizationId = request.ParticipatingEducationOrganizationId; - } - } -} - namespace EdFi.Ods.Api.Services.Controllers.AssignmentLateStatusDescriptors.EdFi { [ApiExplorerSettings(IgnoreApi = true)] @@ -3422,6 +3422,80 @@ protected override void MapAll(Api.Common.Models.Requests.DisplacedStudentStatus } } +namespace EdFi.Ods.Api.Services.Controllers.DualCreditInstitutionDescriptors.EdFi +{ + [ApiExplorerSettings(IgnoreApi = true)] + [ExcludeFromCodeCoverage] + [ApiController] + [Authorize] + [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/dualCreditInstitutionDescriptors")] + public partial class DualCreditInstitutionDescriptorsController : DataManagementControllerBase< + Api.Common.Models.Resources.DualCreditInstitutionDescriptor.EdFi.DualCreditInstitutionDescriptor, + Entities.Common.EdFi.IDualCreditInstitutionDescriptor, + Entities.NHibernate.DualCreditInstitutionDescriptorAggregate.EdFi.DualCreditInstitutionDescriptor, + Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi.DualCreditInstitutionDescriptorPut, + Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi.DualCreditInstitutionDescriptorPost, + Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi.DualCreditInstitutionDescriptorDelete, + Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi.DualCreditInstitutionDescriptorGetByExample> + { + public DualCreditInstitutionDescriptorsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor) + : base(pipelineFactory, problemDetailsProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, dataManagementResourceContextProvider, logContextAccessor) + { + } + + protected override void MapAll(Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi.DualCreditInstitutionDescriptorGetByExample request, Entities.Common.EdFi.IDualCreditInstitutionDescriptor specification) + { + // Copy all existing values + specification.SuspendReferenceAssignmentCheck(); + specification.CodeValue = request.CodeValue; + specification.Description = request.Description; + specification.DualCreditInstitutionDescriptorId = request.DualCreditInstitutionDescriptorId; + specification.EffectiveBeginDate = request.EffectiveBeginDate; + specification.EffectiveEndDate = request.EffectiveEndDate; + specification.Id = request.Id; + specification.Namespace = request.Namespace; + specification.ShortDescription = request.ShortDescription; + } + } +} + +namespace EdFi.Ods.Api.Services.Controllers.DualCreditTypeDescriptors.EdFi +{ + [ApiExplorerSettings(IgnoreApi = true)] + [ExcludeFromCodeCoverage] + [ApiController] + [Authorize] + [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/dualCreditTypeDescriptors")] + public partial class DualCreditTypeDescriptorsController : DataManagementControllerBase< + Api.Common.Models.Resources.DualCreditTypeDescriptor.EdFi.DualCreditTypeDescriptor, + Entities.Common.EdFi.IDualCreditTypeDescriptor, + Entities.NHibernate.DualCreditTypeDescriptorAggregate.EdFi.DualCreditTypeDescriptor, + Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi.DualCreditTypeDescriptorPut, + Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi.DualCreditTypeDescriptorPost, + Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi.DualCreditTypeDescriptorDelete, + Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi.DualCreditTypeDescriptorGetByExample> + { + public DualCreditTypeDescriptorsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor) + : base(pipelineFactory, problemDetailsProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, dataManagementResourceContextProvider, logContextAccessor) + { + } + + protected override void MapAll(Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi.DualCreditTypeDescriptorGetByExample request, Entities.Common.EdFi.IDualCreditTypeDescriptor specification) + { + // Copy all existing values + specification.SuspendReferenceAssignmentCheck(); + specification.CodeValue = request.CodeValue; + specification.Description = request.Description; + specification.DualCreditTypeDescriptorId = request.DualCreditTypeDescriptorId; + specification.EffectiveBeginDate = request.EffectiveBeginDate; + specification.EffectiveEndDate = request.EffectiveEndDate; + specification.Id = request.Id; + specification.Namespace = request.Namespace; + specification.ShortDescription = request.ShortDescription; + } + } +} + namespace EdFi.Ods.Api.Services.Controllers.EducationalEnvironmentDescriptors.EdFi { [ApiExplorerSettings(IgnoreApi = true)] @@ -9211,28 +9285,28 @@ protected override void MapAll(Api.Common.Models.Requests.Sections.EdFi.SectionG } } -namespace EdFi.Ods.Api.Services.Controllers.Section504DisabilityTypeDescriptors.EdFi +namespace EdFi.Ods.Api.Services.Controllers.Section504DisabilityDescriptors.EdFi { [ApiExplorerSettings(IgnoreApi = true)] [ExcludeFromCodeCoverage] [ApiController] [Authorize] - [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/section504DisabilityTypeDescriptors")] - public partial class Section504DisabilityTypeDescriptorsController : DataManagementControllerBase< - Api.Common.Models.Resources.Section504DisabilityTypeDescriptor.EdFi.Section504DisabilityTypeDescriptor, - Entities.Common.EdFi.ISection504DisabilityTypeDescriptor, - Entities.NHibernate.Section504DisabilityTypeDescriptorAggregate.EdFi.Section504DisabilityTypeDescriptor, - Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi.Section504DisabilityTypeDescriptorPut, - Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi.Section504DisabilityTypeDescriptorPost, - Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi.Section504DisabilityTypeDescriptorDelete, - Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi.Section504DisabilityTypeDescriptorGetByExample> + [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/section504DisabilityDescriptors")] + public partial class Section504DisabilityDescriptorsController : DataManagementControllerBase< + Api.Common.Models.Resources.Section504DisabilityDescriptor.EdFi.Section504DisabilityDescriptor, + Entities.Common.EdFi.ISection504DisabilityDescriptor, + Entities.NHibernate.Section504DisabilityDescriptorAggregate.EdFi.Section504DisabilityDescriptor, + Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi.Section504DisabilityDescriptorPut, + Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi.Section504DisabilityDescriptorPost, + Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi.Section504DisabilityDescriptorDelete, + Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi.Section504DisabilityDescriptorGetByExample> { - public Section504DisabilityTypeDescriptorsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor) + public Section504DisabilityDescriptorsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor) : base(pipelineFactory, problemDetailsProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, dataManagementResourceContextProvider, logContextAccessor) { } - protected override void MapAll(Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi.Section504DisabilityTypeDescriptorGetByExample request, Entities.Common.EdFi.ISection504DisabilityTypeDescriptor specification) + protected override void MapAll(Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi.Section504DisabilityDescriptorGetByExample request, Entities.Common.EdFi.ISection504DisabilityDescriptor specification) { // Copy all existing values specification.SuspendReferenceAssignmentCheck(); @@ -9242,7 +9316,7 @@ protected override void MapAll(Api.Common.Models.Requests.Section504DisabilityTy specification.EffectiveEndDate = request.EffectiveEndDate; specification.Id = request.Id; specification.Namespace = request.Namespace; - specification.Section504DisabilityTypeDescriptorId = request.Section504DisabilityTypeDescriptorId; + specification.Section504DisabilityDescriptorId = request.Section504DisabilityDescriptorId; specification.ShortDescription = request.ShortDescription; } } @@ -10555,6 +10629,8 @@ protected override void MapAll(Api.Common.Models.Requests.StudentAssessmentRegis specification.Namespace = request.Namespace; specification.PlatformTypeDescriptor = request.PlatformTypeDescriptor; specification.ReportingEducationOrganizationId = request.ReportingEducationOrganizationId; + specification.ScheduledEducationOrganizationId = request.ScheduledEducationOrganizationId; + specification.ScheduledStudentUniqueId = request.ScheduledStudentUniqueId; specification.SchoolId = request.SchoolId; specification.StudentUniqueId = request.StudentUniqueId; specification.TestingEducationOrganizationId = request.TestingEducationOrganizationId; @@ -11632,7 +11708,7 @@ protected override void MapAll(Api.Common.Models.Requests.StudentSection504Progr specification.ProgramName = request.ProgramName; specification.ProgramTypeDescriptor = request.ProgramTypeDescriptor; specification.ReasonExitedDescriptor = request.ReasonExitedDescriptor; - specification.Section504DisabilityTypeDescriptor = request.Section504DisabilityTypeDescriptor; + specification.Section504DisabilityDescriptor = request.Section504DisabilityDescriptor; specification.Section504Eligibility = request.Section504Eligibility; specification.Section504EligibilityDecisionDate = request.Section504EligibilityDecisionDate; specification.Section504MeetingDate = request.Section504MeetingDate; @@ -11669,6 +11745,11 @@ protected override void MapAll(Api.Common.Models.Requests.StudentSectionAssociat specification.SuspendReferenceAssignmentCheck(); specification.AttemptStatusDescriptor = request.AttemptStatusDescriptor; specification.BeginDate = request.BeginDate; + specification.DualCreditEducationOrganizationId = request.DualCreditEducationOrganizationId; + specification.DualCreditIndicator = request.DualCreditIndicator; + specification.DualCreditInstitutionDescriptor = request.DualCreditInstitutionDescriptor; + specification.DualCreditTypeDescriptor = request.DualCreditTypeDescriptor; + specification.DualHighSchoolCreditIndicator = request.DualHighSchoolCreditIndicator; specification.EndDate = request.EndDate; specification.HomeroomIndicator = request.HomeroomIndicator; specification.Id = request.Id; @@ -11768,8 +11849,10 @@ protected override void MapAll(Api.Common.Models.Requests.StudentSpecialEducatio specification.ProgramName = request.ProgramName; specification.ProgramTypeDescriptor = request.ProgramTypeDescriptor; specification.ReasonExitedDescriptor = request.ReasonExitedDescriptor; + specification.ReductionInHoursPerWeekComparedToPeers = request.ReductionInHoursPerWeekComparedToPeers; specification.SchoolHoursPerWeek = request.SchoolHoursPerWeek; specification.ServedOutsideOfRegularSession = request.ServedOutsideOfRegularSession; + specification.ShortenedSchoolDayIndicator = request.ShortenedSchoolDayIndicator; specification.SpecialEducationExitDate = request.SpecialEducationExitDate; specification.SpecialEducationExitExplained = request.SpecialEducationExitExplained; specification.SpecialEducationExitReasonDescriptor = request.SpecialEducationExitReasonDescriptor; diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml index 00b721ba95..194ef52d66 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml @@ -657,24 +657,24 @@ - + - + - + - + @@ -682,10 +682,10 @@ - + - + @@ -698,9 +698,13 @@ - + + + + + @@ -710,10 +714,10 @@ - + - + @@ -726,13 +730,115 @@ + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1061,112 +1167,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4484,6 +4484,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6244,14 +6276,14 @@ - - + + - + - + @@ -8953,7 +8985,7 @@ - + @@ -8990,7 +9022,9 @@ + + @@ -16485,6 +16519,8 @@ + + @@ -16498,9 +16534,9 @@ - - - + + + @@ -17164,6 +17200,16 @@ + + + + + + + + + + @@ -17194,6 +17240,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19428,12 +19501,20 @@ + + + + + + + + diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml index 9423fcdaad..2109ebb4c7 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml @@ -707,34 +707,34 @@ - + - + - + - + - + - + @@ -752,10 +752,10 @@ - + - + @@ -768,11 +768,15 @@ - + + + + + @@ -780,10 +784,10 @@ - + - + @@ -796,15 +800,103 @@ + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1138,98 +1230,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5760,6 +5760,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9011,14 +9057,14 @@ - - + + - + - + @@ -9027,7 +9073,7 @@ - + @@ -9991,6 +10037,13 @@ + + + + + + + @@ -10800,6 +10853,20 @@ + + + + + + + + + + + + + + @@ -10821,20 +10888,6 @@ - - - - - - - - - - - - - - @@ -11101,6 +11154,13 @@ + + + + + + + @@ -12734,7 +12794,7 @@ - + @@ -12742,8 +12802,8 @@ - - + + @@ -12776,7 +12836,9 @@ + + @@ -21341,6 +21403,8 @@ + + @@ -21362,9 +21426,9 @@ - - - + + + @@ -22010,6 +22074,16 @@ + + + + + + + + + + @@ -22044,6 +22118,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -22162,8 +22266,8 @@ - - + + @@ -24337,6 +24441,11 @@ + + + + + @@ -24348,6 +24457,15 @@ + + + + + + + + + diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml index d622b29cd7..a47d391897 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml @@ -657,24 +657,24 @@ - + - + - + - + @@ -682,10 +682,10 @@ - + - + @@ -698,9 +698,13 @@ - + + + + + @@ -710,10 +714,10 @@ - + - + @@ -726,13 +730,115 @@ + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1061,112 +1167,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4484,6 +4484,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6244,14 +6276,14 @@ - - + + - + - + @@ -8953,7 +8985,7 @@ - + @@ -8990,7 +9022,9 @@ + + @@ -16485,6 +16519,8 @@ + + @@ -16498,9 +16534,9 @@ - - - + + + @@ -17164,6 +17200,16 @@ + + + + + + + + + + @@ -17194,6 +17240,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19428,12 +19501,20 @@ + + + + + + + + diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml index e3f9640f3d..70a35fe67d 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml @@ -707,34 +707,34 @@ - + - + - + - + - + - + @@ -752,10 +752,10 @@ - + - + @@ -768,11 +768,15 @@ - + + + + + @@ -780,10 +784,10 @@ - + - + @@ -796,15 +800,103 @@ + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1138,98 +1230,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5760,6 +5760,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9011,14 +9057,14 @@ - - + + - + - + @@ -9027,7 +9073,7 @@ - + @@ -9991,6 +10037,13 @@ + + + + + + + @@ -10800,6 +10853,20 @@ + + + + + + + + + + + + + + @@ -10821,20 +10888,6 @@ - - - - - - - - - - - - - - @@ -11101,6 +11154,13 @@ + + + + + + + @@ -12734,7 +12794,7 @@ - + @@ -12742,8 +12802,8 @@ - - + + @@ -12776,7 +12836,9 @@ + + @@ -21341,6 +21403,8 @@ + + @@ -21362,9 +21426,9 @@ - - - + + + @@ -22010,6 +22074,16 @@ + + + + + + + + + + @@ -22044,6 +22118,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -22162,8 +22266,8 @@ - - + + @@ -24337,6 +24441,11 @@ + + + + + @@ -24348,6 +24457,15 @@ + + + + + + + + + diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs index ed5526474b..43b59f3fc6 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs @@ -48,11 +48,18 @@ public IndexDetails GetIndexDetails(string indexName) { "FK_AssessmentAdministration_Assessment", new IndexDetails { IndexName = "FK_AssessmentAdministration_Assessment", TableName = "AssessmentAdministration", ColumnNames = new List { "AssessmentIdentifier", "Namespace" } } }, { "FK_AssessmentAdministration_EducationOrganization", new IndexDetails { IndexName = "FK_AssessmentAdministration_EducationOrganization", TableName = "AssessmentAdministration", ColumnNames = new List { "AssigningEducationOrganizationId" } } }, { "UX_AssessmentAdministration_Id", new IndexDetails { IndexName = "UX_AssessmentAdministration_Id", TableName = "AssessmentAdministration", ColumnNames = new List { "Id" } } }, - { "AssessmentAdministrationAssessmentAdminstrationPeriod_PK", new IndexDetails { IndexName = "AssessmentAdministrationAssessmentAdminstrationPeriod_PK", TableName = "AssessmentAdministrationAssessmentAdminstrationPeriod", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "BeginDate" } } }, - { "FK_AssessmentAdministrationAssessmentAdminstrationPeriod_AssessmentAdministration", new IndexDetails { IndexName = "FK_AssessmentAdministrationAssessmentAdminstrationPeriod_AssessmentAdministration", TableName = "AssessmentAdministrationAssessmentAdminstrationPeriod", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace" } } }, { "AssessmentAdministrationAssessmentBatteryPart_PK", new IndexDetails { IndexName = "AssessmentAdministrationAssessmentBatteryPart_PK", TableName = "AssessmentAdministrationAssessmentBatteryPart", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "AssessmentBatteryPartName" } } }, { "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration", new IndexDetails { IndexName = "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration", TableName = "AssessmentAdministrationAssessmentBatteryPart", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace" } } }, { "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart", new IndexDetails { IndexName = "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart", TableName = "AssessmentAdministrationAssessmentBatteryPart", ColumnNames = new List { "AssessmentBatteryPartName", "AssessmentIdentifier", "Namespace" } } }, + { "AssessmentAdministrationParticipation_PK", new IndexDetails { IndexName = "AssessmentAdministrationParticipation_PK", TableName = "AssessmentAdministrationParticipation", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId" } } }, + { "FK_AssessmentAdministrationParticipation_AssessmentAdministration", new IndexDetails { IndexName = "FK_AssessmentAdministrationParticipation_AssessmentAdministration", TableName = "AssessmentAdministrationParticipation", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace" } } }, + { "FK_AssessmentAdministrationParticipation_EducationOrganization", new IndexDetails { IndexName = "FK_AssessmentAdministrationParticipation_EducationOrganization", TableName = "AssessmentAdministrationParticipation", ColumnNames = new List { "ParticipatingEducationOrganizationId" } } }, + { "UX_AssessmentAdministrationParticipation_Id", new IndexDetails { IndexName = "UX_AssessmentAdministrationParticipation_Id", TableName = "AssessmentAdministrationParticipation", ColumnNames = new List { "Id" } } }, + { "AssessmentAdministrationParticipationAdministrationPointOfContact_PK", new IndexDetails { IndexName = "AssessmentAdministrationParticipationAdministrationPointOfContact_PK", TableName = "AssessmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId", "EducationOrganizationId", "ElectronicMailAddress" } } }, + { "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_AssessmentAdministrationParticipation", new IndexDetails { IndexName = "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_AssessmentAdministrationParticipation", TableName = "AssessmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId" } } }, + { "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization", new IndexDetails { IndexName = "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization", TableName = "AssessmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "EducationOrganizationId" } } }, + { "AssessmentAdministrationPeriod_PK", new IndexDetails { IndexName = "AssessmentAdministrationPeriod_PK", TableName = "AssessmentAdministrationPeriod", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "BeginDate" } } }, + { "FK_AssessmentAdministrationPeriod_AssessmentAdministration", new IndexDetails { IndexName = "FK_AssessmentAdministrationPeriod_AssessmentAdministration", TableName = "AssessmentAdministrationPeriod", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace" } } }, { "AssessmentAssessedGradeLevel_PK", new IndexDetails { IndexName = "AssessmentAssessedGradeLevel_PK", TableName = "AssessmentAssessedGradeLevel", ColumnNames = new List { "AssessmentIdentifier", "Namespace", "GradeLevelDescriptorId" } } }, { "FK_AssessmentAssessedGradeLevel_Assessment", new IndexDetails { IndexName = "FK_AssessmentAssessedGradeLevel_Assessment", TableName = "AssessmentAssessedGradeLevel", ColumnNames = new List { "AssessmentIdentifier", "Namespace" } } }, { "FK_AssessmentAssessedGradeLevel_GradeLevelDescriptor", new IndexDetails { IndexName = "FK_AssessmentAssessedGradeLevel_GradeLevelDescriptor", TableName = "AssessmentAssessedGradeLevel", ColumnNames = new List { "GradeLevelDescriptorId" } } }, @@ -117,13 +124,6 @@ public IndexDetails GetIndexDetails(string indexName) { "AssessmentSection_PK", new IndexDetails { IndexName = "AssessmentSection_PK", TableName = "AssessmentSection", ColumnNames = new List { "AssessmentIdentifier", "Namespace", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } }, { "FK_AssessmentSection_Assessment", new IndexDetails { IndexName = "FK_AssessmentSection_Assessment", TableName = "AssessmentSection", ColumnNames = new List { "AssessmentIdentifier", "Namespace" } } }, { "FK_AssessmentSection_Section", new IndexDetails { IndexName = "FK_AssessmentSection_Section", TableName = "AssessmentSection", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } }, - { "AssesssmentAdministrationParticipation_PK", new IndexDetails { IndexName = "AssesssmentAdministrationParticipation_PK", TableName = "AssesssmentAdministrationParticipation", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId" } } }, - { "FK_AssesssmentAdministrationParticipation_AssessmentAdministration", new IndexDetails { IndexName = "FK_AssesssmentAdministrationParticipation_AssessmentAdministration", TableName = "AssesssmentAdministrationParticipation", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace" } } }, - { "FK_AssesssmentAdministrationParticipation_EducationOrganization", new IndexDetails { IndexName = "FK_AssesssmentAdministrationParticipation_EducationOrganization", TableName = "AssesssmentAdministrationParticipation", ColumnNames = new List { "ParticipatingEducationOrganizationId" } } }, - { "UX_AssesssmentAdministrationParticipation_Id", new IndexDetails { IndexName = "UX_AssesssmentAdministrationParticipation_Id", TableName = "AssesssmentAdministrationParticipation", ColumnNames = new List { "Id" } } }, - { "AssesssmentAdministrationParticipationAdministrationPointOfContact_PK", new IndexDetails { IndexName = "AssesssmentAdministrationParticipationAdministrationPointOfContact_PK", TableName = "AssesssmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId", "EducationOrganizationId", "ElectronicMailAddress" } } }, - { "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_AssesssmentAdministrationParticipation", new IndexDetails { IndexName = "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_AssesssmentAdministrationParticipation", TableName = "AssesssmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId" } } }, - { "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization", new IndexDetails { IndexName = "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization", TableName = "AssesssmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "EducationOrganizationId" } } }, { "AssignmentLateStatusDescriptor_PK", new IndexDetails { IndexName = "AssignmentLateStatusDescriptor_PK", TableName = "AssignmentLateStatusDescriptor", ColumnNames = new List { "AssignmentLateStatusDescriptorId" } } }, { "AttemptStatusDescriptor_PK", new IndexDetails { IndexName = "AttemptStatusDescriptor_PK", TableName = "AttemptStatusDescriptor", ColumnNames = new List { "AttemptStatusDescriptorId" } } }, { "AttendanceEventCategoryDescriptor_PK", new IndexDetails { IndexName = "AttendanceEventCategoryDescriptor_PK", TableName = "AttendanceEventCategoryDescriptor", ColumnNames = new List { "AttendanceEventCategoryDescriptorId" } } }, @@ -409,6 +409,8 @@ public IndexDetails GetIndexDetails(string indexName) { "FK_DisciplineIncidentWeapon_DisciplineIncident", new IndexDetails { IndexName = "FK_DisciplineIncidentWeapon_DisciplineIncident", TableName = "DisciplineIncidentWeapon", ColumnNames = new List { "IncidentIdentifier", "SchoolId" } } }, { "FK_DisciplineIncidentWeapon_WeaponDescriptor", new IndexDetails { IndexName = "FK_DisciplineIncidentWeapon_WeaponDescriptor", TableName = "DisciplineIncidentWeapon", ColumnNames = new List { "WeaponDescriptorId" } } }, { "DisplacedStudentStatusDescriptor_PK", new IndexDetails { IndexName = "DisplacedStudentStatusDescriptor_PK", TableName = "DisplacedStudentStatusDescriptor", ColumnNames = new List { "DisplacedStudentStatusDescriptorId" } } }, + { "DualCreditInstitutionDescriptor_PK", new IndexDetails { IndexName = "DualCreditInstitutionDescriptor_PK", TableName = "DualCreditInstitutionDescriptor", ColumnNames = new List { "DualCreditInstitutionDescriptorId" } } }, + { "DualCreditTypeDescriptor_PK", new IndexDetails { IndexName = "DualCreditTypeDescriptor_PK", TableName = "DualCreditTypeDescriptor", ColumnNames = new List { "DualCreditTypeDescriptorId" } } }, { "EducationalEnvironmentDescriptor_PK", new IndexDetails { IndexName = "EducationalEnvironmentDescriptor_PK", TableName = "EducationalEnvironmentDescriptor", ColumnNames = new List { "EducationalEnvironmentDescriptorId" } } }, { "EducationContent_PK", new IndexDetails { IndexName = "EducationContent_PK", TableName = "EducationContent", ColumnNames = new List { "ContentIdentifier" } } }, { "FK_EducationContent_ContentClassDescriptor", new IndexDetails { IndexName = "FK_EducationContent_ContentClassDescriptor", TableName = "EducationContent", ColumnNames = new List { "ContentClassDescriptorId" } } }, @@ -985,7 +987,7 @@ public IndexDetails GetIndexDetails(string indexName) { "FK_Section_SectionTypeDescriptor", new IndexDetails { IndexName = "FK_Section_SectionTypeDescriptor", TableName = "Section", ColumnNames = new List { "SectionTypeDescriptorId" } } }, { "Section_PK", new IndexDetails { IndexName = "Section_PK", TableName = "Section", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } }, { "UX_Section_Id", new IndexDetails { IndexName = "UX_Section_Id", TableName = "Section", ColumnNames = new List { "Id" } } }, - { "Section504DisabilityTypeDescriptor_PK", new IndexDetails { IndexName = "Section504DisabilityTypeDescriptor_PK", TableName = "Section504DisabilityTypeDescriptor", ColumnNames = new List { "Section504DisabilityTypeDescriptorId" } } }, + { "Section504DisabilityDescriptor_PK", new IndexDetails { IndexName = "Section504DisabilityDescriptor_PK", TableName = "Section504DisabilityDescriptor", ColumnNames = new List { "Section504DisabilityDescriptorId" } } }, { "FK_SectionAttendanceTakenEvent_CalendarDate", new IndexDetails { IndexName = "FK_SectionAttendanceTakenEvent_CalendarDate", TableName = "SectionAttendanceTakenEvent", ColumnNames = new List { "CalendarCode", "Date", "SchoolId", "SchoolYear" } } }, { "FK_SectionAttendanceTakenEvent_Section", new IndexDetails { IndexName = "FK_SectionAttendanceTakenEvent_Section", TableName = "SectionAttendanceTakenEvent", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } }, { "FK_SectionAttendanceTakenEvent_Staff", new IndexDetails { IndexName = "FK_SectionAttendanceTakenEvent_Staff", TableName = "SectionAttendanceTakenEvent", ColumnNames = new List { "StaffUSI" } } }, @@ -1253,7 +1255,7 @@ public IndexDetails GetIndexDetails(string indexName) { "FK_StudentAssessmentRegistration_EducationOrganization1", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_EducationOrganization1", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "TestingEducationOrganizationId" } } }, { "FK_StudentAssessmentRegistration_GradeLevelDescriptor", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_GradeLevelDescriptor", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "AssessmentGradeLevelDescriptorId" } } }, { "FK_StudentAssessmentRegistration_PlatformTypeDescriptor", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_PlatformTypeDescriptor", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "PlatformTypeDescriptorId" } } }, - { "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "EducationOrganizationId", "StudentUSI" } } }, + { "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "ScheduledEducationOrganizationId", "ScheduledStudentUSI" } } }, { "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssociation", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssociation", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "EducationOrganizationId", "StudentUSI" } } }, { "FK_StudentAssessmentRegistration_StudentSchoolAssociation", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_StudentSchoolAssociation", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "EntryDate", "SchoolId", "StudentUSI" } } }, { "StudentAssessmentRegistration_PK", new IndexDetails { IndexName = "StudentAssessmentRegistration_PK", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "EducationOrganizationId", "Namespace", "StudentUSI" } } }, @@ -1323,6 +1325,9 @@ public IndexDetails GetIndexDetails(string indexName) { "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor", TableName = "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode", ColumnNames = new List { "DisciplineIncidentParticipationCodeDescriptorId" } } }, { "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation", TableName = "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode", ColumnNames = new List { "BehaviorDescriptorId", "IncidentIdentifier", "SchoolId", "StudentUSI" } } }, { "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_PK", new IndexDetails { IndexName = "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_PK", TableName = "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode", ColumnNames = new List { "BehaviorDescriptorId", "IncidentIdentifier", "SchoolId", "StudentUSI", "DisciplineIncidentParticipationCodeDescriptorId" } } }, + { "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_StudentDisciplineIncidentBehaviorAssociation", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_StudentDisciplineIncidentBehaviorAssociation", TableName = "StudentDisciplineIncidentBehaviorAssociationWeapon", ColumnNames = new List { "BehaviorDescriptorId", "IncidentIdentifier", "SchoolId", "StudentUSI" } } }, + { "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor", TableName = "StudentDisciplineIncidentBehaviorAssociationWeapon", ColumnNames = new List { "WeaponDescriptorId" } } }, + { "StudentDisciplineIncidentBehaviorAssociationWeapon_PK", new IndexDetails { IndexName = "StudentDisciplineIncidentBehaviorAssociationWeapon_PK", TableName = "StudentDisciplineIncidentBehaviorAssociationWeapon", ColumnNames = new List { "BehaviorDescriptorId", "IncidentIdentifier", "SchoolId", "StudentUSI", "WeaponDescriptorId" } } }, { "FK_StudentDisciplineIncidentNonOffenderAssociation_DisciplineIncident", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentNonOffenderAssociation_DisciplineIncident", TableName = "StudentDisciplineIncidentNonOffenderAssociation", ColumnNames = new List { "IncidentIdentifier", "SchoolId" } } }, { "FK_StudentDisciplineIncidentNonOffenderAssociation_Student", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentNonOffenderAssociation_Student", TableName = "StudentDisciplineIncidentNonOffenderAssociation", ColumnNames = new List { "StudentUSI" } } }, { "StudentDisciplineIncidentNonOffenderAssociation_PK", new IndexDetails { IndexName = "StudentDisciplineIncidentNonOffenderAssociation_PK", TableName = "StudentDisciplineIncidentNonOffenderAssociation", ColumnNames = new List { "IncidentIdentifier", "SchoolId", "StudentUSI" } } }, @@ -1557,9 +1562,12 @@ public IndexDetails GetIndexDetails(string indexName) { "FK_StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_SchoolFoodServiceProgramServiceDescriptor", new IndexDetails { IndexName = "FK_StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_SchoolFoodServiceProgramServiceDescriptor", TableName = "StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService", ColumnNames = new List { "SchoolFoodServiceProgramServiceDescriptorId" } } }, { "FK_StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_StudentSchoolFoodServiceProgramAssociation", new IndexDetails { IndexName = "FK_StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_StudentSchoolFoodServiceProgramAssociation", TableName = "StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService", ColumnNames = new List { "BeginDate", "EducationOrganizationId", "ProgramEducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId", "StudentUSI" } } }, { "StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_PK", new IndexDetails { IndexName = "StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_PK", TableName = "StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService", ColumnNames = new List { "BeginDate", "EducationOrganizationId", "ProgramEducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId", "StudentUSI", "SchoolFoodServiceProgramServiceDescriptorId" } } }, - { "FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor", new IndexDetails { IndexName = "FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor", TableName = "StudentSection504ProgramAssociation", ColumnNames = new List { "Section504DisabilityTypeDescriptorId" } } }, + { "FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor", new IndexDetails { IndexName = "FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor", TableName = "StudentSection504ProgramAssociation", ColumnNames = new List { "Section504DisabilityDescriptorId" } } }, { "StudentSection504ProgramAssociation_PK", new IndexDetails { IndexName = "StudentSection504ProgramAssociation_PK", TableName = "StudentSection504ProgramAssociation", ColumnNames = new List { "BeginDate", "EducationOrganizationId", "ProgramEducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId", "StudentUSI" } } }, { "FK_StudentSectionAssociation_AttemptStatusDescriptor", new IndexDetails { IndexName = "FK_StudentSectionAssociation_AttemptStatusDescriptor", TableName = "StudentSectionAssociation", ColumnNames = new List { "AttemptStatusDescriptorId" } } }, + { "FK_StudentSectionAssociation_DualCreditInstitutionDescriptor", new IndexDetails { IndexName = "FK_StudentSectionAssociation_DualCreditInstitutionDescriptor", TableName = "StudentSectionAssociation", ColumnNames = new List { "DualCreditInstitutionDescriptorId" } } }, + { "FK_StudentSectionAssociation_DualCreditTypeDescriptor", new IndexDetails { IndexName = "FK_StudentSectionAssociation_DualCreditTypeDescriptor", TableName = "StudentSectionAssociation", ColumnNames = new List { "DualCreditTypeDescriptorId" } } }, + { "FK_StudentSectionAssociation_EducationOrganization", new IndexDetails { IndexName = "FK_StudentSectionAssociation_EducationOrganization", TableName = "StudentSectionAssociation", ColumnNames = new List { "DualCreditEducationOrganizationId" } } }, { "FK_StudentSectionAssociation_RepeatIdentifierDescriptor", new IndexDetails { IndexName = "FK_StudentSectionAssociation_RepeatIdentifierDescriptor", TableName = "StudentSectionAssociation", ColumnNames = new List { "RepeatIdentifierDescriptorId" } } }, { "FK_StudentSectionAssociation_Section", new IndexDetails { IndexName = "FK_StudentSectionAssociation_Section", TableName = "StudentSectionAssociation", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } }, { "FK_StudentSectionAssociation_Student", new IndexDetails { IndexName = "FK_StudentSectionAssociation_Student", TableName = "StudentSectionAssociation", ColumnNames = new List { "StudentUSI" } } }, diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_Entities.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_Entities.generated.approved.cs index 09c601b23b..ab9f231a69 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_Entities.generated.approved.cs +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_Entities.generated.approved.cs @@ -6545,8 +6545,8 @@ public virtual void SuspendReferenceAssignmentCheck() { } public AssessmentAdministration() { - AssessmentAdministrationAssessmentAdminstrationPeriods = new HashSet(); AssessmentAdministrationAssessmentBatteryParts = new HashSet(); + AssessmentAdministrationPeriods = new HashSet(); Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); } @@ -6664,9 +6664,9 @@ string Entities.Common.EdFi.IAssessmentAdministration.AssigningEducationOrganiza // Collections // ------------------------------------------------------------- - private ICollection _assessmentAdministrationAssessmentAdminstrationPeriods; - private ICollection _assessmentAdministrationAssessmentAdminstrationPeriodsCovariant; - public virtual ICollection AssessmentAdministrationAssessmentAdminstrationPeriods + private ICollection _assessmentAdministrationAssessmentBatteryParts; + private ICollection _assessmentAdministrationAssessmentBatteryPartsCovariant; + public virtual ICollection AssessmentAdministrationAssessmentBatteryParts { get { @@ -6675,45 +6675,45 @@ public virtual ICollection(value); + _assessmentAdministrationAssessmentBatteryParts = value; + _assessmentAdministrationAssessmentBatteryPartsCovariant = new CovariantCollectionAdapter(value); } } // Covariant version, visible only on the interface - ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationAssessmentAdminstrationPeriods + ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationAssessmentBatteryParts { get { // ------------------------------------------------------------- // Back-reference is required by NHibernate for persistence. // ------------------------------------------------------------- - foreach (var item in _assessmentAdministrationAssessmentAdminstrationPeriods) + foreach (var item in _assessmentAdministrationAssessmentBatteryParts) if (item.AssessmentAdministration == null) item.AssessmentAdministration = this; // ------------------------------------------------------------- - return _assessmentAdministrationAssessmentAdminstrationPeriodsCovariant; + return _assessmentAdministrationAssessmentBatteryPartsCovariant; } set { - AssessmentAdministrationAssessmentAdminstrationPeriods = new HashSet(value.Cast()); + AssessmentAdministrationAssessmentBatteryParts = new HashSet(value.Cast()); } } - private ICollection _assessmentAdministrationAssessmentBatteryParts; - private ICollection _assessmentAdministrationAssessmentBatteryPartsCovariant; - public virtual ICollection AssessmentAdministrationAssessmentBatteryParts + private ICollection _assessmentAdministrationPeriods; + private ICollection _assessmentAdministrationPeriodsCovariant; + public virtual ICollection AssessmentAdministrationPeriods { get { @@ -6722,38 +6722,38 @@ public virtual ICollection(value); + _assessmentAdministrationPeriods = value; + _assessmentAdministrationPeriodsCovariant = new CovariantCollectionAdapter(value); } } // Covariant version, visible only on the interface - ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationAssessmentBatteryParts + ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationPeriods { get { // ------------------------------------------------------------- // Back-reference is required by NHibernate for persistence. // ------------------------------------------------------------- - foreach (var item in _assessmentAdministrationAssessmentBatteryParts) + foreach (var item in _assessmentAdministrationPeriods) if (item.AssessmentAdministration == null) item.AssessmentAdministration = this; // ------------------------------------------------------------- - return _assessmentAdministrationAssessmentBatteryPartsCovariant; + return _assessmentAdministrationPeriodsCovariant; } set { - AssessmentAdministrationAssessmentBatteryParts = new HashSet(value.Cast()); + AssessmentAdministrationPeriods = new HashSet(value.Cast()); } } @@ -6856,19 +6856,19 @@ void IMappable.Map(object target) #pragma warning disable 612, 618 /// - /// A class which represents the edfi.AssessmentAdministrationAssessmentAdminstrationPeriod table of the AssessmentAdministration aggregate in the ODS database. + /// A class which represents the edfi.AssessmentAdministrationAssessmentBatteryPart table of the AssessmentAdministration aggregate in the ODS database. /// [Schema("edfi")] [ExcludeFromCodeCoverage] - public class AssessmentAdministrationAssessmentAdminstrationPeriod : EntityWithCompositeKey, IChildEntity, - Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions + public class AssessmentAdministrationAssessmentBatteryPart : EntityWithCompositeKey, IChildEntity, + Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions { public virtual void SuspendReferenceAssignmentCheck() { } - public AssessmentAdministrationAssessmentAdminstrationPeriod() + public AssessmentAdministrationAssessmentBatteryPart() { - Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); - AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); + Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); + AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); } // restore warnings for inheritance from classes marked Obsolete #pragma warning restore 612, 618 @@ -6879,22 +6879,14 @@ public AssessmentAdministrationAssessmentAdminstrationPeriod() [DomainSignature, JsonIgnore] public virtual AssessmentAdministration AssessmentAdministration { get; set; } - Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationAssessmentAdminstrationPeriod.AssessmentAdministration + Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationAssessmentBatteryPart.AssessmentAdministration { get { return AssessmentAdministration; } set { AssessmentAdministration = (AssessmentAdministration) value; } } [DomainSignature] - public virtual DateTime BeginDate - { - get { return _beginDate; } - //This is only stored as a Date in the DB and NHibernate will retrieve it using the default (local) DateTime.Kind. We must ensure it is set consistently for any equality/change evaluation. - set { _beginDate = new DateTime(value.Year, value.Month, value.Day); } - } - - private DateTime _beginDate; - + public virtual string AssessmentBatteryPartName { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -6905,25 +6897,6 @@ public virtual DateTime BeginDate // ============================================================= // Properties // ------------------------------------------------------------- - public virtual DateTime? EndDate - { - get { return _endDate; } - set - { - //This is only stored as a Date in the DB and NHibernate will retrieve it using the default (local) DateTime.Kind. We must ensure it is set consistently for any equality/change evaluation. - if(value == null) - { - _endDate = null; - } else - { - var given = (DateTime) value; - _endDate = new DateTime(given.Year, given.Month, given.Day); - } - } - } - - private DateTime? _endDate; - // ------------------------------------------------------------- // ============================================================= @@ -6968,6 +6941,26 @@ public IDictionary Extensions // ============================================================= // Reference Data // ------------------------------------------------------------- + public virtual NHibernate.AssessmentBatteryPartAggregate.EdFi.AssessmentBatteryPartReferenceData AssessmentBatteryPartReferenceData { get; set; } + + /// + /// Read-only property that allows the AssessmentBatteryPart discriminator value to be mapped to the resource reference. + /// + string Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart.AssessmentBatteryPartDiscriminator + { + get { return AssessmentBatteryPartReferenceData?.Discriminator; } + set { } + } + + /// + /// Read-only property that allows the AssessmentBatteryPart resource identifier value to be mapped to the resource reference. + /// + Guid? Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart.AssessmentBatteryPartResourceId + { + get { return AssessmentBatteryPartReferenceData?.Id; } + set { } + } + // ------------------------------------------------------------- //============================================================= @@ -6992,7 +6985,7 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() var keyValues = (AssessmentAdministration as IHasPrimaryKeyValues).GetPrimaryKeyValues(); // Add current key values - keyValues.Add("BeginDate", BeginDate); + keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName); return keyValues; } @@ -7056,12 +7049,12 @@ public override int GetHashCode() #endregion bool ISynchronizable.Synchronize(object target) { - return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod)target); + return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart)target); } void IMappable.Map(object target) { - this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod) target, null); + this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart) target, null); } void IChildEntity.SetParent(object value) @@ -7073,19 +7066,19 @@ void IChildEntity.SetParent(object value) #pragma warning disable 612, 618 /// - /// A class which represents the edfi.AssessmentAdministrationAssessmentBatteryPart table of the AssessmentAdministration aggregate in the ODS database. + /// A class which represents the edfi.AssessmentAdministrationPeriod table of the AssessmentAdministration aggregate in the ODS database. /// [Schema("edfi")] [ExcludeFromCodeCoverage] - public class AssessmentAdministrationAssessmentBatteryPart : EntityWithCompositeKey, IChildEntity, - Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions + public class AssessmentAdministrationPeriod : EntityWithCompositeKey, IChildEntity, + Entities.Common.EdFi.IAssessmentAdministrationPeriod, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions { public virtual void SuspendReferenceAssignmentCheck() { } - public AssessmentAdministrationAssessmentBatteryPart() + public AssessmentAdministrationPeriod() { - Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); - AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); + Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); + AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); } // restore warnings for inheritance from classes marked Obsolete #pragma warning restore 612, 618 @@ -7096,14 +7089,22 @@ public AssessmentAdministrationAssessmentBatteryPart() [DomainSignature, JsonIgnore] public virtual AssessmentAdministration AssessmentAdministration { get; set; } - Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationAssessmentBatteryPart.AssessmentAdministration + Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationPeriod.AssessmentAdministration { get { return AssessmentAdministration; } set { AssessmentAdministration = (AssessmentAdministration) value; } } [DomainSignature] - public virtual string AssessmentBatteryPartName { get; set; } + public virtual DateTime BeginDate + { + get { return _beginDate; } + //This is only stored as a Date in the DB and NHibernate will retrieve it using the default (local) DateTime.Kind. We must ensure it is set consistently for any equality/change evaluation. + set { _beginDate = new DateTime(value.Year, value.Month, value.Day); } + } + + private DateTime _beginDate; + // ------------------------------------------------------------- // ============================================================= @@ -7114,6 +7115,25 @@ Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationAssessme // ============================================================= // Properties // ------------------------------------------------------------- + public virtual DateTime? EndDate + { + get { return _endDate; } + set + { + //This is only stored as a Date in the DB and NHibernate will retrieve it using the default (local) DateTime.Kind. We must ensure it is set consistently for any equality/change evaluation. + if(value == null) + { + _endDate = null; + } else + { + var given = (DateTime) value; + _endDate = new DateTime(given.Year, given.Month, given.Day); + } + } + } + + private DateTime? _endDate; + // ------------------------------------------------------------- // ============================================================= @@ -7158,26 +7178,6 @@ public IDictionary Extensions // ============================================================= // Reference Data // ------------------------------------------------------------- - public virtual NHibernate.AssessmentBatteryPartAggregate.EdFi.AssessmentBatteryPartReferenceData AssessmentBatteryPartReferenceData { get; set; } - - /// - /// Read-only property that allows the AssessmentBatteryPart discriminator value to be mapped to the resource reference. - /// - string Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart.AssessmentBatteryPartDiscriminator - { - get { return AssessmentBatteryPartReferenceData?.Discriminator; } - set { } - } - - /// - /// Read-only property that allows the AssessmentBatteryPart resource identifier value to be mapped to the resource reference. - /// - Guid? Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart.AssessmentBatteryPartResourceId - { - get { return AssessmentBatteryPartReferenceData?.Id; } - set { } - } - // ------------------------------------------------------------- //============================================================= @@ -7202,7 +7202,7 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() var keyValues = (AssessmentAdministration as IHasPrimaryKeyValues).GetPrimaryKeyValues(); // Add current key values - keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName); + keyValues.Add("BeginDate", BeginDate); return keyValues; } @@ -7266,12 +7266,12 @@ public override int GetHashCode() #endregion bool ISynchronizable.Synchronize(object target) { - return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart)target); + return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationPeriod)target); } void IMappable.Map(object target) { - this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart) target, null); + this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationPeriod) target, null); } void IChildEntity.SetParent(object value) @@ -7280,21 +7280,23 @@ void IChildEntity.SetParent(object value) } } } -// Aggregate: AssessmentBatteryPart +// Aggregate: AssessmentAdministrationParticipation -namespace EdFi.Ods.Entities.NHibernate.AssessmentBatteryPartAggregate.EdFi +namespace EdFi.Ods.Entities.NHibernate.AssessmentAdministrationParticipationAggregate.EdFi { /// - /// Represents a read-only reference to the entity. + /// Represents a read-only reference to the entity. /// - public class AssessmentBatteryPartReferenceData : IHasPrimaryKeyValues + public class AssessmentAdministrationParticipationReferenceData : IHasPrimaryKeyValues { // ============================================================= // Primary Key // ------------------------------------------------------------- - public virtual string AssessmentBatteryPartName { get; set; } + public virtual string AdministrationIdentifier { get; set; } public virtual string AssessmentIdentifier { get; set; } + public virtual long AssigningEducationOrganizationId { get; set; } public virtual string Namespace { get; set; } + public virtual long ParticipatingEducationOrganizationId { get; set; } // ------------------------------------------------------------- /// @@ -7315,9 +7317,11 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() var keyValues = new OrderedDictionary(); // Add current key values - keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName); + keyValues.Add("AdministrationIdentifier", AdministrationIdentifier); keyValues.Add("AssessmentIdentifier", AssessmentIdentifier); + keyValues.Add("AssigningEducationOrganizationId", AssigningEducationOrganizationId); keyValues.Add("Namespace", Namespace); + keyValues.Add("ParticipatingEducationOrganizationId", ParticipatingEducationOrganizationId); return keyValues; } @@ -7368,20 +7372,20 @@ public override int GetHashCode() #pragma warning disable 612, 618 /// - /// A class which represents the edfi.AssessmentBatteryPart table of the AssessmentBatteryPart aggregate in the ODS database. + /// A class which represents the edfi.AssessmentAdministrationParticipation table of the AssessmentAdministrationParticipation aggregate in the ODS database. /// [Schema("edfi")] [ExcludeFromCodeCoverage] - public class AssessmentBatteryPart : AggregateRootWithCompositeKey, - Entities.Common.EdFi.IAssessmentBatteryPart, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions + public class AssessmentAdministrationParticipation : AggregateRootWithCompositeKey, + Entities.Common.EdFi.IAssessmentAdministrationParticipation, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions { public virtual void SuspendReferenceAssignmentCheck() { } - public AssessmentBatteryPart() + public AssessmentAdministrationParticipation() { - AssessmentBatteryPartObjectiveAssessments = new HashSet(); - Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); - AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); + AssessmentAdministrationParticipationAdministrationPointOfContacts = new HashSet(); + Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); + AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); } // restore warnings for inheritance from classes marked Obsolete #pragma warning restore 612, 618 @@ -7390,11 +7394,15 @@ public AssessmentBatteryPart() // Primary Key // ------------------------------------------------------------- [DomainSignature] - public virtual string AssessmentBatteryPartName { get; set; } + public virtual string AdministrationIdentifier { get; set; } [DomainSignature] public virtual string AssessmentIdentifier { get; set; } [DomainSignature] + public virtual long AssigningEducationOrganizationId { get; set; } + [DomainSignature] public virtual string Namespace { get; set; } + [DomainSignature] + public virtual long ParticipatingEducationOrganizationId { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -7449,23 +7457,43 @@ public IDictionary Extensions // ============================================================= // Reference Data // ------------------------------------------------------------- - public virtual NHibernate.AssessmentAggregate.EdFi.AssessmentReferenceData AssessmentReferenceData { get; set; } + public virtual NHibernate.AssessmentAdministrationAggregate.EdFi.AssessmentAdministrationReferenceData AssessmentAdministrationReferenceData { get; set; } /// - /// Read-only property that allows the Assessment discriminator value to be mapped to the resource reference. + /// Read-only property that allows the AssessmentAdministration discriminator value to be mapped to the resource reference. /// - string Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentDiscriminator + string Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssessmentAdministrationDiscriminator { - get { return AssessmentReferenceData?.Discriminator; } + get { return AssessmentAdministrationReferenceData?.Discriminator; } set { } } /// - /// Read-only property that allows the Assessment resource identifier value to be mapped to the resource reference. + /// Read-only property that allows the AssessmentAdministration resource identifier value to be mapped to the resource reference. /// - Guid? Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentResourceId + Guid? Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssessmentAdministrationResourceId { - get { return AssessmentReferenceData?.Id; } + get { return AssessmentAdministrationReferenceData?.Id; } + set { } + } + + public virtual NHibernate.EducationOrganizationAggregate.EdFi.EducationOrganizationReferenceData ParticipatingEducationOrganizationReferenceData { get; set; } + + /// + /// Read-only property that allows the ParticipatingEducationOrganization discriminator value to be mapped to the resource reference. + /// + string Entities.Common.EdFi.IAssessmentAdministrationParticipation.ParticipatingEducationOrganizationDiscriminator + { + get { return ParticipatingEducationOrganizationReferenceData?.Discriminator; } + set { } + } + + /// + /// Read-only property that allows the ParticipatingEducationOrganization resource identifier value to be mapped to the resource reference. + /// + Guid? Entities.Common.EdFi.IAssessmentAdministrationParticipation.ParticipatingEducationOrganizationResourceId + { + get { return ParticipatingEducationOrganizationReferenceData?.Id; } set { } } @@ -7475,9 +7503,9 @@ string Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentDiscriminator // Collections // ------------------------------------------------------------- - private ICollection _assessmentBatteryPartObjectiveAssessments; - private ICollection _assessmentBatteryPartObjectiveAssessmentsCovariant; - public virtual ICollection AssessmentBatteryPartObjectiveAssessments + private ICollection _assessmentAdministrationParticipationAdministrationPointOfContacts; + private ICollection _assessmentAdministrationParticipationAdministrationPointOfContactsCovariant; + public virtual ICollection AssessmentAdministrationParticipationAdministrationPointOfContacts { get { @@ -7486,38 +7514,38 @@ public virtual ICollection(value); + _assessmentAdministrationParticipationAdministrationPointOfContacts = value; + _assessmentAdministrationParticipationAdministrationPointOfContactsCovariant = new CovariantCollectionAdapter(value); } } // Covariant version, visible only on the interface - ICollection Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentBatteryPartObjectiveAssessments + ICollection Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssessmentAdministrationParticipationAdministrationPointOfContacts { get { // ------------------------------------------------------------- // Back-reference is required by NHibernate for persistence. // ------------------------------------------------------------- - foreach (var item in _assessmentBatteryPartObjectiveAssessments) - if (item.AssessmentBatteryPart == null) - item.AssessmentBatteryPart = this; + foreach (var item in _assessmentAdministrationParticipationAdministrationPointOfContacts) + if (item.AssessmentAdministrationParticipation == null) + item.AssessmentAdministrationParticipation = this; // ------------------------------------------------------------- - return _assessmentBatteryPartObjectiveAssessmentsCovariant; + return _assessmentAdministrationParticipationAdministrationPointOfContactsCovariant; } set { - AssessmentBatteryPartObjectiveAssessments = new HashSet(value.Cast()); + AssessmentAdministrationParticipationAdministrationPointOfContacts = new HashSet(value.Cast()); } } @@ -7540,9 +7568,11 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() var keyValues = new OrderedDictionary(); // Add current key values - keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName); + keyValues.Add("AdministrationIdentifier", AdministrationIdentifier); keyValues.Add("AssessmentIdentifier", AssessmentIdentifier); + keyValues.Add("AssigningEducationOrganizationId", AssigningEducationOrganizationId); keyValues.Add("Namespace", Namespace); + keyValues.Add("ParticipatingEducationOrganizationId", ParticipatingEducationOrganizationId); return keyValues; } @@ -7606,12 +7636,12 @@ public override int GetHashCode() #endregion bool ISynchronizable.Synchronize(object target) { - return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentBatteryPart)target); + return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationParticipation)target); } void IMappable.Map(object target) { - this.MapTo((Entities.Common.EdFi.IAssessmentBatteryPart) target, null); + this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationParticipation) target, null); } } @@ -7619,19 +7649,19 @@ void IMappable.Map(object target) #pragma warning disable 612, 618 /// - /// A class which represents the edfi.AssessmentBatteryPartObjectiveAssessment table of the AssessmentBatteryPart aggregate in the ODS database. + /// A class which represents the edfi.AssessmentAdministrationParticipationAdministrationPointOfContact table of the AssessmentAdministrationParticipation aggregate in the ODS database. /// [Schema("edfi")] [ExcludeFromCodeCoverage] - public class AssessmentBatteryPartObjectiveAssessment : EntityWithCompositeKey, IChildEntity, - Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions + public class AssessmentAdministrationParticipationAdministrationPointOfContact : EntityWithCompositeKey, IChildEntity, + Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions { public virtual void SuspendReferenceAssignmentCheck() { } - public AssessmentBatteryPartObjectiveAssessment() + public AssessmentAdministrationParticipationAdministrationPointOfContact() { - Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); - AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); + Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); + AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); } // restore warnings for inheritance from classes marked Obsolete #pragma warning restore 612, 618 @@ -7640,16 +7670,18 @@ public AssessmentBatteryPartObjectiveAssessment() // Primary Key // ------------------------------------------------------------- [DomainSignature, JsonIgnore] - public virtual AssessmentBatteryPart AssessmentBatteryPart { get; set; } + public virtual AssessmentAdministrationParticipation AssessmentAdministrationParticipation { get; set; } - Entities.Common.EdFi.IAssessmentBatteryPart IAssessmentBatteryPartObjectiveAssessment.AssessmentBatteryPart + Entities.Common.EdFi.IAssessmentAdministrationParticipation IAssessmentAdministrationParticipationAdministrationPointOfContact.AssessmentAdministrationParticipation { - get { return AssessmentBatteryPart; } - set { AssessmentBatteryPart = (AssessmentBatteryPart) value; } + get { return AssessmentAdministrationParticipation; } + set { AssessmentAdministrationParticipation = (AssessmentAdministrationParticipation) value; } } [DomainSignature] - public virtual string IdentificationCode { get; set; } + public virtual long EducationOrganizationId { get; set; } + [DomainSignature] + public virtual string ElectronicMailAddress { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -7660,6 +7692,9 @@ Entities.Common.EdFi.IAssessmentBatteryPart IAssessmentBatteryPartObjectiveAsses // ============================================================= // Properties // ------------------------------------------------------------- + public virtual string FirstName { get; set; } + public virtual string LastSurname { get; set; } + public virtual string LoginId { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -7704,23 +7739,23 @@ public IDictionary Extensions // ============================================================= // Reference Data // ------------------------------------------------------------- - public virtual NHibernate.ObjectiveAssessmentAggregate.EdFi.ObjectiveAssessmentReferenceData ObjectiveAssessmentReferenceData { get; set; } + public virtual NHibernate.EducationOrganizationAggregate.EdFi.EducationOrganizationReferenceData EducationOrganizationReferenceData { get; set; } /// - /// Read-only property that allows the ObjectiveAssessment discriminator value to be mapped to the resource reference. + /// Read-only property that allows the EducationOrganization discriminator value to be mapped to the resource reference. /// - string Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment.ObjectiveAssessmentDiscriminator + string Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationDiscriminator { - get { return ObjectiveAssessmentReferenceData?.Discriminator; } + get { return EducationOrganizationReferenceData?.Discriminator; } set { } } /// - /// Read-only property that allows the ObjectiveAssessment resource identifier value to be mapped to the resource reference. + /// Read-only property that allows the EducationOrganization resource identifier value to be mapped to the resource reference. /// - Guid? Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment.ObjectiveAssessmentResourceId + Guid? Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationResourceId { - get { return ObjectiveAssessmentReferenceData?.Id; } + get { return EducationOrganizationReferenceData?.Id; } set { } } @@ -7745,10 +7780,11 @@ Dictionary IHasLookupColumnPropertyMap.IdPropertyBy OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() { // Get parent key values - var keyValues = (AssessmentBatteryPart as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + var keyValues = (AssessmentAdministrationParticipation as IHasPrimaryKeyValues).GetPrimaryKeyValues(); // Add current key values - keyValues.Add("IdentificationCode", IdentificationCode); + keyValues.Add("EducationOrganizationId", EducationOrganizationId); + keyValues.Add("ElectronicMailAddress", ElectronicMailAddress); return keyValues; } @@ -7812,81 +7848,140 @@ public override int GetHashCode() #endregion bool ISynchronizable.Synchronize(object target) { - return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment)target); + return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact)target); } void IMappable.Map(object target) { - this.MapTo((Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment) target, null); + this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact) target, null); } void IChildEntity.SetParent(object value) { - AssessmentBatteryPart = (AssessmentBatteryPart) value; + AssessmentAdministrationParticipation = (AssessmentAdministrationParticipation) value; } } } -// Aggregate: AssessmentCategoryDescriptor +// Aggregate: AssessmentBatteryPart -namespace EdFi.Ods.Entities.NHibernate.AssessmentCategoryDescriptorAggregate.EdFi +namespace EdFi.Ods.Entities.NHibernate.AssessmentBatteryPartAggregate.EdFi { + /// + /// Represents a read-only reference to the entity. + /// + public class AssessmentBatteryPartReferenceData : IHasPrimaryKeyValues + { + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + public virtual string AssessmentBatteryPartName { get; set; } + public virtual string AssessmentIdentifier { get; set; } + public virtual string Namespace { get; set; } + // ------------------------------------------------------------- + + /// + /// The id of the referenced entity (used as the resource identifier in the API). + /// + public virtual Guid? Id { get; set; } + + /// + /// Gets and sets the discriminator value which identifies the concrete sub-type of the referenced entity + /// when that entity has been derived; otherwise null. + /// + public virtual string Discriminator { get; set; } + + // Provide primary key information + OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() + { + // Initialize a new dictionary to hold the key values + var keyValues = new OrderedDictionary(); + + // Add current key values + keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName); + keyValues.Add("AssessmentIdentifier", AssessmentIdentifier); + keyValues.Add("Namespace", Namespace); + + return keyValues; + } + + #region Overrides for Equals() and GetHashCode() + public override bool Equals(object obj) + { + var compareTo = obj as IHasPrimaryKeyValues; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + var thoseKeys = compareTo.GetPrimaryKeyValues(); + + foreach (DictionaryEntry entry in theseKeys) + { + if (!entry.Value.Equals(thoseKeys[entry.Key])) + return false; + } + + return true; + } + + public override int GetHashCode() + { + var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + + if (keyValues.Count == 0) + return base.GetHashCode(); + + var hashCode = new HashCode(); + + foreach (DictionaryEntry entry in keyValues) + { + hashCode.Add(entry.Value); + } + + return hashCode.ToHashCode(); + } + #endregion + } + // disable warnings for inheritance from classes marked Obsolete within this generated code only #pragma warning disable 612, 618 /// - /// A class which represents the edfi.AssessmentCategoryDescriptor table of the AssessmentCategoryDescriptor aggregate in the ODS database. + /// A class which represents the edfi.AssessmentBatteryPart table of the AssessmentBatteryPart aggregate in the ODS database. /// [Schema("edfi")] [ExcludeFromCodeCoverage] - public class AssessmentCategoryDescriptor : DescriptorAggregate.EdFi.Descriptor, - Entities.Common.EdFi.IAssessmentCategoryDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor + public class AssessmentBatteryPart : AggregateRootWithCompositeKey, + Entities.Common.EdFi.IAssessmentBatteryPart, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions { + public virtual void SuspendReferenceAssignmentCheck() { } + + public AssessmentBatteryPart() + { + AssessmentBatteryPartObjectiveAssessments = new HashSet(); + Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); + AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); + } +// restore warnings for inheritance from classes marked Obsolete +#pragma warning restore 612, 618 // ============================================================= // Primary Key // ------------------------------------------------------------- [DomainSignature] - public virtual int AssessmentCategoryDescriptorId - { - get { return base.DescriptorId; } - set { base.DescriptorId = value; } - } - + public virtual string AssessmentBatteryPartName { get; set; } + [DomainSignature] + public virtual string AssessmentIdentifier { get; set; } + [DomainSignature] + public virtual string Namespace { get; set; } // ------------------------------------------------------------- // ============================================================= // Inherited Properties // ------------------------------------------------------------- - string IDescriptor.CodeValue - { - get { return CodeValue; } - set { CodeValue = value; } - } - string IDescriptor.Description - { - get { return Description; } - set { Description = value; } - } - DateTime? IDescriptor.EffectiveBeginDate - { - get { return EffectiveBeginDate; } - set { EffectiveBeginDate = value; } - } - DateTime? IDescriptor.EffectiveEndDate - { - get { return EffectiveEndDate; } - set { EffectiveEndDate = value; } - } - string IDescriptor.Namespace - { - get { return Namespace; } - set { Namespace = value; } - } - string IDescriptor.ShortDescription - { - get { return ShortDescription; } - set { ShortDescription = value; } - } // ------------------------------------------------------------- // ============================================================= @@ -7902,16 +7997,112 @@ string IDescriptor.ShortDescription // ============================================================= // Extensions // ------------------------------------------------------------- + private IDictionary _extensions; + + public IDictionary Extensions + { + get => _extensions; + set + { + // If the _extensions is null, this is being assigned from the constructor + // for the first time and no special handling is required + if (_extensions != null) + { + // For extensions that have already been initialized by the extensions factory, + // we need to copy any "implicit" extension object entries over to the incoming + // value dictionary being assigned by NHibernate because it won't have them, + // but they must be there for correct handling of extensions for the API. + foreach (var key in _extensions.Keys) + { + if (!value.Contains(key)) + { + value[key] = _extensions[key]; + } + } + } + + _extensions = value; + } + } + + public IDictionary AggregateExtensions { get; set; } // ------------------------------------------------------------- // ============================================================= // Reference Data // ------------------------------------------------------------- + public virtual NHibernate.AssessmentAggregate.EdFi.AssessmentReferenceData AssessmentReferenceData { get; set; } + + /// + /// Read-only property that allows the Assessment discriminator value to be mapped to the resource reference. + /// + string Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentDiscriminator + { + get { return AssessmentReferenceData?.Discriminator; } + set { } + } + + /// + /// Read-only property that allows the Assessment resource identifier value to be mapped to the resource reference. + /// + Guid? Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentResourceId + { + get { return AssessmentReferenceData?.Id; } + set { } + } + // ------------------------------------------------------------- //============================================================= // Collections // ------------------------------------------------------------- + + private ICollection _assessmentBatteryPartObjectiveAssessments; + private ICollection _assessmentBatteryPartObjectiveAssessmentsCovariant; + public virtual ICollection AssessmentBatteryPartObjectiveAssessments + { + get + { + // ------------------------------------------------------------- + // On-demand deserialization logic to attach reverse reference of children + // due to ServiceStack's lack of [OnDeserialized] attribute support. + // Back-reference is required by NHibernate for persistence. + // ------------------------------------------------------------- + foreach (var item in _assessmentBatteryPartObjectiveAssessments) + if (item.AssessmentBatteryPart == null) + item.AssessmentBatteryPart = this; + // ------------------------------------------------------------- + + return _assessmentBatteryPartObjectiveAssessments; + } + set + { + _assessmentBatteryPartObjectiveAssessments = value; + _assessmentBatteryPartObjectiveAssessmentsCovariant = new CovariantCollectionAdapter(value); + } + } + + // Covariant version, visible only on the interface + ICollection Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentBatteryPartObjectiveAssessments + { + get + { + // ------------------------------------------------------------- + // Back-reference is required by NHibernate for persistence. + // ------------------------------------------------------------- + foreach (var item in _assessmentBatteryPartObjectiveAssessments) + if (item.AssessmentBatteryPart == null) + item.AssessmentBatteryPart = this; + // ------------------------------------------------------------- + + return _assessmentBatteryPartObjectiveAssessmentsCovariant; + } + set + { + AssessmentBatteryPartObjectiveAssessments = new HashSet(value.Cast()); + } + } + // ------------------------------------------------------------- // Provide lookup property map @@ -7931,7 +8122,398 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() var keyValues = new OrderedDictionary(); // Add current key values - keyValues.Add("AssessmentCategoryDescriptorId", AssessmentCategoryDescriptorId); + keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName); + keyValues.Add("AssessmentIdentifier", AssessmentIdentifier); + keyValues.Add("Namespace", Namespace); + + return keyValues; + } + + #region Overrides for Equals() and GetHashCode() + public override bool Equals(object obj) + { + var compareTo = obj as IHasPrimaryKeyValues; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + var thoseKeys = compareTo.GetPrimaryKeyValues(); + + foreach (DictionaryEntry entry in theseKeys) + { + if (entry.Value is string) + { + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key])) + { + return false; + } + } + else + { + if (!entry.Value.Equals(thoseKeys[entry.Key])) + return false; + } + } + + return true; + } + + public override int GetHashCode() + { + var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + + if (keyValues.Count == 0) + return base.GetHashCode(); + + var hashCode = new HashCode(); + + foreach (DictionaryEntry entry in keyValues) + { + if (entry.Value is string) + { + hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer); + } + else + { + hashCode.Add(entry.Value); + } + } + + return hashCode.ToHashCode(); + } + #endregion + bool ISynchronizable.Synchronize(object target) + { + return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentBatteryPart)target); + } + + void IMappable.Map(object target) + { + this.MapTo((Entities.Common.EdFi.IAssessmentBatteryPart) target, null); + } + + } +// disable warnings for inheritance from classes marked Obsolete within this generated code only +#pragma warning disable 612, 618 + + /// + /// A class which represents the edfi.AssessmentBatteryPartObjectiveAssessment table of the AssessmentBatteryPart aggregate in the ODS database. + /// + [Schema("edfi")] + [ExcludeFromCodeCoverage] + public class AssessmentBatteryPartObjectiveAssessment : EntityWithCompositeKey, IChildEntity, + Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions + { + public virtual void SuspendReferenceAssignmentCheck() { } + + public AssessmentBatteryPartObjectiveAssessment() + { + Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); + AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); + } +// restore warnings for inheritance from classes marked Obsolete +#pragma warning restore 612, 618 + + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + [DomainSignature, JsonIgnore] + public virtual AssessmentBatteryPart AssessmentBatteryPart { get; set; } + + Entities.Common.EdFi.IAssessmentBatteryPart IAssessmentBatteryPartObjectiveAssessment.AssessmentBatteryPart + { + get { return AssessmentBatteryPart; } + set { AssessmentBatteryPart = (AssessmentBatteryPart) value; } + } + + [DomainSignature] + public virtual string IdentificationCode { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + private IDictionary _extensions; + + public IDictionary Extensions + { + get => _extensions; + set + { + // If the _extensions is null, this is being assigned from the constructor + // for the first time and no special handling is required + if (_extensions != null) + { + // For extensions that have already been initialized by the extensions factory, + // we need to copy any "implicit" extension object entries over to the incoming + // value dictionary being assigned by NHibernate because it won't have them, + // but they must be there for correct handling of extensions for the API. + foreach (var key in _extensions.Keys) + { + if (!value.Contains(key)) + { + value[key] = _extensions[key]; + } + } + } + + _extensions = value; + } + } + + public IDictionary AggregateExtensions { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Reference Data + // ------------------------------------------------------------- + public virtual NHibernate.ObjectiveAssessmentAggregate.EdFi.ObjectiveAssessmentReferenceData ObjectiveAssessmentReferenceData { get; set; } + + /// + /// Read-only property that allows the ObjectiveAssessment discriminator value to be mapped to the resource reference. + /// + string Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment.ObjectiveAssessmentDiscriminator + { + get { return ObjectiveAssessmentReferenceData?.Discriminator; } + set { } + } + + /// + /// Read-only property that allows the ObjectiveAssessment resource identifier value to be mapped to the resource reference. + /// + Guid? Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment.ObjectiveAssessmentResourceId + { + get { return ObjectiveAssessmentReferenceData?.Id; } + set { } + } + + // ------------------------------------------------------------- + + //============================================================= + // Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // Provide lookup property map + private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase) + { + }; + + Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty + { + get { return _idPropertyByLookupProperty; } + } + + // Provide primary key information + OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() + { + // Get parent key values + var keyValues = (AssessmentBatteryPart as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + + // Add current key values + keyValues.Add("IdentificationCode", IdentificationCode); + + return keyValues; + } + + #region Overrides for Equals() and GetHashCode() + public override bool Equals(object obj) + { + var compareTo = obj as IHasPrimaryKeyValues; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + var thoseKeys = compareTo.GetPrimaryKeyValues(); + + foreach (DictionaryEntry entry in theseKeys) + { + if (entry.Value is string) + { + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key])) + { + return false; + } + } + else + { + if (!entry.Value.Equals(thoseKeys[entry.Key])) + return false; + } + } + + return true; + } + + public override int GetHashCode() + { + var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + + if (keyValues.Count == 0) + return base.GetHashCode(); + + var hashCode = new HashCode(); + + foreach (DictionaryEntry entry in keyValues) + { + if (entry.Value is string) + { + hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer); + } + else + { + hashCode.Add(entry.Value); + } + } + + return hashCode.ToHashCode(); + } + #endregion + bool ISynchronizable.Synchronize(object target) + { + return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment)target); + } + + void IMappable.Map(object target) + { + this.MapTo((Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment) target, null); + } + + void IChildEntity.SetParent(object value) + { + AssessmentBatteryPart = (AssessmentBatteryPart) value; + } + } +} +// Aggregate: AssessmentCategoryDescriptor + +namespace EdFi.Ods.Entities.NHibernate.AssessmentCategoryDescriptorAggregate.EdFi +{ +// disable warnings for inheritance from classes marked Obsolete within this generated code only +#pragma warning disable 612, 618 + + /// + /// A class which represents the edfi.AssessmentCategoryDescriptor table of the AssessmentCategoryDescriptor aggregate in the ODS database. + /// + [Schema("edfi")] + [ExcludeFromCodeCoverage] + public class AssessmentCategoryDescriptor : DescriptorAggregate.EdFi.Descriptor, + Entities.Common.EdFi.IAssessmentCategoryDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor + { + + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + [DomainSignature] + public virtual int AssessmentCategoryDescriptorId + { + get { return base.DescriptorId; } + set { base.DescriptorId = value; } + } + + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + string IDescriptor.CodeValue + { + get { return CodeValue; } + set { CodeValue = value; } + } + string IDescriptor.Description + { + get { return Description; } + set { Description = value; } + } + DateTime? IDescriptor.EffectiveBeginDate + { + get { return EffectiveBeginDate; } + set { EffectiveBeginDate = value; } + } + DateTime? IDescriptor.EffectiveEndDate + { + get { return EffectiveEndDate; } + set { EffectiveEndDate = value; } + } + string IDescriptor.Namespace + { + get { return Namespace; } + set { Namespace = value; } + } + string IDescriptor.ShortDescription + { + get { return ShortDescription; } + set { ShortDescription = value; } + } + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Reference Data + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + //============================================================= + // Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // Provide lookup property map + private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase) + { + }; + + Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty + { + get { return _idPropertyByLookupProperty; } + } + + // Provide primary key information + OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() + { + // Initialize a new dictionary to hold the key values + var keyValues = new OrderedDictionary(); + + // Add current key values + keyValues.Add("AssessmentCategoryDescriptorId", AssessmentCategoryDescriptorId); return keyValues; } @@ -9932,618 +10514,43 @@ public IDictionary Extensions // ============================================================= // Reference Data // ------------------------------------------------------------- - public virtual NHibernate.AssessmentAggregate.EdFi.AssessmentReferenceData AssessmentReferenceData { get; set; } - - /// - /// Read-only property that allows the Assessment discriminator value to be mapped to the resource reference. - /// - string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentDiscriminator - { - get { return AssessmentReferenceData?.Discriminator; } - set { } - } - - /// - /// Read-only property that allows the Assessment resource identifier value to be mapped to the resource reference. - /// - Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentResourceId - { - get { return AssessmentReferenceData?.Id; } - set { } - } - - public virtual NHibernate.ObjectiveAssessmentAggregate.EdFi.ObjectiveAssessmentReferenceData ObjectiveAssessmentReferenceData { get; set; } - - /// - /// Read-only property that allows the ObjectiveAssessment discriminator value to be mapped to the resource reference. - /// - string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.ObjectiveAssessmentDiscriminator - { - get { return ObjectiveAssessmentReferenceData?.Discriminator; } - set { } - } - - /// - /// Read-only property that allows the ObjectiveAssessment resource identifier value to be mapped to the resource reference. - /// - Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.ObjectiveAssessmentResourceId - { - get { return ObjectiveAssessmentReferenceData?.Id; } - set { } - } - - // ------------------------------------------------------------- - - //============================================================= - // Collections - // ------------------------------------------------------------- - - private ICollection _assessmentScoreRangeLearningStandardLearningStandards; - private ICollection _assessmentScoreRangeLearningStandardLearningStandardsCovariant; - public virtual ICollection AssessmentScoreRangeLearningStandardLearningStandards - { - get - { - // ------------------------------------------------------------- - // On-demand deserialization logic to attach reverse reference of children - // due to ServiceStack's lack of [OnDeserialized] attribute support. - // Back-reference is required by NHibernate for persistence. - // ------------------------------------------------------------- - foreach (var item in _assessmentScoreRangeLearningStandardLearningStandards) - if (item.AssessmentScoreRangeLearningStandard == null) - item.AssessmentScoreRangeLearningStandard = this; - // ------------------------------------------------------------- - - return _assessmentScoreRangeLearningStandardLearningStandards; - } - set - { - _assessmentScoreRangeLearningStandardLearningStandards = value; - _assessmentScoreRangeLearningStandardLearningStandardsCovariant = new CovariantCollectionAdapter(value); - } - } - - // Covariant version, visible only on the interface - ICollection Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentScoreRangeLearningStandardLearningStandards - { - get - { - // ------------------------------------------------------------- - // Back-reference is required by NHibernate for persistence. - // ------------------------------------------------------------- - foreach (var item in _assessmentScoreRangeLearningStandardLearningStandards) - if (item.AssessmentScoreRangeLearningStandard == null) - item.AssessmentScoreRangeLearningStandard = this; - // ------------------------------------------------------------- - - return _assessmentScoreRangeLearningStandardLearningStandardsCovariant; - } - set - { - AssessmentScoreRangeLearningStandardLearningStandards = new HashSet(value.Cast()); - } - } - - // ------------------------------------------------------------- - - // Provide lookup property map - private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase) - { - { "AssessmentReportingMethodDescriptor", new LookupColumnDetails { PropertyName = "AssessmentReportingMethodDescriptorId", LookupTypeName = "AssessmentReportingMethodDescriptor"} }, - }; - - Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty - { - get { return _idPropertyByLookupProperty; } - } - - // Provide primary key information - OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() - { - // Initialize a new dictionary to hold the key values - var keyValues = new OrderedDictionary(); - - // Add current key values - keyValues.Add("AssessmentIdentifier", AssessmentIdentifier); - keyValues.Add("Namespace", Namespace); - keyValues.Add("ScoreRangeId", ScoreRangeId); - - return keyValues; - } - - #region Overrides for Equals() and GetHashCode() - public override bool Equals(object obj) - { - var compareTo = obj as IHasPrimaryKeyValues; - - if (ReferenceEquals(this, compareTo)) - return true; - - if (compareTo == null) - return false; - - var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); - var thoseKeys = compareTo.GetPrimaryKeyValues(); - - foreach (DictionaryEntry entry in theseKeys) - { - if (entry.Value is string) - { - if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key])) - { - return false; - } - } - else - { - if (!entry.Value.Equals(thoseKeys[entry.Key])) - return false; - } - } - - return true; - } - - public override int GetHashCode() - { - var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); - - if (keyValues.Count == 0) - return base.GetHashCode(); - - var hashCode = new HashCode(); - - foreach (DictionaryEntry entry in keyValues) - { - if (entry.Value is string) - { - hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer); - } - else - { - hashCode.Add(entry.Value); - } - } - - return hashCode.ToHashCode(); - } - #endregion - bool ISynchronizable.Synchronize(object target) - { - return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard)target); - } - - void IMappable.Map(object target) - { - this.MapTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard) target, null); - } - - } -// disable warnings for inheritance from classes marked Obsolete within this generated code only -#pragma warning disable 612, 618 - - /// - /// A class which represents the edfi.AssessmentScoreRangeLearningStandardLearningStandard table of the AssessmentScoreRangeLearningStandard aggregate in the ODS database. - /// - [Schema("edfi")] - [ExcludeFromCodeCoverage] - public class AssessmentScoreRangeLearningStandardLearningStandard : EntityWithCompositeKey, IChildEntity, - Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions - { - public virtual void SuspendReferenceAssignmentCheck() { } - - public AssessmentScoreRangeLearningStandardLearningStandard() - { - Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); - AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); - } -// restore warnings for inheritance from classes marked Obsolete -#pragma warning restore 612, 618 - - // ============================================================= - // Primary Key - // ------------------------------------------------------------- - [DomainSignature, JsonIgnore] - public virtual AssessmentScoreRangeLearningStandard AssessmentScoreRangeLearningStandard { get; set; } - - Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard IAssessmentScoreRangeLearningStandardLearningStandard.AssessmentScoreRangeLearningStandard - { - get { return AssessmentScoreRangeLearningStandard; } - set { AssessmentScoreRangeLearningStandard = (AssessmentScoreRangeLearningStandard) value; } - } - - [DomainSignature] - public virtual string LearningStandardId { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Inherited Properties - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Properties - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // One-to-one relationships - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Extensions - // ------------------------------------------------------------- - private IDictionary _extensions; - - public IDictionary Extensions - { - get => _extensions; - set - { - // If the _extensions is null, this is being assigned from the constructor - // for the first time and no special handling is required - if (_extensions != null) - { - // For extensions that have already been initialized by the extensions factory, - // we need to copy any "implicit" extension object entries over to the incoming - // value dictionary being assigned by NHibernate because it won't have them, - // but they must be there for correct handling of extensions for the API. - foreach (var key in _extensions.Keys) - { - if (!value.Contains(key)) - { - value[key] = _extensions[key]; - } - } - } - - _extensions = value; - } - } - - public IDictionary AggregateExtensions { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Reference Data - // ------------------------------------------------------------- - public virtual NHibernate.LearningStandardAggregate.EdFi.LearningStandardReferenceData LearningStandardReferenceData { get; set; } - - /// - /// Read-only property that allows the LearningStandard discriminator value to be mapped to the resource reference. - /// - string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardDiscriminator - { - get { return LearningStandardReferenceData?.Discriminator; } - set { } - } - - /// - /// Read-only property that allows the LearningStandard resource identifier value to be mapped to the resource reference. - /// - Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardResourceId - { - get { return LearningStandardReferenceData?.Id; } - set { } - } - - // ------------------------------------------------------------- - - //============================================================= - // Collections - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // Provide lookup property map - private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase) - { - }; - - Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty - { - get { return _idPropertyByLookupProperty; } - } - - // Provide primary key information - OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() - { - // Get parent key values - var keyValues = (AssessmentScoreRangeLearningStandard as IHasPrimaryKeyValues).GetPrimaryKeyValues(); - - // Add current key values - keyValues.Add("LearningStandardId", LearningStandardId); - - return keyValues; - } - - #region Overrides for Equals() and GetHashCode() - public override bool Equals(object obj) - { - var compareTo = obj as IHasPrimaryKeyValues; - - if (ReferenceEquals(this, compareTo)) - return true; - - if (compareTo == null) - return false; - - var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); - var thoseKeys = compareTo.GetPrimaryKeyValues(); - - foreach (DictionaryEntry entry in theseKeys) - { - if (entry.Value is string) - { - if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key])) - { - return false; - } - } - else - { - if (!entry.Value.Equals(thoseKeys[entry.Key])) - return false; - } - } - - return true; - } - - public override int GetHashCode() - { - var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); - - if (keyValues.Count == 0) - return base.GetHashCode(); - - var hashCode = new HashCode(); - - foreach (DictionaryEntry entry in keyValues) - { - if (entry.Value is string) - { - hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer); - } - else - { - hashCode.Add(entry.Value); - } - } - - return hashCode.ToHashCode(); - } - #endregion - bool ISynchronizable.Synchronize(object target) - { - return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)target); - } - - void IMappable.Map(object target) - { - this.MapTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard) target, null); - } - - void IChildEntity.SetParent(object value) - { - AssessmentScoreRangeLearningStandard = (AssessmentScoreRangeLearningStandard) value; - } - } -} -// Aggregate: AssesssmentAdministrationParticipation - -namespace EdFi.Ods.Entities.NHibernate.AssesssmentAdministrationParticipationAggregate.EdFi -{ - /// - /// Represents a read-only reference to the entity. - /// - public class AssesssmentAdministrationParticipationReferenceData : IHasPrimaryKeyValues - { - // ============================================================= - // Primary Key - // ------------------------------------------------------------- - public virtual string AdministrationIdentifier { get; set; } - public virtual string AssessmentIdentifier { get; set; } - public virtual long AssigningEducationOrganizationId { get; set; } - public virtual string Namespace { get; set; } - public virtual long ParticipatingEducationOrganizationId { get; set; } - // ------------------------------------------------------------- - - /// - /// The id of the referenced entity (used as the resource identifier in the API). - /// - public virtual Guid? Id { get; set; } - - /// - /// Gets and sets the discriminator value which identifies the concrete sub-type of the referenced entity - /// when that entity has been derived; otherwise null. - /// - public virtual string Discriminator { get; set; } - - // Provide primary key information - OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() - { - // Initialize a new dictionary to hold the key values - var keyValues = new OrderedDictionary(); - - // Add current key values - keyValues.Add("AdministrationIdentifier", AdministrationIdentifier); - keyValues.Add("AssessmentIdentifier", AssessmentIdentifier); - keyValues.Add("AssigningEducationOrganizationId", AssigningEducationOrganizationId); - keyValues.Add("Namespace", Namespace); - keyValues.Add("ParticipatingEducationOrganizationId", ParticipatingEducationOrganizationId); - - return keyValues; - } - - #region Overrides for Equals() and GetHashCode() - public override bool Equals(object obj) - { - var compareTo = obj as IHasPrimaryKeyValues; - - if (ReferenceEquals(this, compareTo)) - return true; - - if (compareTo == null) - return false; - - var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); - var thoseKeys = compareTo.GetPrimaryKeyValues(); - - foreach (DictionaryEntry entry in theseKeys) - { - if (!entry.Value.Equals(thoseKeys[entry.Key])) - return false; - } - - return true; - } - - public override int GetHashCode() - { - var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); - - if (keyValues.Count == 0) - return base.GetHashCode(); - - var hashCode = new HashCode(); - - foreach (DictionaryEntry entry in keyValues) - { - hashCode.Add(entry.Value); - } - - return hashCode.ToHashCode(); - } - #endregion - } - -// disable warnings for inheritance from classes marked Obsolete within this generated code only -#pragma warning disable 612, 618 - - /// - /// A class which represents the edfi.AssesssmentAdministrationParticipation table of the AssesssmentAdministrationParticipation aggregate in the ODS database. - /// - [Schema("edfi")] - [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipation : AggregateRootWithCompositeKey, - Entities.Common.EdFi.IAssesssmentAdministrationParticipation, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions - { - public virtual void SuspendReferenceAssignmentCheck() { } - - public AssesssmentAdministrationParticipation() - { - AssesssmentAdministrationParticipationAdministrationPointOfContacts = new HashSet(); - Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); - AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); - } -// restore warnings for inheritance from classes marked Obsolete -#pragma warning restore 612, 618 - - // ============================================================= - // Primary Key - // ------------------------------------------------------------- - [DomainSignature] - public virtual string AdministrationIdentifier { get; set; } - [DomainSignature] - public virtual string AssessmentIdentifier { get; set; } - [DomainSignature] - public virtual long AssigningEducationOrganizationId { get; set; } - [DomainSignature] - public virtual string Namespace { get; set; } - [DomainSignature] - public virtual long ParticipatingEducationOrganizationId { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Inherited Properties - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Properties - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // One-to-one relationships - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Extensions - // ------------------------------------------------------------- - private IDictionary _extensions; - - public IDictionary Extensions - { - get => _extensions; - set - { - // If the _extensions is null, this is being assigned from the constructor - // for the first time and no special handling is required - if (_extensions != null) - { - // For extensions that have already been initialized by the extensions factory, - // we need to copy any "implicit" extension object entries over to the incoming - // value dictionary being assigned by NHibernate because it won't have them, - // but they must be there for correct handling of extensions for the API. - foreach (var key in _extensions.Keys) - { - if (!value.Contains(key)) - { - value[key] = _extensions[key]; - } - } - } - - _extensions = value; - } - } - - public IDictionary AggregateExtensions { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Reference Data - // ------------------------------------------------------------- - public virtual NHibernate.AssessmentAdministrationAggregate.EdFi.AssessmentAdministrationReferenceData AssessmentAdministrationReferenceData { get; set; } + public virtual NHibernate.AssessmentAggregate.EdFi.AssessmentReferenceData AssessmentReferenceData { get; set; } /// - /// Read-only property that allows the AssessmentAdministration discriminator value to be mapped to the resource reference. + /// Read-only property that allows the Assessment discriminator value to be mapped to the resource reference. /// - string Entities.Common.EdFi.IAssesssmentAdministrationParticipation.AssessmentAdministrationDiscriminator + string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentDiscriminator { - get { return AssessmentAdministrationReferenceData?.Discriminator; } + get { return AssessmentReferenceData?.Discriminator; } set { } } /// - /// Read-only property that allows the AssessmentAdministration resource identifier value to be mapped to the resource reference. + /// Read-only property that allows the Assessment resource identifier value to be mapped to the resource reference. /// - Guid? Entities.Common.EdFi.IAssesssmentAdministrationParticipation.AssessmentAdministrationResourceId + Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentResourceId { - get { return AssessmentAdministrationReferenceData?.Id; } + get { return AssessmentReferenceData?.Id; } set { } } - public virtual NHibernate.EducationOrganizationAggregate.EdFi.EducationOrganizationReferenceData ParticipatingEducationOrganizationReferenceData { get; set; } + public virtual NHibernate.ObjectiveAssessmentAggregate.EdFi.ObjectiveAssessmentReferenceData ObjectiveAssessmentReferenceData { get; set; } /// - /// Read-only property that allows the ParticipatingEducationOrganization discriminator value to be mapped to the resource reference. + /// Read-only property that allows the ObjectiveAssessment discriminator value to be mapped to the resource reference. /// - string Entities.Common.EdFi.IAssesssmentAdministrationParticipation.ParticipatingEducationOrganizationDiscriminator + string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.ObjectiveAssessmentDiscriminator { - get { return ParticipatingEducationOrganizationReferenceData?.Discriminator; } + get { return ObjectiveAssessmentReferenceData?.Discriminator; } set { } } /// - /// Read-only property that allows the ParticipatingEducationOrganization resource identifier value to be mapped to the resource reference. + /// Read-only property that allows the ObjectiveAssessment resource identifier value to be mapped to the resource reference. /// - Guid? Entities.Common.EdFi.IAssesssmentAdministrationParticipation.ParticipatingEducationOrganizationResourceId + Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.ObjectiveAssessmentResourceId { - get { return ParticipatingEducationOrganizationReferenceData?.Id; } + get { return ObjectiveAssessmentReferenceData?.Id; } set { } } @@ -10553,9 +10560,9 @@ string Entities.Common.EdFi.IAssesssmentAdministrationParticipation.Participatin // Collections // ------------------------------------------------------------- - private ICollection _assesssmentAdministrationParticipationAdministrationPointOfContacts; - private ICollection _assesssmentAdministrationParticipationAdministrationPointOfContactsCovariant; - public virtual ICollection AssesssmentAdministrationParticipationAdministrationPointOfContacts + private ICollection _assessmentScoreRangeLearningStandardLearningStandards; + private ICollection _assessmentScoreRangeLearningStandardLearningStandardsCovariant; + public virtual ICollection AssessmentScoreRangeLearningStandardLearningStandards { get { @@ -10564,38 +10571,38 @@ public virtual ICollection(value); + _assessmentScoreRangeLearningStandardLearningStandards = value; + _assessmentScoreRangeLearningStandardLearningStandardsCovariant = new CovariantCollectionAdapter(value); } } // Covariant version, visible only on the interface - ICollection Entities.Common.EdFi.IAssesssmentAdministrationParticipation.AssesssmentAdministrationParticipationAdministrationPointOfContacts + ICollection Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentScoreRangeLearningStandardLearningStandards { get { // ------------------------------------------------------------- // Back-reference is required by NHibernate for persistence. // ------------------------------------------------------------- - foreach (var item in _assesssmentAdministrationParticipationAdministrationPointOfContacts) - if (item.AssesssmentAdministrationParticipation == null) - item.AssesssmentAdministrationParticipation = this; + foreach (var item in _assessmentScoreRangeLearningStandardLearningStandards) + if (item.AssessmentScoreRangeLearningStandard == null) + item.AssessmentScoreRangeLearningStandard = this; // ------------------------------------------------------------- - return _assesssmentAdministrationParticipationAdministrationPointOfContactsCovariant; + return _assessmentScoreRangeLearningStandardLearningStandardsCovariant; } set { - AssesssmentAdministrationParticipationAdministrationPointOfContacts = new HashSet(value.Cast()); + AssessmentScoreRangeLearningStandardLearningStandards = new HashSet(value.Cast()); } } @@ -10604,6 +10611,7 @@ public virtual ICollection _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase) { + { "AssessmentReportingMethodDescriptor", new LookupColumnDetails { PropertyName = "AssessmentReportingMethodDescriptorId", LookupTypeName = "AssessmentReportingMethodDescriptor"} }, }; Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty @@ -10618,11 +10626,9 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() var keyValues = new OrderedDictionary(); // Add current key values - keyValues.Add("AdministrationIdentifier", AdministrationIdentifier); keyValues.Add("AssessmentIdentifier", AssessmentIdentifier); - keyValues.Add("AssigningEducationOrganizationId", AssigningEducationOrganizationId); keyValues.Add("Namespace", Namespace); - keyValues.Add("ParticipatingEducationOrganizationId", ParticipatingEducationOrganizationId); + keyValues.Add("ScoreRangeId", ScoreRangeId); return keyValues; } @@ -10686,12 +10692,12 @@ public override int GetHashCode() #endregion bool ISynchronizable.Synchronize(object target) { - return this.SynchronizeTo((Entities.Common.EdFi.IAssesssmentAdministrationParticipation)target); + return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard)target); } void IMappable.Map(object target) { - this.MapTo((Entities.Common.EdFi.IAssesssmentAdministrationParticipation) target, null); + this.MapTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard) target, null); } } @@ -10699,19 +10705,19 @@ void IMappable.Map(object target) #pragma warning disable 612, 618 /// - /// A class which represents the edfi.AssesssmentAdministrationParticipationAdministrationPointOfContact table of the AssesssmentAdministrationParticipation aggregate in the ODS database. + /// A class which represents the edfi.AssessmentScoreRangeLearningStandardLearningStandard table of the AssessmentScoreRangeLearningStandard aggregate in the ODS database. /// [Schema("edfi")] [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationAdministrationPointOfContact : EntityWithCompositeKey, IChildEntity, - Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions + public class AssessmentScoreRangeLearningStandardLearningStandard : EntityWithCompositeKey, IChildEntity, + Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions { public virtual void SuspendReferenceAssignmentCheck() { } - public AssesssmentAdministrationParticipationAdministrationPointOfContact() + public AssessmentScoreRangeLearningStandardLearningStandard() { - Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); - AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); + Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); + AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); } // restore warnings for inheritance from classes marked Obsolete #pragma warning restore 612, 618 @@ -10720,18 +10726,16 @@ public AssesssmentAdministrationParticipationAdministrationPointOfContact() // Primary Key // ------------------------------------------------------------- [DomainSignature, JsonIgnore] - public virtual AssesssmentAdministrationParticipation AssesssmentAdministrationParticipation { get; set; } + public virtual AssessmentScoreRangeLearningStandard AssessmentScoreRangeLearningStandard { get; set; } - Entities.Common.EdFi.IAssesssmentAdministrationParticipation IAssesssmentAdministrationParticipationAdministrationPointOfContact.AssesssmentAdministrationParticipation + Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard IAssessmentScoreRangeLearningStandardLearningStandard.AssessmentScoreRangeLearningStandard { - get { return AssesssmentAdministrationParticipation; } - set { AssesssmentAdministrationParticipation = (AssesssmentAdministrationParticipation) value; } + get { return AssessmentScoreRangeLearningStandard; } + set { AssessmentScoreRangeLearningStandard = (AssessmentScoreRangeLearningStandard) value; } } [DomainSignature] - public virtual long EducationOrganizationId { get; set; } - [DomainSignature] - public virtual string ElectronicMailAddress { get; set; } + public virtual string LearningStandardId { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -10742,9 +10746,6 @@ Entities.Common.EdFi.IAssesssmentAdministrationParticipation IAssesssmentAdminis // ============================================================= // Properties // ------------------------------------------------------------- - public virtual string FirstName { get; set; } - public virtual string LastSurname { get; set; } - public virtual string LoginId { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -10789,23 +10790,23 @@ public IDictionary Extensions // ============================================================= // Reference Data // ------------------------------------------------------------- - public virtual NHibernate.EducationOrganizationAggregate.EdFi.EducationOrganizationReferenceData EducationOrganizationReferenceData { get; set; } + public virtual NHibernate.LearningStandardAggregate.EdFi.LearningStandardReferenceData LearningStandardReferenceData { get; set; } /// - /// Read-only property that allows the EducationOrganization discriminator value to be mapped to the resource reference. + /// Read-only property that allows the LearningStandard discriminator value to be mapped to the resource reference. /// - string Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationDiscriminator + string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardDiscriminator { - get { return EducationOrganizationReferenceData?.Discriminator; } + get { return LearningStandardReferenceData?.Discriminator; } set { } } /// - /// Read-only property that allows the EducationOrganization resource identifier value to be mapped to the resource reference. + /// Read-only property that allows the LearningStandard resource identifier value to be mapped to the resource reference. /// - Guid? Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationResourceId + Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardResourceId { - get { return EducationOrganizationReferenceData?.Id; } + get { return LearningStandardReferenceData?.Id; } set { } } @@ -10830,11 +10831,10 @@ Dictionary IHasLookupColumnPropertyMap.IdPropertyBy OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() { // Get parent key values - var keyValues = (AssesssmentAdministrationParticipation as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + var keyValues = (AssessmentScoreRangeLearningStandard as IHasPrimaryKeyValues).GetPrimaryKeyValues(); // Add current key values - keyValues.Add("EducationOrganizationId", EducationOrganizationId); - keyValues.Add("ElectronicMailAddress", ElectronicMailAddress); + keyValues.Add("LearningStandardId", LearningStandardId); return keyValues; } @@ -10898,17 +10898,17 @@ public override int GetHashCode() #endregion bool ISynchronizable.Synchronize(object target) { - return this.SynchronizeTo((Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact)target); + return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)target); } void IMappable.Map(object target) { - this.MapTo((Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact) target, null); + this.MapTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard) target, null); } void IChildEntity.SetParent(object value) { - AssesssmentAdministrationParticipation = (AssesssmentAdministrationParticipation) value; + AssessmentScoreRangeLearningStandard = (AssessmentScoreRangeLearningStandard) value; } } } @@ -38651,41 +38651,399 @@ public override int GetHashCode() #endregion bool ISynchronizable.Synchronize(object target) { - return this.SynchronizeTo((Entities.Common.EdFi.IDisciplineIncidentWeapon)target); + return this.SynchronizeTo((Entities.Common.EdFi.IDisciplineIncidentWeapon)target); + } + + void IMappable.Map(object target) + { + this.MapTo((Entities.Common.EdFi.IDisciplineIncidentWeapon) target, null); + } + + void IChildEntity.SetParent(object value) + { + DisciplineIncident = (DisciplineIncident) value; + } + } +} +// Aggregate: DisciplineIncidentParticipationCodeDescriptor + +namespace EdFi.Ods.Entities.NHibernate.DisciplineIncidentParticipationCodeDescriptorAggregate.EdFi +{ +// disable warnings for inheritance from classes marked Obsolete within this generated code only +#pragma warning disable 612, 618 + + /// + /// A class which represents the edfi.DisciplineIncidentParticipationCodeDescriptor table of the DisciplineIncidentParticipationCodeDescriptor aggregate in the ODS database. + /// + [Schema("edfi")] + [ExcludeFromCodeCoverage] + public class DisciplineIncidentParticipationCodeDescriptor : DescriptorAggregate.EdFi.Descriptor, + Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor + { + + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + [DomainSignature] + public virtual int DisciplineIncidentParticipationCodeDescriptorId + { + get { return base.DescriptorId; } + set { base.DescriptorId = value; } + } + + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + string IDescriptor.CodeValue + { + get { return CodeValue; } + set { CodeValue = value; } + } + string IDescriptor.Description + { + get { return Description; } + set { Description = value; } + } + DateTime? IDescriptor.EffectiveBeginDate + { + get { return EffectiveBeginDate; } + set { EffectiveBeginDate = value; } + } + DateTime? IDescriptor.EffectiveEndDate + { + get { return EffectiveEndDate; } + set { EffectiveEndDate = value; } + } + string IDescriptor.Namespace + { + get { return Namespace; } + set { Namespace = value; } + } + string IDescriptor.ShortDescription + { + get { return ShortDescription; } + set { ShortDescription = value; } + } + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Reference Data + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + //============================================================= + // Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // Provide lookup property map + private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase) + { + }; + + Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty + { + get { return _idPropertyByLookupProperty; } + } + + // Provide primary key information + OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() + { + // Initialize a new dictionary to hold the key values + var keyValues = new OrderedDictionary(); + + // Add current key values + keyValues.Add("DisciplineIncidentParticipationCodeDescriptorId", DisciplineIncidentParticipationCodeDescriptorId); + + return keyValues; + } + + #region Overrides for Equals() and GetHashCode() + public override bool Equals(object obj) + { + var compareTo = obj as IHasPrimaryKeyValues; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + var thoseKeys = compareTo.GetPrimaryKeyValues(); + + foreach (DictionaryEntry entry in theseKeys) + { + if (entry.Value is string) + { + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key])) + { + return false; + } + } + else + { + if (!entry.Value.Equals(thoseKeys[entry.Key])) + return false; + } + } + + return true; + } + + public override int GetHashCode() + { + var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + + if (keyValues.Count == 0) + return base.GetHashCode(); + + var hashCode = new HashCode(); + + foreach (DictionaryEntry entry in keyValues) + { + if (entry.Value is string) + { + hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer); + } + else + { + hashCode.Add(entry.Value); + } + } + + return hashCode.ToHashCode(); + } + #endregion + bool ISynchronizable.Synchronize(object target) + { + return this.SynchronizeTo((Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor)target); } void IMappable.Map(object target) { - this.MapTo((Entities.Common.EdFi.IDisciplineIncidentWeapon) target, null); + this.MapTo((Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor) target, null); } - void IChildEntity.SetParent(object value) + } +} +// Aggregate: DisplacedStudentStatusDescriptor + +namespace EdFi.Ods.Entities.NHibernate.DisplacedStudentStatusDescriptorAggregate.EdFi +{ +// disable warnings for inheritance from classes marked Obsolete within this generated code only +#pragma warning disable 612, 618 + + /// + /// A class which represents the edfi.DisplacedStudentStatusDescriptor table of the DisplacedStudentStatusDescriptor aggregate in the ODS database. + /// + [Schema("edfi")] + [ExcludeFromCodeCoverage] + public class DisplacedStudentStatusDescriptor : DescriptorAggregate.EdFi.Descriptor, + Entities.Common.EdFi.IDisplacedStudentStatusDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor + { + + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + [DomainSignature] + public virtual int DisplacedStudentStatusDescriptorId { - DisciplineIncident = (DisciplineIncident) value; + get { return base.DescriptorId; } + set { base.DescriptorId = value; } } + + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + string IDescriptor.CodeValue + { + get { return CodeValue; } + set { CodeValue = value; } + } + string IDescriptor.Description + { + get { return Description; } + set { Description = value; } + } + DateTime? IDescriptor.EffectiveBeginDate + { + get { return EffectiveBeginDate; } + set { EffectiveBeginDate = value; } + } + DateTime? IDescriptor.EffectiveEndDate + { + get { return EffectiveEndDate; } + set { EffectiveEndDate = value; } + } + string IDescriptor.Namespace + { + get { return Namespace; } + set { Namespace = value; } + } + string IDescriptor.ShortDescription + { + get { return ShortDescription; } + set { ShortDescription = value; } + } + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Reference Data + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + //============================================================= + // Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // Provide lookup property map + private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase) + { + }; + + Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty + { + get { return _idPropertyByLookupProperty; } + } + + // Provide primary key information + OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() + { + // Initialize a new dictionary to hold the key values + var keyValues = new OrderedDictionary(); + + // Add current key values + keyValues.Add("DisplacedStudentStatusDescriptorId", DisplacedStudentStatusDescriptorId); + + return keyValues; + } + + #region Overrides for Equals() and GetHashCode() + public override bool Equals(object obj) + { + var compareTo = obj as IHasPrimaryKeyValues; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + var thoseKeys = compareTo.GetPrimaryKeyValues(); + + foreach (DictionaryEntry entry in theseKeys) + { + if (entry.Value is string) + { + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key])) + { + return false; + } + } + else + { + if (!entry.Value.Equals(thoseKeys[entry.Key])) + return false; + } + } + + return true; + } + + public override int GetHashCode() + { + var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + + if (keyValues.Count == 0) + return base.GetHashCode(); + + var hashCode = new HashCode(); + + foreach (DictionaryEntry entry in keyValues) + { + if (entry.Value is string) + { + hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer); + } + else + { + hashCode.Add(entry.Value); + } + } + + return hashCode.ToHashCode(); + } + #endregion + bool ISynchronizable.Synchronize(object target) + { + return this.SynchronizeTo((Entities.Common.EdFi.IDisplacedStudentStatusDescriptor)target); + } + + void IMappable.Map(object target) + { + this.MapTo((Entities.Common.EdFi.IDisplacedStudentStatusDescriptor) target, null); + } + } } -// Aggregate: DisciplineIncidentParticipationCodeDescriptor +// Aggregate: DualCreditInstitutionDescriptor -namespace EdFi.Ods.Entities.NHibernate.DisciplineIncidentParticipationCodeDescriptorAggregate.EdFi +namespace EdFi.Ods.Entities.NHibernate.DualCreditInstitutionDescriptorAggregate.EdFi { // disable warnings for inheritance from classes marked Obsolete within this generated code only #pragma warning disable 612, 618 /// - /// A class which represents the edfi.DisciplineIncidentParticipationCodeDescriptor table of the DisciplineIncidentParticipationCodeDescriptor aggregate in the ODS database. + /// A class which represents the edfi.DualCreditInstitutionDescriptor table of the DualCreditInstitutionDescriptor aggregate in the ODS database. /// [Schema("edfi")] [ExcludeFromCodeCoverage] - public class DisciplineIncidentParticipationCodeDescriptor : DescriptorAggregate.EdFi.Descriptor, - Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor + public class DualCreditInstitutionDescriptor : DescriptorAggregate.EdFi.Descriptor, + Entities.Common.EdFi.IDualCreditInstitutionDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor { // ============================================================= // Primary Key // ------------------------------------------------------------- [DomainSignature] - public virtual int DisciplineIncidentParticipationCodeDescriptorId + public virtual int DualCreditInstitutionDescriptorId { get { return base.DescriptorId; } set { base.DescriptorId = value; } @@ -38770,7 +39128,7 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() var keyValues = new OrderedDictionary(); // Add current key values - keyValues.Add("DisciplineIncidentParticipationCodeDescriptorId", DisciplineIncidentParticipationCodeDescriptorId); + keyValues.Add("DualCreditInstitutionDescriptorId", DualCreditInstitutionDescriptorId); return keyValues; } @@ -38834,37 +39192,37 @@ public override int GetHashCode() #endregion bool ISynchronizable.Synchronize(object target) { - return this.SynchronizeTo((Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor)target); + return this.SynchronizeTo((Entities.Common.EdFi.IDualCreditInstitutionDescriptor)target); } void IMappable.Map(object target) { - this.MapTo((Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor) target, null); + this.MapTo((Entities.Common.EdFi.IDualCreditInstitutionDescriptor) target, null); } } } -// Aggregate: DisplacedStudentStatusDescriptor +// Aggregate: DualCreditTypeDescriptor -namespace EdFi.Ods.Entities.NHibernate.DisplacedStudentStatusDescriptorAggregate.EdFi +namespace EdFi.Ods.Entities.NHibernate.DualCreditTypeDescriptorAggregate.EdFi { // disable warnings for inheritance from classes marked Obsolete within this generated code only #pragma warning disable 612, 618 /// - /// A class which represents the edfi.DisplacedStudentStatusDescriptor table of the DisplacedStudentStatusDescriptor aggregate in the ODS database. + /// A class which represents the edfi.DualCreditTypeDescriptor table of the DualCreditTypeDescriptor aggregate in the ODS database. /// [Schema("edfi")] [ExcludeFromCodeCoverage] - public class DisplacedStudentStatusDescriptor : DescriptorAggregate.EdFi.Descriptor, - Entities.Common.EdFi.IDisplacedStudentStatusDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor + public class DualCreditTypeDescriptor : DescriptorAggregate.EdFi.Descriptor, + Entities.Common.EdFi.IDualCreditTypeDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor { // ============================================================= // Primary Key // ------------------------------------------------------------- [DomainSignature] - public virtual int DisplacedStudentStatusDescriptorId + public virtual int DualCreditTypeDescriptorId { get { return base.DescriptorId; } set { base.DescriptorId = value; } @@ -38949,7 +39307,7 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() var keyValues = new OrderedDictionary(); // Add current key values - keyValues.Add("DisplacedStudentStatusDescriptorId", DisplacedStudentStatusDescriptorId); + keyValues.Add("DualCreditTypeDescriptorId", DualCreditTypeDescriptorId); return keyValues; } @@ -39013,12 +39371,12 @@ public override int GetHashCode() #endregion bool ISynchronizable.Synchronize(object target) { - return this.SynchronizeTo((Entities.Common.EdFi.IDisplacedStudentStatusDescriptor)target); + return this.SynchronizeTo((Entities.Common.EdFi.IDualCreditTypeDescriptor)target); } void IMappable.Map(object target) { - this.MapTo((Entities.Common.EdFi.IDisplacedStudentStatusDescriptor) target, null); + this.MapTo((Entities.Common.EdFi.IDualCreditTypeDescriptor) target, null); } } @@ -100280,27 +100638,27 @@ void IChildEntity.SetParent(object value) } } } -// Aggregate: Section504DisabilityTypeDescriptor +// Aggregate: Section504DisabilityDescriptor -namespace EdFi.Ods.Entities.NHibernate.Section504DisabilityTypeDescriptorAggregate.EdFi +namespace EdFi.Ods.Entities.NHibernate.Section504DisabilityDescriptorAggregate.EdFi { // disable warnings for inheritance from classes marked Obsolete within this generated code only #pragma warning disable 612, 618 /// - /// A class which represents the edfi.Section504DisabilityTypeDescriptor table of the Section504DisabilityTypeDescriptor aggregate in the ODS database. + /// A class which represents the edfi.Section504DisabilityDescriptor table of the Section504DisabilityDescriptor aggregate in the ODS database. /// [Schema("edfi")] [ExcludeFromCodeCoverage] - public class Section504DisabilityTypeDescriptor : DescriptorAggregate.EdFi.Descriptor, - Entities.Common.EdFi.ISection504DisabilityTypeDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor + public class Section504DisabilityDescriptor : DescriptorAggregate.EdFi.Descriptor, + Entities.Common.EdFi.ISection504DisabilityDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor { // ============================================================= // Primary Key // ------------------------------------------------------------- [DomainSignature] - public virtual int Section504DisabilityTypeDescriptorId + public virtual int Section504DisabilityDescriptorId { get { return base.DescriptorId; } set { base.DescriptorId = value; } @@ -100385,7 +100743,7 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() var keyValues = new OrderedDictionary(); // Add current key values - keyValues.Add("Section504DisabilityTypeDescriptorId", Section504DisabilityTypeDescriptorId); + keyValues.Add("Section504DisabilityDescriptorId", Section504DisabilityDescriptorId); return keyValues; } @@ -100449,12 +100807,12 @@ public override int GetHashCode() #endregion bool ISynchronizable.Synchronize(object target) { - return this.SynchronizeTo((Entities.Common.EdFi.ISection504DisabilityTypeDescriptor)target); + return this.SynchronizeTo((Entities.Common.EdFi.ISection504DisabilityDescriptor)target); } void IMappable.Map(object target) { - this.MapTo((Entities.Common.EdFi.ISection504DisabilityTypeDescriptor) target, null); + this.MapTo((Entities.Common.EdFi.ISection504DisabilityDescriptor) target, null); } } @@ -125287,6 +125645,59 @@ public virtual string PlatformTypeDescriptor } } public virtual long? ReportingEducationOrganizationId { get; set; } + public virtual long? ScheduledEducationOrganizationId { get; set; } + public virtual int? ScheduledStudentUSI + { + get + { + if (_scheduledStudentUSI == default(int?) && _scheduledStudentUniqueId != null) + { + if (GeneratedArtifactStaticDependencies.UsiLookupsByUniqueIdContextProvider.Get().UsiByUniqueIdByPersonType.TryGetValue("Student", out var usiByUniqueId) + && usiByUniqueId.TryGetValue(_scheduledStudentUniqueId, out var usi)) + { + _scheduledStudentUSI = usi; + } + } + + return _scheduledStudentUSI; + } + set + { + _scheduledStudentUSI = value; + + if (value != null) + { + GeneratedArtifactStaticDependencies.UniqueIdLookupsByUsiContextProvider.Get().AddLookup("Student", value.Value); + } + } + } + + private int? _scheduledStudentUSI; + private string _scheduledStudentUniqueId; + + public virtual string ScheduledStudentUniqueId + { + get + { + if (_scheduledStudentUniqueId == null && _scheduledStudentUSI.HasValue) + { + if (GeneratedArtifactStaticDependencies.UniqueIdLookupsByUsiContextProvider.Get().UniqueIdByUsiByPersonType.TryGetValue("Student", out var uniqueIdByUsi) + && uniqueIdByUsi.TryGetValue(_scheduledStudentUSI.Value, out var uniqueId)) + { + _scheduledStudentUniqueId = uniqueId; + } + } + + return _scheduledStudentUniqueId; + } + set + { + if (_scheduledStudentUniqueId != value) + _scheduledStudentUSI = default(int?); + + _scheduledStudentUniqueId = value; + } + } public virtual long SchoolId { get; set; } public virtual long? TestingEducationOrganizationId { get; set; } // ------------------------------------------------------------- @@ -125373,23 +125784,23 @@ string Entities.Common.EdFi.IStudentAssessmentRegistration.ReportingEducationOrg set { } } - public virtual NHibernate.StudentEducationOrganizationAssessmentAccommodationAggregate.EdFi.StudentEducationOrganizationAssessmentAccommodationReferenceData StudentEducationOrganizationAssessmentAccommodationReferenceData { get; set; } + public virtual NHibernate.StudentEducationOrganizationAssessmentAccommodationAggregate.EdFi.StudentEducationOrganizationAssessmentAccommodationReferenceData ScheduledStudentEducationOrganizationAssessmentAccommodationReferenceData { get; set; } /// - /// Read-only property that allows the StudentEducationOrganizationAssessmentAccommodation discriminator value to be mapped to the resource reference. + /// Read-only property that allows the ScheduledStudentEducationOrganizationAssessmentAccommodation discriminator value to be mapped to the resource reference. /// - string Entities.Common.EdFi.IStudentAssessmentRegistration.StudentEducationOrganizationAssessmentAccommodationDiscriminator + string Entities.Common.EdFi.IStudentAssessmentRegistration.ScheduledStudentEducationOrganizationAssessmentAccommodationDiscriminator { - get { return StudentEducationOrganizationAssessmentAccommodationReferenceData?.Discriminator; } + get { return ScheduledStudentEducationOrganizationAssessmentAccommodationReferenceData?.Discriminator; } set { } } /// - /// Read-only property that allows the StudentEducationOrganizationAssessmentAccommodation resource identifier value to be mapped to the resource reference. + /// Read-only property that allows the ScheduledStudentEducationOrganizationAssessmentAccommodation resource identifier value to be mapped to the resource reference. /// - Guid? Entities.Common.EdFi.IStudentAssessmentRegistration.StudentEducationOrganizationAssessmentAccommodationResourceId + Guid? Entities.Common.EdFi.IStudentAssessmentRegistration.ScheduledStudentEducationOrganizationAssessmentAccommodationResourceId { - get { return StudentEducationOrganizationAssessmentAccommodationReferenceData?.Id; } + get { return ScheduledStudentEducationOrganizationAssessmentAccommodationReferenceData?.Id; } set { } } @@ -129833,6 +130244,7 @@ public virtual void SuspendReferenceAssignmentCheck() { } public StudentDisciplineIncidentBehaviorAssociation() { StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodes = new HashSet(); + StudentDisciplineIncidentBehaviorAssociationWeapons = new HashSet(); Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); } @@ -130077,6 +130489,53 @@ public virtual ICollection _studentDisciplineIncidentBehaviorAssociationWeapons; + private ICollection _studentDisciplineIncidentBehaviorAssociationWeaponsCovariant; + public virtual ICollection StudentDisciplineIncidentBehaviorAssociationWeapons + { + get + { + // ------------------------------------------------------------- + // On-demand deserialization logic to attach reverse reference of children + // due to ServiceStack's lack of [OnDeserialized] attribute support. + // Back-reference is required by NHibernate for persistence. + // ------------------------------------------------------------- + foreach (var item in _studentDisciplineIncidentBehaviorAssociationWeapons) + if (item.StudentDisciplineIncidentBehaviorAssociation == null) + item.StudentDisciplineIncidentBehaviorAssociation = this; + // ------------------------------------------------------------- + + return _studentDisciplineIncidentBehaviorAssociationWeapons; + } + set + { + _studentDisciplineIncidentBehaviorAssociationWeapons = value; + _studentDisciplineIncidentBehaviorAssociationWeaponsCovariant = new CovariantCollectionAdapter(value); + } + } + + // Covariant version, visible only on the interface + ICollection Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociation.StudentDisciplineIncidentBehaviorAssociationWeapons + { + get + { + // ------------------------------------------------------------- + // Back-reference is required by NHibernate for persistence. + // ------------------------------------------------------------- + foreach (var item in _studentDisciplineIncidentBehaviorAssociationWeapons) + if (item.StudentDisciplineIncidentBehaviorAssociation == null) + item.StudentDisciplineIncidentBehaviorAssociation = this; + // ------------------------------------------------------------- + + return _studentDisciplineIncidentBehaviorAssociationWeaponsCovariant; + } + set + { + StudentDisciplineIncidentBehaviorAssociationWeapons = new HashSet(value.Cast()); + } + } + // ------------------------------------------------------------- // Provide lookup property map @@ -130393,6 +130852,231 @@ void IMappable.Map(object target) this.MapTo((Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode) target, null); } + void IChildEntity.SetParent(object value) + { + StudentDisciplineIncidentBehaviorAssociation = (StudentDisciplineIncidentBehaviorAssociation) value; + } + } +// disable warnings for inheritance from classes marked Obsolete within this generated code only +#pragma warning disable 612, 618 + + /// + /// A class which represents the edfi.StudentDisciplineIncidentBehaviorAssociationWeapon table of the StudentDisciplineIncidentBehaviorAssociation aggregate in the ODS database. + /// + [Schema("edfi")] + [ExcludeFromCodeCoverage] + public class StudentDisciplineIncidentBehaviorAssociationWeapon : EntityWithCompositeKey, IChildEntity, + Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions + { + public virtual void SuspendReferenceAssignmentCheck() { } + + public StudentDisciplineIncidentBehaviorAssociationWeapon() + { + Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this)); + AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions()); + } +// restore warnings for inheritance from classes marked Obsolete +#pragma warning restore 612, 618 + + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + [DomainSignature, JsonIgnore] + public virtual StudentDisciplineIncidentBehaviorAssociation StudentDisciplineIncidentBehaviorAssociation { get; set; } + + Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociation IStudentDisciplineIncidentBehaviorAssociationWeapon.StudentDisciplineIncidentBehaviorAssociation + { + get { return StudentDisciplineIncidentBehaviorAssociation; } + set { StudentDisciplineIncidentBehaviorAssociation = (StudentDisciplineIncidentBehaviorAssociation) value; } + } + + [DomainSignature] + public virtual int WeaponDescriptorId + { + get + { + if (_weaponDescriptorId == default(int)) + _weaponDescriptorId = GeneratedArtifactStaticDependencies.DescriptorResolver.GetDescriptorId("WeaponDescriptor", _weaponDescriptor); + + return _weaponDescriptorId; + } + set + { + _weaponDescriptorId = value; + _weaponDescriptor = null; + } + } + + private int _weaponDescriptorId; + private string _weaponDescriptor; + + public virtual string WeaponDescriptor + { + get + { + if (_weaponDescriptor == null) + _weaponDescriptor = GeneratedArtifactStaticDependencies.DescriptorResolver.GetUri("WeaponDescriptor", _weaponDescriptorId); + + return _weaponDescriptor; + } + set + { + _weaponDescriptor = value; + _weaponDescriptorId = default(int); + } + } + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + private IDictionary _extensions; + + public IDictionary Extensions + { + get => _extensions; + set + { + // If the _extensions is null, this is being assigned from the constructor + // for the first time and no special handling is required + if (_extensions != null) + { + // For extensions that have already been initialized by the extensions factory, + // we need to copy any "implicit" extension object entries over to the incoming + // value dictionary being assigned by NHibernate because it won't have them, + // but they must be there for correct handling of extensions for the API. + foreach (var key in _extensions.Keys) + { + if (!value.Contains(key)) + { + value[key] = _extensions[key]; + } + } + } + + _extensions = value; + } + } + + public IDictionary AggregateExtensions { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Reference Data + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + //============================================================= + // Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // Provide lookup property map + private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase) + { + { "BehaviorDescriptor", new LookupColumnDetails { PropertyName = "BehaviorDescriptorId", LookupTypeName = "BehaviorDescriptor"} }, + { "WeaponDescriptor", new LookupColumnDetails { PropertyName = "WeaponDescriptorId", LookupTypeName = "WeaponDescriptor"} }, + }; + + Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty + { + get { return _idPropertyByLookupProperty; } + } + + // Provide primary key information + OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues() + { + // Get parent key values + var keyValues = (StudentDisciplineIncidentBehaviorAssociation as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + + // Add current key values + keyValues.Add("WeaponDescriptorId", WeaponDescriptorId); + + return keyValues; + } + + #region Overrides for Equals() and GetHashCode() + public override bool Equals(object obj) + { + var compareTo = obj as IHasPrimaryKeyValues; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + var thoseKeys = compareTo.GetPrimaryKeyValues(); + + foreach (DictionaryEntry entry in theseKeys) + { + if (entry.Value is string) + { + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key])) + { + return false; + } + } + else + { + if (!entry.Value.Equals(thoseKeys[entry.Key])) + return false; + } + } + + return true; + } + + public override int GetHashCode() + { + var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues(); + + if (keyValues.Count == 0) + return base.GetHashCode(); + + var hashCode = new HashCode(); + + foreach (DictionaryEntry entry in keyValues) + { + if (entry.Value is string) + { + hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer); + } + else + { + hashCode.Add(entry.Value); + } + } + + return hashCode.ToHashCode(); + } + #endregion + bool ISynchronizable.Synchronize(object target) + { + return this.SynchronizeTo((Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon)target); + } + + void IMappable.Map(object target) + { + this.MapTo((Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon) target, null); + } + void IChildEntity.SetParent(object value) { StudentDisciplineIncidentBehaviorAssociation = (StudentDisciplineIncidentBehaviorAssociation) value; @@ -149735,38 +150419,38 @@ string IGeneralStudentProgramAssociation.ReasonExitedDescriptor // Properties // ------------------------------------------------------------- public virtual bool? AccommodationPlan { get; set; } - public virtual int? Section504DisabilityTypeDescriptorId + public virtual int? Section504DisabilityDescriptorId { get { - if (_section504DisabilityTypeDescriptorId == default(int?)) - _section504DisabilityTypeDescriptorId = string.IsNullOrWhiteSpace(_section504DisabilityTypeDescriptor) ? default(int?) : GeneratedArtifactStaticDependencies.DescriptorResolver.GetDescriptorId("Section504DisabilityTypeDescriptor", _section504DisabilityTypeDescriptor); + if (_section504DisabilityDescriptorId == default(int?)) + _section504DisabilityDescriptorId = string.IsNullOrWhiteSpace(_section504DisabilityDescriptor) ? default(int?) : GeneratedArtifactStaticDependencies.DescriptorResolver.GetDescriptorId("Section504DisabilityDescriptor", _section504DisabilityDescriptor); - return _section504DisabilityTypeDescriptorId; + return _section504DisabilityDescriptorId; } set { - _section504DisabilityTypeDescriptorId = value; - _section504DisabilityTypeDescriptor = null; + _section504DisabilityDescriptorId = value; + _section504DisabilityDescriptor = null; } } - private int? _section504DisabilityTypeDescriptorId; - private string _section504DisabilityTypeDescriptor; + private int? _section504DisabilityDescriptorId; + private string _section504DisabilityDescriptor; - public virtual string Section504DisabilityTypeDescriptor + public virtual string Section504DisabilityDescriptor { get { - if (_section504DisabilityTypeDescriptor == null) - _section504DisabilityTypeDescriptor = _section504DisabilityTypeDescriptorId == null ? null : GeneratedArtifactStaticDependencies.DescriptorResolver.GetUri("Section504DisabilityTypeDescriptor", _section504DisabilityTypeDescriptorId.Value); + if (_section504DisabilityDescriptor == null) + _section504DisabilityDescriptor = _section504DisabilityDescriptorId == null ? null : GeneratedArtifactStaticDependencies.DescriptorResolver.GetUri("Section504DisabilityDescriptor", _section504DisabilityDescriptorId.Value); - return _section504DisabilityTypeDescriptor; + return _section504DisabilityDescriptor; } set { - _section504DisabilityTypeDescriptor = value; - _section504DisabilityTypeDescriptorId = default(int?); + _section504DisabilityDescriptor = value; + _section504DisabilityDescriptorId = default(int?); } } public virtual bool Section504Eligibility { get; set; } @@ -149864,7 +150548,7 @@ public IDictionary Extensions { { "ProgramTypeDescriptor", new LookupColumnDetails { PropertyName = "ProgramTypeDescriptorId", LookupTypeName = "ProgramTypeDescriptor"} }, { "ReasonExitedDescriptor", new LookupColumnDetails { PropertyName = "ReasonExitedDescriptorId", LookupTypeName = "ReasonExitedDescriptor"} }, - { "Section504DisabilityTypeDescriptor", new LookupColumnDetails { PropertyName = "Section504DisabilityTypeDescriptorId", LookupTypeName = "Section504DisabilityTypeDescriptor"} }, + { "Section504DisabilityDescriptor", new LookupColumnDetails { PropertyName = "Section504DisabilityDescriptorId", LookupTypeName = "Section504DisabilityDescriptor"} }, }; Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty @@ -150188,6 +150872,77 @@ public virtual string AttemptStatusDescriptor _attemptStatusDescriptorId = default(int?); } } + public virtual long? DualCreditEducationOrganizationId { get; set; } + public virtual bool? DualCreditIndicator { get; set; } + public virtual int? DualCreditInstitutionDescriptorId + { + get + { + if (_dualCreditInstitutionDescriptorId == default(int?)) + _dualCreditInstitutionDescriptorId = string.IsNullOrWhiteSpace(_dualCreditInstitutionDescriptor) ? default(int?) : GeneratedArtifactStaticDependencies.DescriptorResolver.GetDescriptorId("DualCreditInstitutionDescriptor", _dualCreditInstitutionDescriptor); + + return _dualCreditInstitutionDescriptorId; + } + set + { + _dualCreditInstitutionDescriptorId = value; + _dualCreditInstitutionDescriptor = null; + } + } + + private int? _dualCreditInstitutionDescriptorId; + private string _dualCreditInstitutionDescriptor; + + public virtual string DualCreditInstitutionDescriptor + { + get + { + if (_dualCreditInstitutionDescriptor == null) + _dualCreditInstitutionDescriptor = _dualCreditInstitutionDescriptorId == null ? null : GeneratedArtifactStaticDependencies.DescriptorResolver.GetUri("DualCreditInstitutionDescriptor", _dualCreditInstitutionDescriptorId.Value); + + return _dualCreditInstitutionDescriptor; + } + set + { + _dualCreditInstitutionDescriptor = value; + _dualCreditInstitutionDescriptorId = default(int?); + } + } + public virtual int? DualCreditTypeDescriptorId + { + get + { + if (_dualCreditTypeDescriptorId == default(int?)) + _dualCreditTypeDescriptorId = string.IsNullOrWhiteSpace(_dualCreditTypeDescriptor) ? default(int?) : GeneratedArtifactStaticDependencies.DescriptorResolver.GetDescriptorId("DualCreditTypeDescriptor", _dualCreditTypeDescriptor); + + return _dualCreditTypeDescriptorId; + } + set + { + _dualCreditTypeDescriptorId = value; + _dualCreditTypeDescriptor = null; + } + } + + private int? _dualCreditTypeDescriptorId; + private string _dualCreditTypeDescriptor; + + public virtual string DualCreditTypeDescriptor + { + get + { + if (_dualCreditTypeDescriptor == null) + _dualCreditTypeDescriptor = _dualCreditTypeDescriptorId == null ? null : GeneratedArtifactStaticDependencies.DescriptorResolver.GetUri("DualCreditTypeDescriptor", _dualCreditTypeDescriptorId.Value); + + return _dualCreditTypeDescriptor; + } + set + { + _dualCreditTypeDescriptor = value; + _dualCreditTypeDescriptorId = default(int?); + } + } + public virtual bool? DualHighSchoolCreditIndicator { get; set; } public virtual DateTime? EndDate { get { return _endDate; } @@ -150287,6 +151042,26 @@ public IDictionary Extensions // ============================================================= // Reference Data // ------------------------------------------------------------- + public virtual NHibernate.EducationOrganizationAggregate.EdFi.EducationOrganizationReferenceData DualCreditEducationOrganizationReferenceData { get; set; } + + /// + /// Read-only property that allows the DualCreditEducationOrganization discriminator value to be mapped to the resource reference. + /// + string Entities.Common.EdFi.IStudentSectionAssociation.DualCreditEducationOrganizationDiscriminator + { + get { return DualCreditEducationOrganizationReferenceData?.Discriminator; } + set { } + } + + /// + /// Read-only property that allows the DualCreditEducationOrganization resource identifier value to be mapped to the resource reference. + /// + Guid? Entities.Common.EdFi.IStudentSectionAssociation.DualCreditEducationOrganizationResourceId + { + get { return DualCreditEducationOrganizationReferenceData?.Id; } + set { } + } + public virtual NHibernate.SectionAggregate.EdFi.SectionReferenceData SectionReferenceData { get; set; } /// @@ -150385,6 +151160,8 @@ public virtual ICollection _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase) { { "AttemptStatusDescriptor", new LookupColumnDetails { PropertyName = "AttemptStatusDescriptorId", LookupTypeName = "AttemptStatusDescriptor"} }, + { "DualCreditInstitutionDescriptor", new LookupColumnDetails { PropertyName = "DualCreditInstitutionDescriptorId", LookupTypeName = "DualCreditInstitutionDescriptor"} }, + { "DualCreditTypeDescriptor", new LookupColumnDetails { PropertyName = "DualCreditTypeDescriptorId", LookupTypeName = "DualCreditTypeDescriptor"} }, { "RepeatIdentifierDescriptor", new LookupColumnDetails { PropertyName = "RepeatIdentifierDescriptorId", LookupTypeName = "RepeatIdentifierDescriptor"} }, }; @@ -151682,7 +152459,9 @@ public virtual DateTime? LastEvaluationDate public virtual bool? MedicallyFragile { get; set; } public virtual bool? MultiplyDisabled { get; set; } + public virtual decimal? ReductionInHoursPerWeekComparedToPeers { get; set; } public virtual decimal? SchoolHoursPerWeek { get; set; } + public virtual bool? ShortenedSchoolDayIndicator { get; set; } public virtual DateTime? SpecialEducationExitDate { get { return _specialEducationExitDate; } diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_EntitiesForQueries.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_EntitiesForQueries.generated.approved.cs index 49ef530e53..9f877c16e6 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_EntitiesForQueries.generated.approved.cs +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_EntitiesForQueries.generated.approved.cs @@ -1346,8 +1346,8 @@ public class AssessmentAdministrationQ : AggregateRootWithCompositeKey // ============================================================= // Collections // ------------------------------------------------------------- - public virtual ICollection AssessmentAdministrationAssessmentAdminstrationPeriods { get; set; } public virtual ICollection AssessmentAdministrationAssessmentBatteryParts { get; set; } + public virtual ICollection AssessmentAdministrationPeriods { get; set; } // ------------------------------------------------------------- @@ -1357,7 +1357,7 @@ public class AssessmentAdministrationQ : AggregateRootWithCompositeKey // External references for NHibernate mappings and HQL query usage #pragma warning disable 114 - protected virtual ICollection AssesssmentAdministrationParticipations { get; set; } + protected virtual ICollection AssessmentAdministrationParticipations { get; set; } #pragma warning restore 114 #pragma warning disable 114 protected virtual ICollection StudentAssessmentRegistrations { get; set; } @@ -1370,11 +1370,54 @@ public class AssessmentAdministrationQ : AggregateRootWithCompositeKey } /// - /// A class which represents the edfi.AssessmentAdministrationAssessmentAdminstrationPeriod table of the AssessmentAdministration aggregate in the ODS database. + /// A class which represents the edfi.AssessmentAdministrationAssessmentBatteryPart table of the AssessmentAdministration aggregate in the ODS database. + /// + [Serializable] + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationAssessmentBatteryPartQ : EntityWithCompositeKey + { + + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + [DomainSignature, JsonIgnore, IgnoreDataMember] + public virtual NHibernate.QueryModels.AssessmentAdministrationAggregate.EdFi.AssessmentAdministrationQ AssessmentAdministration { get; set; } + [DomainSignature] + public virtual string AssessmentBatteryPartName { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Discriminator + // ------------------------------------------------------------- + + public virtual string Discriminator { get; set; } + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + + // ------------------------------------------------------------- + + // ============================================================= + // External references for HQL Queries + // ------------------------------------------------------------- + + // External references for NHibernate mappings and HQL query usage + protected virtual NHibernate.QueryModels.AssessmentBatteryPartAggregate.EdFi.AssessmentBatteryPartQ AssessmentBatteryPart { get; set; } + // ------------------------------------------------------------- + } + + /// + /// A class which represents the edfi.AssessmentAdministrationPeriod table of the AssessmentAdministration aggregate in the ODS database. /// [Serializable] [ExcludeFromCodeCoverage] - public class AssessmentAdministrationAssessmentAdminstrationPeriodQ : EntityWithCompositeKey + public class AssessmentAdministrationPeriodQ : EntityWithCompositeKey { // ============================================================= @@ -1409,22 +1452,80 @@ public class AssessmentAdministrationAssessmentAdminstrationPeriodQ : EntityWith // ------------------------------------------------------------- // ------------------------------------------------------------- } +} +// Aggregate: AssessmentAdministrationParticipation + +namespace EdFi.Ods.Entities.NHibernate.QueryModels.AssessmentAdministrationParticipationAggregate.EdFi +{ /// - /// A class which represents the edfi.AssessmentAdministrationAssessmentBatteryPart table of the AssessmentAdministration aggregate in the ODS database. + /// A class which represents the edfi.AssessmentAdministrationParticipation table of the AssessmentAdministrationParticipation aggregate in the ODS database. /// [Serializable] [ExcludeFromCodeCoverage] - public class AssessmentAdministrationAssessmentBatteryPartQ : EntityWithCompositeKey + public class AssessmentAdministrationParticipationQ : AggregateRootWithCompositeKey + { + + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + [DomainSignature] + public virtual string AdministrationIdentifier { get; set; } + [DomainSignature] + public virtual string AssessmentIdentifier { get; set; } + [DomainSignature] + public virtual long AssigningEducationOrganizationId { get; set; } + [DomainSignature] + public virtual string Namespace { get; set; } + [DomainSignature] + public virtual long ParticipatingEducationOrganizationId { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Discriminator + // ------------------------------------------------------------- + + public virtual string Discriminator { get; set; } + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + public virtual ICollection AssessmentAdministrationParticipationAdministrationPointOfContacts { get; set; } + + // ------------------------------------------------------------- + + // ============================================================= + // External references for HQL Queries + // ------------------------------------------------------------- + + // External references for NHibernate mappings and HQL query usage + protected virtual NHibernate.QueryModels.AssessmentAdministrationAggregate.EdFi.AssessmentAdministrationQ AssessmentAdministration { get; set; } + protected virtual NHibernate.QueryModels.EducationOrganizationAggregate.EdFi.EducationOrganizationQ ParticipatingEducationOrganization { get; set; } + // ------------------------------------------------------------- + } + + /// + /// A class which represents the edfi.AssessmentAdministrationParticipationAdministrationPointOfContact table of the AssessmentAdministrationParticipation aggregate in the ODS database. + /// + [Serializable] + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationAdministrationPointOfContactQ : EntityWithCompositeKey { // ============================================================= // Primary Key // ------------------------------------------------------------- [DomainSignature, JsonIgnore, IgnoreDataMember] - public virtual NHibernate.QueryModels.AssessmentAdministrationAggregate.EdFi.AssessmentAdministrationQ AssessmentAdministration { get; set; } + public virtual NHibernate.QueryModels.AssessmentAdministrationParticipationAggregate.EdFi.AssessmentAdministrationParticipationQ AssessmentAdministrationParticipation { get; set; } [DomainSignature] - public virtual string AssessmentBatteryPartName { get; set; } + public virtual long EducationOrganizationId { get; set; } + [DomainSignature] + public virtual string ElectronicMailAddress { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -1436,6 +1537,9 @@ public class AssessmentAdministrationAssessmentBatteryPartQ : EntityWithComposit // ============================================================= // Properties // ------------------------------------------------------------- + public virtual string FirstName { get; set; } + public virtual string LastSurname { get; set; } + public virtual string LoginId { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -1449,7 +1553,7 @@ public class AssessmentAdministrationAssessmentBatteryPartQ : EntityWithComposit // ------------------------------------------------------------- // External references for NHibernate mappings and HQL query usage - protected virtual NHibernate.QueryModels.AssessmentBatteryPartAggregate.EdFi.AssessmentBatteryPartQ AssessmentBatteryPart { get; set; } + protected virtual NHibernate.QueryModels.EducationOrganizationAggregate.EdFi.EducationOrganizationQ EducationOrganization { get; set; } // ------------------------------------------------------------- } } @@ -2092,110 +2196,6 @@ public class AssessmentScoreRangeLearningStandardLearningStandardQ : EntityWithC // ------------------------------------------------------------- } } -// Aggregate: AssesssmentAdministrationParticipation - -namespace EdFi.Ods.Entities.NHibernate.QueryModels.AssesssmentAdministrationParticipationAggregate.EdFi -{ - - /// - /// A class which represents the edfi.AssesssmentAdministrationParticipation table of the AssesssmentAdministrationParticipation aggregate in the ODS database. - /// - [Serializable] - [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationQ : AggregateRootWithCompositeKey - { - - // ============================================================= - // Primary Key - // ------------------------------------------------------------- - [DomainSignature] - public virtual string AdministrationIdentifier { get; set; } - [DomainSignature] - public virtual string AssessmentIdentifier { get; set; } - [DomainSignature] - public virtual long AssigningEducationOrganizationId { get; set; } - [DomainSignature] - public virtual string Namespace { get; set; } - [DomainSignature] - public virtual long ParticipatingEducationOrganizationId { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Discriminator - // ------------------------------------------------------------- - - public virtual string Discriminator { get; set; } - - // ============================================================= - // Properties - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Collections - // ------------------------------------------------------------- - public virtual ICollection AssesssmentAdministrationParticipationAdministrationPointOfContacts { get; set; } - - // ------------------------------------------------------------- - - // ============================================================= - // External references for HQL Queries - // ------------------------------------------------------------- - - // External references for NHibernate mappings and HQL query usage - protected virtual NHibernate.QueryModels.AssessmentAdministrationAggregate.EdFi.AssessmentAdministrationQ AssessmentAdministration { get; set; } - protected virtual NHibernate.QueryModels.EducationOrganizationAggregate.EdFi.EducationOrganizationQ ParticipatingEducationOrganization { get; set; } - // ------------------------------------------------------------- - } - - /// - /// A class which represents the edfi.AssesssmentAdministrationParticipationAdministrationPointOfContact table of the AssesssmentAdministrationParticipation aggregate in the ODS database. - /// - [Serializable] - [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationAdministrationPointOfContactQ : EntityWithCompositeKey - { - - // ============================================================= - // Primary Key - // ------------------------------------------------------------- - [DomainSignature, JsonIgnore, IgnoreDataMember] - public virtual NHibernate.QueryModels.AssesssmentAdministrationParticipationAggregate.EdFi.AssesssmentAdministrationParticipationQ AssesssmentAdministrationParticipation { get; set; } - [DomainSignature] - public virtual long EducationOrganizationId { get; set; } - [DomainSignature] - public virtual string ElectronicMailAddress { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Discriminator - // ------------------------------------------------------------- - - public virtual string Discriminator { get; set; } - - // ============================================================= - // Properties - // ------------------------------------------------------------- - public virtual string FirstName { get; set; } - public virtual string LastSurname { get; set; } - public virtual string LoginId { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Collections - // ------------------------------------------------------------- - - // ------------------------------------------------------------- - - // ============================================================= - // External references for HQL Queries - // ------------------------------------------------------------- - - // External references for NHibernate mappings and HQL query usage - protected virtual NHibernate.QueryModels.EducationOrganizationAggregate.EdFi.EducationOrganizationQ EducationOrganization { get; set; } - // ------------------------------------------------------------- - } -} // Aggregate: AssignmentLateStatusDescriptor namespace EdFi.Ods.Entities.NHibernate.QueryModels.AssignmentLateStatusDescriptorAggregate.EdFi @@ -7569,6 +7569,90 @@ public class DisplacedStudentStatusDescriptorQ : QueryModels.DescriptorAggregate // ------------------------------------------------------------- } } +// Aggregate: DualCreditInstitutionDescriptor + +namespace EdFi.Ods.Entities.NHibernate.QueryModels.DualCreditInstitutionDescriptorAggregate.EdFi +{ + + /// + /// A class which represents the edfi.DualCreditInstitutionDescriptor table of the DualCreditInstitutionDescriptor aggregate in the ODS database. + /// + [Serializable] + [ExcludeFromCodeCoverage] + public class DualCreditInstitutionDescriptorQ : QueryModels.DescriptorAggregate.EdFi.DescriptorQ + { + + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + [DomainSignature] + public virtual int DualCreditInstitutionDescriptorId { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + + // ------------------------------------------------------------- + + // ============================================================= + // External references for HQL Queries + // ------------------------------------------------------------- + + // External references for NHibernate mappings and HQL query usage + #pragma warning disable 114 + protected virtual ICollection StudentSectionAssociations { get; set; } + #pragma warning restore 114 + // ------------------------------------------------------------- + } +} +// Aggregate: DualCreditTypeDescriptor + +namespace EdFi.Ods.Entities.NHibernate.QueryModels.DualCreditTypeDescriptorAggregate.EdFi +{ + + /// + /// A class which represents the edfi.DualCreditTypeDescriptor table of the DualCreditTypeDescriptor aggregate in the ODS database. + /// + [Serializable] + [ExcludeFromCodeCoverage] + public class DualCreditTypeDescriptorQ : QueryModels.DescriptorAggregate.EdFi.DescriptorQ + { + + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + [DomainSignature] + public virtual int DualCreditTypeDescriptorId { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + + // ------------------------------------------------------------- + + // ============================================================= + // External references for HQL Queries + // ------------------------------------------------------------- + + // External references for NHibernate mappings and HQL query usage + #pragma warning disable 114 + protected virtual ICollection StudentSectionAssociations { get; set; } + #pragma warning restore 114 + // ------------------------------------------------------------- + } +} // Aggregate: EducationalEnvironmentDescriptor namespace EdFi.Ods.Entities.NHibernate.QueryModels.EducationalEnvironmentDescriptorAggregate.EdFi @@ -8057,19 +8141,19 @@ public abstract class EducationOrganizationQ : AggregateRootWithCompositeKey protected virtual ICollection AccountabilityRatings { get; set; } #pragma warning restore 114 #pragma warning disable 114 - protected virtual ICollection AssessmentAdministrations { get; set; } + protected virtual ICollection AssessmentAdministrationParticipationAdministrationPointOfContacts { get; set; } #pragma warning restore 114 #pragma warning disable 114 - protected virtual ICollection AssessmentContentStandards { get; set; } + protected virtual ICollection AssessmentAdministrationParticipations { get; set; } #pragma warning restore 114 #pragma warning disable 114 - protected virtual ICollection Assessments { get; set; } + protected virtual ICollection AssessmentAdministrations { get; set; } #pragma warning restore 114 #pragma warning disable 114 - protected virtual ICollection AssesssmentAdministrationParticipationAdministrationPointOfContacts { get; set; } + protected virtual ICollection AssessmentContentStandards { get; set; } #pragma warning restore 114 #pragma warning disable 114 - protected virtual ICollection AssesssmentAdministrationParticipations { get; set; } + protected virtual ICollection Assessments { get; set; } #pragma warning restore 114 #pragma warning disable 114 protected virtual ICollection ChartOfAccounts { get; set; } @@ -8167,6 +8251,9 @@ public abstract class EducationOrganizationQ : AggregateRootWithCompositeKey #pragma warning disable 114 protected virtual ICollection StudentProgramEvaluations { get; set; } #pragma warning restore 114 + #pragma warning disable 114 + protected virtual ICollection StudentSectionAssociations { get; set; } + #pragma warning restore 114 #pragma warning disable 114 protected virtual ICollection StudentSpecialEducationProgramEligibilityAssociations { get; set; } #pragma warning restore 114 @@ -19649,24 +19736,24 @@ public class SectionProgramQ : EntityWithCompositeKey // ------------------------------------------------------------- } } -// Aggregate: Section504DisabilityTypeDescriptor +// Aggregate: Section504DisabilityDescriptor -namespace EdFi.Ods.Entities.NHibernate.QueryModels.Section504DisabilityTypeDescriptorAggregate.EdFi +namespace EdFi.Ods.Entities.NHibernate.QueryModels.Section504DisabilityDescriptorAggregate.EdFi { /// - /// A class which represents the edfi.Section504DisabilityTypeDescriptor table of the Section504DisabilityTypeDescriptor aggregate in the ODS database. + /// A class which represents the edfi.Section504DisabilityDescriptor table of the Section504DisabilityDescriptor aggregate in the ODS database. /// [Serializable] [ExcludeFromCodeCoverage] - public class Section504DisabilityTypeDescriptorQ : QueryModels.DescriptorAggregate.EdFi.DescriptorQ + public class Section504DisabilityDescriptorQ : QueryModels.DescriptorAggregate.EdFi.DescriptorQ { // ============================================================= // Primary Key // ------------------------------------------------------------- [DomainSignature] - public virtual int Section504DisabilityTypeDescriptorId { get; set; } + public virtual int Section504DisabilityDescriptorId { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -23910,6 +23997,8 @@ public class StudentAssessmentRegistrationQ : AggregateRootWithCompositeKey public virtual DateTime EntryDate { get; set; } public virtual int? PlatformTypeDescriptorId { get; set; } public virtual long? ReportingEducationOrganizationId { get; set; } + public virtual long? ScheduledEducationOrganizationId { get; set; } + public virtual int? ScheduledStudentUSI { get; set; } public virtual long SchoolId { get; set; } public virtual long? TestingEducationOrganizationId { get; set; } // ------------------------------------------------------------- @@ -23936,7 +24025,7 @@ public class StudentAssessmentRegistrationQ : AggregateRootWithCompositeKey protected virtual NHibernate.QueryModels.GradeLevelDescriptorAggregate.EdFi.GradeLevelDescriptorQ AssessmentGradeLevelDescriptor { get; set; } protected virtual NHibernate.QueryModels.PlatformTypeDescriptorAggregate.EdFi.PlatformTypeDescriptorQ PlatformTypeDescriptor { get; set; } protected virtual NHibernate.QueryModels.EducationOrganizationAggregate.EdFi.EducationOrganizationQ ReportingEducationOrganization { get; set; } - protected virtual NHibernate.QueryModels.StudentEducationOrganizationAssessmentAccommodationAggregate.EdFi.StudentEducationOrganizationAssessmentAccommodationQ StudentEducationOrganizationAssessmentAccommodation { get; set; } + protected virtual NHibernate.QueryModels.StudentEducationOrganizationAssessmentAccommodationAggregate.EdFi.StudentEducationOrganizationAssessmentAccommodationQ ScheduledStudentEducationOrganizationAssessmentAccommodation { get; set; } protected virtual NHibernate.QueryModels.StudentEducationOrganizationAssociationAggregate.EdFi.StudentEducationOrganizationAssociationQ StudentEducationOrganizationAssociation { get; set; } protected virtual NHibernate.QueryModels.StudentSchoolAssociationAggregate.EdFi.StudentSchoolAssociationQ StudentSchoolAssociation { get; set; } protected virtual NHibernate.QueryModels.EducationOrganizationAggregate.EdFi.EducationOrganizationQ TestingEducationOrganization { get; set; } @@ -24648,6 +24737,7 @@ public class StudentDisciplineIncidentBehaviorAssociationQ : AggregateRootWithCo // Collections // ------------------------------------------------------------- public virtual ICollection StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodes { get; set; } + public virtual ICollection StudentDisciplineIncidentBehaviorAssociationWeapons { get; set; } // ------------------------------------------------------------- @@ -24709,6 +24799,49 @@ public class StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParti protected virtual NHibernate.QueryModels.DisciplineIncidentParticipationCodeDescriptorAggregate.EdFi.DisciplineIncidentParticipationCodeDescriptorQ DisciplineIncidentParticipationCodeDescriptor { get; set; } // ------------------------------------------------------------- } + + /// + /// A class which represents the edfi.StudentDisciplineIncidentBehaviorAssociationWeapon table of the StudentDisciplineIncidentBehaviorAssociation aggregate in the ODS database. + /// + [Serializable] + [ExcludeFromCodeCoverage] + public class StudentDisciplineIncidentBehaviorAssociationWeaponQ : EntityWithCompositeKey + { + + // ============================================================= + // Primary Key + // ------------------------------------------------------------- + [DomainSignature, JsonIgnore, IgnoreDataMember] + public virtual NHibernate.QueryModels.StudentDisciplineIncidentBehaviorAssociationAggregate.EdFi.StudentDisciplineIncidentBehaviorAssociationQ StudentDisciplineIncidentBehaviorAssociation { get; set; } + [DomainSignature] + public virtual int WeaponDescriptorId { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Discriminator + // ------------------------------------------------------------- + + public virtual string Discriminator { get; set; } + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + + // ------------------------------------------------------------- + + // ============================================================= + // External references for HQL Queries + // ------------------------------------------------------------- + + // External references for NHibernate mappings and HQL query usage + protected virtual NHibernate.QueryModels.WeaponDescriptorAggregate.EdFi.WeaponDescriptorQ WeaponDescriptor { get; set; } + // ------------------------------------------------------------- + } } // Aggregate: StudentDisciplineIncidentNonOffenderAssociation @@ -27576,7 +27709,7 @@ public class StudentSection504ProgramAssociationQ : QueryModels.GeneralStudentPr // Properties // ------------------------------------------------------------- public virtual bool? AccommodationPlan { get; set; } - public virtual int? Section504DisabilityTypeDescriptorId { get; set; } + public virtual int? Section504DisabilityDescriptorId { get; set; } public virtual bool Section504Eligibility { get; set; } public virtual DateTime? Section504EligibilityDecisionDate { get; set; } public virtual DateTime? Section504MeetingDate { get; set; } @@ -27593,7 +27726,7 @@ public class StudentSection504ProgramAssociationQ : QueryModels.GeneralStudentPr // ------------------------------------------------------------- // External references for NHibernate mappings and HQL query usage - protected virtual NHibernate.QueryModels.Section504DisabilityTypeDescriptorAggregate.EdFi.Section504DisabilityTypeDescriptorQ Section504DisabilityTypeDescriptor { get; set; } + protected virtual NHibernate.QueryModels.Section504DisabilityDescriptorAggregate.EdFi.Section504DisabilityDescriptorQ Section504DisabilityDescriptor { get; set; } // ------------------------------------------------------------- } } @@ -27639,6 +27772,11 @@ public class StudentSectionAssociationQ : AggregateRootWithCompositeKey // Properties // ------------------------------------------------------------- public virtual int? AttemptStatusDescriptorId { get; set; } + public virtual long? DualCreditEducationOrganizationId { get; set; } + public virtual bool? DualCreditIndicator { get; set; } + public virtual int? DualCreditInstitutionDescriptorId { get; set; } + public virtual int? DualCreditTypeDescriptorId { get; set; } + public virtual bool? DualHighSchoolCreditIndicator { get; set; } public virtual DateTime? EndDate { get; set; } public virtual bool? HomeroomIndicator { get; set; } public virtual int? RepeatIdentifierDescriptorId { get; set; } @@ -27666,6 +27804,9 @@ public class StudentSectionAssociationQ : AggregateRootWithCompositeKey // External references for NHibernate mappings and HQL query usage protected virtual NHibernate.QueryModels.AttemptStatusDescriptorAggregate.EdFi.AttemptStatusDescriptorQ AttemptStatusDescriptor { get; set; } + protected virtual NHibernate.QueryModels.EducationOrganizationAggregate.EdFi.EducationOrganizationQ DualCreditEducationOrganization { get; set; } + protected virtual NHibernate.QueryModels.DualCreditInstitutionDescriptorAggregate.EdFi.DualCreditInstitutionDescriptorQ DualCreditInstitutionDescriptor { get; set; } + protected virtual NHibernate.QueryModels.DualCreditTypeDescriptorAggregate.EdFi.DualCreditTypeDescriptorQ DualCreditTypeDescriptor { get; set; } protected virtual NHibernate.QueryModels.RepeatIdentifierDescriptorAggregate.EdFi.RepeatIdentifierDescriptorQ RepeatIdentifierDescriptor { get; set; } protected virtual NHibernate.QueryModels.SectionAggregate.EdFi.SectionQ Section { get; set; } protected virtual NHibernate.QueryModels.StudentAggregate.EdFi.StudentQ Student { get; set; } @@ -27872,7 +28013,9 @@ public class StudentSpecialEducationProgramAssociationQ : QueryModels.GeneralStu public virtual DateTime? LastEvaluationDate { get; set; } public virtual bool? MedicallyFragile { get; set; } public virtual bool? MultiplyDisabled { get; set; } + public virtual decimal? ReductionInHoursPerWeekComparedToPeers { get; set; } public virtual decimal? SchoolHoursPerWeek { get; set; } + public virtual bool? ShortenedSchoolDayIndicator { get; set; } public virtual DateTime? SpecialEducationExitDate { get; set; } public virtual string SpecialEducationExitExplained { get; set; } public virtual int? SpecialEducationExitReasonDescriptorId { get; set; } @@ -30261,6 +30404,9 @@ public class WeaponDescriptorQ : QueryModels.DescriptorAggregate.EdFi.Descriptor // External references for NHibernate mappings and HQL query usage #pragma warning disable 114 protected virtual ICollection DisciplineIncidentWeapons { get; set; } + #pragma warning restore 114 + #pragma warning disable 114 + protected virtual ICollection StudentDisciplineIncidentBehaviorAssociationWeapons { get; set; } #pragma warning restore 114 // ------------------------------------------------------------- } diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Interfaces_EntityInterfaces.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Interfaces_EntityInterfaces.generated.approved.cs index 044bbcae19..c4d8430124 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Interfaces_EntityInterfaces.generated.approved.cs +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Interfaces_EntityInterfaces.generated.approved.cs @@ -1388,8 +1388,8 @@ public interface IAssessmentAdministration : ISynchronizable, IMappable, IHasExt // One-to-one relationships // Lists - ICollection AssessmentAdministrationAssessmentAdminstrationPeriods { get; set; } ICollection AssessmentAdministrationAssessmentBatteryParts { get; set; } + ICollection AssessmentAdministrationPeriods { get; set; } // Resource reference data Guid? AssessmentResourceId { get; set; } @@ -1405,45 +1405,45 @@ public interface IAssessmentAdministration : ISynchronizable, IMappable, IHasExt public class AssessmentAdministrationMappingContract : IMappingContract, IExtensionsMappingContract { public AssessmentAdministrationMappingContract( - bool isAssessmentAdministrationAssessmentAdminstrationPeriodsSupported, bool isAssessmentAdministrationAssessmentBatteryPartsSupported, + bool isAssessmentAdministrationPeriodsSupported, bool isAssessmentReferenceSupported, bool isAssigningEducationOrganizationReferenceSupported, - bool isAssessmentAdministrationAssessmentAdminstrationPeriodsItemCreatable, - Func isAssessmentAdministrationAssessmentAdminstrationPeriodIncluded, bool isAssessmentAdministrationAssessmentBatteryPartsItemCreatable, Func isAssessmentAdministrationAssessmentBatteryPartIncluded, + bool isAssessmentAdministrationPeriodsItemCreatable, + Func isAssessmentAdministrationPeriodIncluded, IReadOnlyList supportedExtensions ) { - IsAssessmentAdministrationAssessmentAdminstrationPeriodsSupported = isAssessmentAdministrationAssessmentAdminstrationPeriodsSupported; IsAssessmentAdministrationAssessmentBatteryPartsSupported = isAssessmentAdministrationAssessmentBatteryPartsSupported; + IsAssessmentAdministrationPeriodsSupported = isAssessmentAdministrationPeriodsSupported; IsAssessmentReferenceSupported = isAssessmentReferenceSupported; IsAssigningEducationOrganizationReferenceSupported = isAssigningEducationOrganizationReferenceSupported; - IsAssessmentAdministrationAssessmentAdminstrationPeriodsItemCreatable = isAssessmentAdministrationAssessmentAdminstrationPeriodsItemCreatable; - IsAssessmentAdministrationAssessmentAdminstrationPeriodIncluded = isAssessmentAdministrationAssessmentAdminstrationPeriodIncluded; IsAssessmentAdministrationAssessmentBatteryPartsItemCreatable = isAssessmentAdministrationAssessmentBatteryPartsItemCreatable; IsAssessmentAdministrationAssessmentBatteryPartIncluded = isAssessmentAdministrationAssessmentBatteryPartIncluded; + IsAssessmentAdministrationPeriodsItemCreatable = isAssessmentAdministrationPeriodsItemCreatable; + IsAssessmentAdministrationPeriodIncluded = isAssessmentAdministrationPeriodIncluded; SupportedExtensions = supportedExtensions; } - public bool IsAssessmentAdministrationAssessmentAdminstrationPeriodsSupported { get; } public bool IsAssessmentAdministrationAssessmentBatteryPartsSupported { get; } + public bool IsAssessmentAdministrationPeriodsSupported { get; } public bool IsAssessmentReferenceSupported { get; } public bool IsAssigningEducationOrganizationReferenceSupported { get; } - public bool IsAssessmentAdministrationAssessmentAdminstrationPeriodsItemCreatable { get; } - public Func IsAssessmentAdministrationAssessmentAdminstrationPeriodIncluded { get; } public bool IsAssessmentAdministrationAssessmentBatteryPartsItemCreatable { get; } public Func IsAssessmentAdministrationAssessmentBatteryPartIncluded { get; } + public bool IsAssessmentAdministrationPeriodsItemCreatable { get; } + public Func IsAssessmentAdministrationPeriodIncluded { get; } bool IMappingContract.IsMemberSupported(string memberName) { switch (memberName) { - case "AssessmentAdministrationAssessmentAdminstrationPeriods": - return IsAssessmentAdministrationAssessmentAdminstrationPeriodsSupported; case "AssessmentAdministrationAssessmentBatteryParts": return IsAssessmentAdministrationAssessmentBatteryPartsSupported; + case "AssessmentAdministrationPeriods": + return IsAssessmentAdministrationPeriodsSupported; case "AssessmentReference": return IsAssessmentReferenceSupported; case "AssigningEducationOrganizationReference": @@ -1466,10 +1466,10 @@ bool IMappingContract.IsItemCreatable(string memberName) { switch (memberName) { - case "AssessmentAdministrationAssessmentAdminstrationPeriods": - return IsAssessmentAdministrationAssessmentAdminstrationPeriodsItemCreatable; case "AssessmentAdministrationAssessmentBatteryParts": return IsAssessmentAdministrationAssessmentBatteryPartsItemCreatable; + case "AssessmentAdministrationPeriods": + return IsAssessmentAdministrationPeriodsItemCreatable; default: throw new Exception($"Unknown child item '{memberName}'."); } @@ -1484,50 +1484,51 @@ public bool IsExtensionSupported(string name) } /// - /// Defines available properties and methods for the abstraction of the AssessmentAdministrationAssessmentAdminstrationPeriod model. + /// Defines available properties and methods for the abstraction of the AssessmentAdministrationAssessmentBatteryPart model. /// - public interface IAssessmentAdministrationAssessmentAdminstrationPeriod : ISynchronizable, IMappable, IHasExtensions, IGetByExample + public interface IAssessmentAdministrationAssessmentBatteryPart : ISynchronizable, IMappable, IHasExtensions, IGetByExample { // Primary Key properties IAssessmentAdministration AssessmentAdministration { get; set; } - DateTime BeginDate { get; set; } + string AssessmentBatteryPartName { get; set; } // Non-PK properties - DateTime? EndDate { get; set; } // One-to-one relationships // Lists // Resource reference data + Guid? AssessmentBatteryPartResourceId { get; set; } + string AssessmentBatteryPartDiscriminator { get; set; } } /// /// Defines a mapping contract appropriate for a particular context when data is either being mapped or synchronized /// between entities/resources during API request processing. /// - public class AssessmentAdministrationAssessmentAdminstrationPeriodMappingContract : IMappingContract, IExtensionsMappingContract + public class AssessmentAdministrationAssessmentBatteryPartMappingContract : IMappingContract, IExtensionsMappingContract { - public AssessmentAdministrationAssessmentAdminstrationPeriodMappingContract( - bool isEndDateSupported, + public AssessmentAdministrationAssessmentBatteryPartMappingContract( + bool isAssessmentBatteryPartReferenceSupported, IReadOnlyList supportedExtensions ) { - IsEndDateSupported = isEndDateSupported; + IsAssessmentBatteryPartReferenceSupported = isAssessmentBatteryPartReferenceSupported; SupportedExtensions = supportedExtensions; } - public bool IsEndDateSupported { get; } + public bool IsAssessmentBatteryPartReferenceSupported { get; } bool IMappingContract.IsMemberSupported(string memberName) { switch (memberName) { - case "EndDate": - return IsEndDateSupported; + case "AssessmentBatteryPartReference": + return IsAssessmentBatteryPartReferenceSupported; // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation - case "BeginDate": + case "AssessmentBatteryPartName": return true; default: throw new Exception($"Unknown member '{memberName}'."); @@ -1545,51 +1546,239 @@ public bool IsExtensionSupported(string name) } /// - /// Defines available properties and methods for the abstraction of the AssessmentAdministrationAssessmentBatteryPart model. + /// Defines available properties and methods for the abstraction of the AssessmentAdministrationParticipation model. /// - public interface IAssessmentAdministrationAssessmentBatteryPart : ISynchronizable, IMappable, IHasExtensions, IGetByExample + public interface IAssessmentAdministrationParticipation : ISynchronizable, IMappable, IHasExtensions, IHasIdentifier, IGetByExample + { + // Primary Key properties + + string AdministrationIdentifier { get; set; } + + string AssessmentIdentifier { get; set; } + + long AssigningEducationOrganizationId { get; set; } + + string Namespace { get; set; } + + long ParticipatingEducationOrganizationId { get; set; } + + // Non-PK properties + + // One-to-one relationships + + // Lists + ICollection AssessmentAdministrationParticipationAdministrationPointOfContacts { get; set; } + + // Resource reference data + Guid? AssessmentAdministrationResourceId { get; set; } + string AssessmentAdministrationDiscriminator { get; set; } + Guid? ParticipatingEducationOrganizationResourceId { get; set; } + string ParticipatingEducationOrganizationDiscriminator { get; set; } + } + + /// + /// Defines a mapping contract appropriate for a particular context when data is either being mapped or synchronized + /// between entities/resources during API request processing. + /// + public class AssessmentAdministrationParticipationMappingContract : IMappingContract, IExtensionsMappingContract + { + public AssessmentAdministrationParticipationMappingContract( + bool isAssessmentAdministrationParticipationAdministrationPointOfContactsSupported, + bool isAssessmentAdministrationReferenceSupported, + bool isParticipatingEducationOrganizationReferenceSupported, + bool isAssessmentAdministrationParticipationAdministrationPointOfContactsItemCreatable, + Func isAssessmentAdministrationParticipationAdministrationPointOfContactIncluded, + IReadOnlyList supportedExtensions + ) + { + IsAssessmentAdministrationParticipationAdministrationPointOfContactsSupported = isAssessmentAdministrationParticipationAdministrationPointOfContactsSupported; + IsAssessmentAdministrationReferenceSupported = isAssessmentAdministrationReferenceSupported; + IsParticipatingEducationOrganizationReferenceSupported = isParticipatingEducationOrganizationReferenceSupported; + IsAssessmentAdministrationParticipationAdministrationPointOfContactsItemCreatable = isAssessmentAdministrationParticipationAdministrationPointOfContactsItemCreatable; + IsAssessmentAdministrationParticipationAdministrationPointOfContactIncluded = isAssessmentAdministrationParticipationAdministrationPointOfContactIncluded; + SupportedExtensions = supportedExtensions; + } + + public bool IsAssessmentAdministrationParticipationAdministrationPointOfContactsSupported { get; } + public bool IsAssessmentAdministrationReferenceSupported { get; } + public bool IsParticipatingEducationOrganizationReferenceSupported { get; } + public bool IsAssessmentAdministrationParticipationAdministrationPointOfContactsItemCreatable { get; } + public Func IsAssessmentAdministrationParticipationAdministrationPointOfContactIncluded { get; } + + bool IMappingContract.IsMemberSupported(string memberName) + { + switch (memberName) + { + case "AssessmentAdministrationParticipationAdministrationPointOfContacts": + return IsAssessmentAdministrationParticipationAdministrationPointOfContactsSupported; + case "AssessmentAdministrationReference": + return IsAssessmentAdministrationReferenceSupported; + case "ParticipatingEducationOrganizationReference": + return IsParticipatingEducationOrganizationReferenceSupported; + // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation + case "AdministrationIdentifier": + return true; + case "AssessmentIdentifier": + return true; + case "AssigningEducationOrganizationId": + return true; + case "Namespace": + return true; + case "ParticipatingEducationOrganizationId": + return true; + default: + throw new Exception($"Unknown member '{memberName}'."); + } + } + + bool IMappingContract.IsItemCreatable(string memberName) + { + switch (memberName) + { + case "AssessmentAdministrationParticipationAdministrationPointOfContacts": + return IsAssessmentAdministrationParticipationAdministrationPointOfContactsItemCreatable; + default: + throw new Exception($"Unknown child item '{memberName}'."); + } + } + + public IReadOnlyList SupportedExtensions { get; } + + public bool IsExtensionSupported(string name) + { + return SupportedExtensions.Contains(name); + } + } + + /// + /// Defines available properties and methods for the abstraction of the AssessmentAdministrationParticipationAdministrationPointOfContact model. + /// + public interface IAssessmentAdministrationParticipationAdministrationPointOfContact : ISynchronizable, IMappable, IHasExtensions, IGetByExample + { + // Primary Key properties + IAssessmentAdministrationParticipation AssessmentAdministrationParticipation { get; set; } + + long EducationOrganizationId { get; set; } + + string ElectronicMailAddress { get; set; } + + // Non-PK properties + string FirstName { get; set; } + string LastSurname { get; set; } + string LoginId { get; set; } + + // One-to-one relationships + + // Lists + + // Resource reference data + Guid? EducationOrganizationResourceId { get; set; } + string EducationOrganizationDiscriminator { get; set; } + } + + /// + /// Defines a mapping contract appropriate for a particular context when data is either being mapped or synchronized + /// between entities/resources during API request processing. + /// + public class AssessmentAdministrationParticipationAdministrationPointOfContactMappingContract : IMappingContract, IExtensionsMappingContract + { + public AssessmentAdministrationParticipationAdministrationPointOfContactMappingContract( + bool isEducationOrganizationReferenceSupported, + bool isFirstNameSupported, + bool isLastSurnameSupported, + bool isLoginIdSupported, + IReadOnlyList supportedExtensions + ) + { + IsEducationOrganizationReferenceSupported = isEducationOrganizationReferenceSupported; + IsFirstNameSupported = isFirstNameSupported; + IsLastSurnameSupported = isLastSurnameSupported; + IsLoginIdSupported = isLoginIdSupported; + SupportedExtensions = supportedExtensions; + } + + public bool IsEducationOrganizationReferenceSupported { get; } + public bool IsFirstNameSupported { get; } + public bool IsLastSurnameSupported { get; } + public bool IsLoginIdSupported { get; } + + bool IMappingContract.IsMemberSupported(string memberName) + { + switch (memberName) + { + case "EducationOrganizationReference": + return IsEducationOrganizationReferenceSupported; + case "FirstName": + return IsFirstNameSupported; + case "LastSurname": + return IsLastSurnameSupported; + case "LoginId": + return IsLoginIdSupported; + // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation + case "EducationOrganizationId": + return true; + case "ElectronicMailAddress": + return true; + default: + throw new Exception($"Unknown member '{memberName}'."); + } + } + + bool IMappingContract.IsItemCreatable(string memberName) => throw new Exception($"Unknown child item member '{memberName}'."); + + public IReadOnlyList SupportedExtensions { get; } + + public bool IsExtensionSupported(string name) + { + return SupportedExtensions.Contains(name); + } + } + + /// + /// Defines available properties and methods for the abstraction of the AssessmentAdministrationPeriod model. + /// + public interface IAssessmentAdministrationPeriod : ISynchronizable, IMappable, IHasExtensions, IGetByExample { // Primary Key properties IAssessmentAdministration AssessmentAdministration { get; set; } - string AssessmentBatteryPartName { get; set; } + DateTime BeginDate { get; set; } // Non-PK properties + DateTime? EndDate { get; set; } // One-to-one relationships // Lists // Resource reference data - Guid? AssessmentBatteryPartResourceId { get; set; } - string AssessmentBatteryPartDiscriminator { get; set; } } /// /// Defines a mapping contract appropriate for a particular context when data is either being mapped or synchronized /// between entities/resources during API request processing. /// - public class AssessmentAdministrationAssessmentBatteryPartMappingContract : IMappingContract, IExtensionsMappingContract + public class AssessmentAdministrationPeriodMappingContract : IMappingContract, IExtensionsMappingContract { - public AssessmentAdministrationAssessmentBatteryPartMappingContract( - bool isAssessmentBatteryPartReferenceSupported, + public AssessmentAdministrationPeriodMappingContract( + bool isEndDateSupported, IReadOnlyList supportedExtensions ) { - IsAssessmentBatteryPartReferenceSupported = isAssessmentBatteryPartReferenceSupported; + IsEndDateSupported = isEndDateSupported; SupportedExtensions = supportedExtensions; } - public bool IsAssessmentBatteryPartReferenceSupported { get; } + public bool IsEndDateSupported { get; } bool IMappingContract.IsMemberSupported(string memberName) { switch (memberName) { - case "AssessmentBatteryPartReference": - return IsAssessmentBatteryPartReferenceSupported; + case "EndDate": + return IsEndDateSupported; // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation - case "AssessmentBatteryPartName": + case "BeginDate": return true; default: throw new Exception($"Unknown member '{memberName}'."); @@ -3457,195 +3646,6 @@ public bool IsExtensionSupported(string name) } } - /// - /// Defines available properties and methods for the abstraction of the AssesssmentAdministrationParticipation model. - /// - public interface IAssesssmentAdministrationParticipation : ISynchronizable, IMappable, IHasExtensions, IHasIdentifier, IGetByExample - { - // Primary Key properties - - string AdministrationIdentifier { get; set; } - - string AssessmentIdentifier { get; set; } - - long AssigningEducationOrganizationId { get; set; } - - string Namespace { get; set; } - - long ParticipatingEducationOrganizationId { get; set; } - - // Non-PK properties - - // One-to-one relationships - - // Lists - ICollection AssesssmentAdministrationParticipationAdministrationPointOfContacts { get; set; } - - // Resource reference data - Guid? AssessmentAdministrationResourceId { get; set; } - string AssessmentAdministrationDiscriminator { get; set; } - Guid? ParticipatingEducationOrganizationResourceId { get; set; } - string ParticipatingEducationOrganizationDiscriminator { get; set; } - } - - /// - /// Defines a mapping contract appropriate for a particular context when data is either being mapped or synchronized - /// between entities/resources during API request processing. - /// - public class AssesssmentAdministrationParticipationMappingContract : IMappingContract, IExtensionsMappingContract - { - public AssesssmentAdministrationParticipationMappingContract( - bool isAssessmentAdministrationReferenceSupported, - bool isAssesssmentAdministrationParticipationAdministrationPointOfContactsSupported, - bool isParticipatingEducationOrganizationReferenceSupported, - bool isAssesssmentAdministrationParticipationAdministrationPointOfContactsItemCreatable, - Func isAssesssmentAdministrationParticipationAdministrationPointOfContactIncluded, - IReadOnlyList supportedExtensions - ) - { - IsAssessmentAdministrationReferenceSupported = isAssessmentAdministrationReferenceSupported; - IsAssesssmentAdministrationParticipationAdministrationPointOfContactsSupported = isAssesssmentAdministrationParticipationAdministrationPointOfContactsSupported; - IsParticipatingEducationOrganizationReferenceSupported = isParticipatingEducationOrganizationReferenceSupported; - IsAssesssmentAdministrationParticipationAdministrationPointOfContactsItemCreatable = isAssesssmentAdministrationParticipationAdministrationPointOfContactsItemCreatable; - IsAssesssmentAdministrationParticipationAdministrationPointOfContactIncluded = isAssesssmentAdministrationParticipationAdministrationPointOfContactIncluded; - SupportedExtensions = supportedExtensions; - } - - public bool IsAssessmentAdministrationReferenceSupported { get; } - public bool IsAssesssmentAdministrationParticipationAdministrationPointOfContactsSupported { get; } - public bool IsParticipatingEducationOrganizationReferenceSupported { get; } - public bool IsAssesssmentAdministrationParticipationAdministrationPointOfContactsItemCreatable { get; } - public Func IsAssesssmentAdministrationParticipationAdministrationPointOfContactIncluded { get; } - - bool IMappingContract.IsMemberSupported(string memberName) - { - switch (memberName) - { - case "AssessmentAdministrationReference": - return IsAssessmentAdministrationReferenceSupported; - case "AssesssmentAdministrationParticipationAdministrationPointOfContacts": - return IsAssesssmentAdministrationParticipationAdministrationPointOfContactsSupported; - case "ParticipatingEducationOrganizationReference": - return IsParticipatingEducationOrganizationReferenceSupported; - // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation - case "AdministrationIdentifier": - return true; - case "AssessmentIdentifier": - return true; - case "AssigningEducationOrganizationId": - return true; - case "Namespace": - return true; - case "ParticipatingEducationOrganizationId": - return true; - default: - throw new Exception($"Unknown member '{memberName}'."); - } - } - - bool IMappingContract.IsItemCreatable(string memberName) - { - switch (memberName) - { - case "AssesssmentAdministrationParticipationAdministrationPointOfContacts": - return IsAssesssmentAdministrationParticipationAdministrationPointOfContactsItemCreatable; - default: - throw new Exception($"Unknown child item '{memberName}'."); - } - } - - public IReadOnlyList SupportedExtensions { get; } - - public bool IsExtensionSupported(string name) - { - return SupportedExtensions.Contains(name); - } - } - - /// - /// Defines available properties and methods for the abstraction of the AssesssmentAdministrationParticipationAdministrationPointOfContact model. - /// - public interface IAssesssmentAdministrationParticipationAdministrationPointOfContact : ISynchronizable, IMappable, IHasExtensions, IGetByExample - { - // Primary Key properties - IAssesssmentAdministrationParticipation AssesssmentAdministrationParticipation { get; set; } - - long EducationOrganizationId { get; set; } - - string ElectronicMailAddress { get; set; } - - // Non-PK properties - string FirstName { get; set; } - string LastSurname { get; set; } - string LoginId { get; set; } - - // One-to-one relationships - - // Lists - - // Resource reference data - Guid? EducationOrganizationResourceId { get; set; } - string EducationOrganizationDiscriminator { get; set; } - } - - /// - /// Defines a mapping contract appropriate for a particular context when data is either being mapped or synchronized - /// between entities/resources during API request processing. - /// - public class AssesssmentAdministrationParticipationAdministrationPointOfContactMappingContract : IMappingContract, IExtensionsMappingContract - { - public AssesssmentAdministrationParticipationAdministrationPointOfContactMappingContract( - bool isEducationOrganizationReferenceSupported, - bool isFirstNameSupported, - bool isLastSurnameSupported, - bool isLoginIdSupported, - IReadOnlyList supportedExtensions - ) - { - IsEducationOrganizationReferenceSupported = isEducationOrganizationReferenceSupported; - IsFirstNameSupported = isFirstNameSupported; - IsLastSurnameSupported = isLastSurnameSupported; - IsLoginIdSupported = isLoginIdSupported; - SupportedExtensions = supportedExtensions; - } - - public bool IsEducationOrganizationReferenceSupported { get; } - public bool IsFirstNameSupported { get; } - public bool IsLastSurnameSupported { get; } - public bool IsLoginIdSupported { get; } - - bool IMappingContract.IsMemberSupported(string memberName) - { - switch (memberName) - { - case "EducationOrganizationReference": - return IsEducationOrganizationReferenceSupported; - case "FirstName": - return IsFirstNameSupported; - case "LastSurname": - return IsLastSurnameSupported; - case "LoginId": - return IsLoginIdSupported; - // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation - case "EducationOrganizationId": - return true; - case "ElectronicMailAddress": - return true; - default: - throw new Exception($"Unknown member '{memberName}'."); - } - } - - bool IMappingContract.IsItemCreatable(string memberName) => throw new Exception($"Unknown child item member '{memberName}'."); - - public IReadOnlyList SupportedExtensions { get; } - - public bool IsExtensionSupported(string name) - { - return SupportedExtensions.Contains(name); - } - } - /// /// Defines available properties and methods for the abstraction of the AssignmentLateStatusDescriptor model. /// @@ -13118,6 +13118,158 @@ bool IMappingContract.IsMemberSupported(string memberName) } + /// + /// Defines available properties and methods for the abstraction of the DualCreditInstitutionDescriptor model. + /// + public interface IDualCreditInstitutionDescriptor : EdFi.IDescriptor, ISynchronizable, IMappable, IHasIdentifier, IGetByExample + { + // Primary Key properties + [AutoIncrement] + int DualCreditInstitutionDescriptorId { get; set; } + + // Non-PK properties + + // One-to-one relationships + + // Lists + + // Resource reference data + } + + /// + /// Defines a mapping contract appropriate for a particular context when data is either being mapped or synchronized + /// between entities/resources during API request processing. + /// + public class DualCreditInstitutionDescriptorMappingContract : IMappingContract + { + public DualCreditInstitutionDescriptorMappingContract( + bool isCodeValueSupported, + bool isDescriptionSupported, + bool isEffectiveBeginDateSupported, + bool isEffectiveEndDateSupported, + bool isNamespaceSupported, + bool isShortDescriptionSupported + ) + { + IsCodeValueSupported = isCodeValueSupported; + IsDescriptionSupported = isDescriptionSupported; + IsEffectiveBeginDateSupported = isEffectiveBeginDateSupported; + IsEffectiveEndDateSupported = isEffectiveEndDateSupported; + IsNamespaceSupported = isNamespaceSupported; + IsShortDescriptionSupported = isShortDescriptionSupported; + } + + public bool IsCodeValueSupported { get; } + public bool IsDescriptionSupported { get; } + public bool IsEffectiveBeginDateSupported { get; } + public bool IsEffectiveEndDateSupported { get; } + public bool IsNamespaceSupported { get; } + public bool IsShortDescriptionSupported { get; } + + bool IMappingContract.IsMemberSupported(string memberName) + { + switch (memberName) + { + case "CodeValue": + return IsCodeValueSupported; + case "Description": + return IsDescriptionSupported; + case "EffectiveBeginDate": + return IsEffectiveBeginDateSupported; + case "EffectiveEndDate": + return IsEffectiveEndDateSupported; + case "Namespace": + return IsNamespaceSupported; + case "ShortDescription": + return IsShortDescriptionSupported; + // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation + case "DualCreditInstitutionDescriptorId": + return true; + default: + throw new Exception($"Unknown member '{memberName}'."); + } + } + + bool IMappingContract.IsItemCreatable(string memberName) => throw new Exception($"Unknown child item member '{memberName}'."); + + } + + /// + /// Defines available properties and methods for the abstraction of the DualCreditTypeDescriptor model. + /// + public interface IDualCreditTypeDescriptor : EdFi.IDescriptor, ISynchronizable, IMappable, IHasIdentifier, IGetByExample + { + // Primary Key properties + [AutoIncrement] + int DualCreditTypeDescriptorId { get; set; } + + // Non-PK properties + + // One-to-one relationships + + // Lists + + // Resource reference data + } + + /// + /// Defines a mapping contract appropriate for a particular context when data is either being mapped or synchronized + /// between entities/resources during API request processing. + /// + public class DualCreditTypeDescriptorMappingContract : IMappingContract + { + public DualCreditTypeDescriptorMappingContract( + bool isCodeValueSupported, + bool isDescriptionSupported, + bool isEffectiveBeginDateSupported, + bool isEffectiveEndDateSupported, + bool isNamespaceSupported, + bool isShortDescriptionSupported + ) + { + IsCodeValueSupported = isCodeValueSupported; + IsDescriptionSupported = isDescriptionSupported; + IsEffectiveBeginDateSupported = isEffectiveBeginDateSupported; + IsEffectiveEndDateSupported = isEffectiveEndDateSupported; + IsNamespaceSupported = isNamespaceSupported; + IsShortDescriptionSupported = isShortDescriptionSupported; + } + + public bool IsCodeValueSupported { get; } + public bool IsDescriptionSupported { get; } + public bool IsEffectiveBeginDateSupported { get; } + public bool IsEffectiveEndDateSupported { get; } + public bool IsNamespaceSupported { get; } + public bool IsShortDescriptionSupported { get; } + + bool IMappingContract.IsMemberSupported(string memberName) + { + switch (memberName) + { + case "CodeValue": + return IsCodeValueSupported; + case "Description": + return IsDescriptionSupported; + case "EffectiveBeginDate": + return IsEffectiveBeginDateSupported; + case "EffectiveEndDate": + return IsEffectiveEndDateSupported; + case "Namespace": + return IsNamespaceSupported; + case "ShortDescription": + return IsShortDescriptionSupported; + // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation + case "DualCreditTypeDescriptorId": + return true; + default: + throw new Exception($"Unknown member '{memberName}'."); + } + } + + bool IMappingContract.IsItemCreatable(string memberName) => throw new Exception($"Unknown child item member '{memberName}'."); + + } + /// /// Defines available properties and methods for the abstraction of the EducationalEnvironmentDescriptor model. /// @@ -33423,13 +33575,13 @@ public bool IsExtensionSupported(string name) } /// - /// Defines available properties and methods for the abstraction of the Section504DisabilityTypeDescriptor model. + /// Defines available properties and methods for the abstraction of the Section504DisabilityDescriptor model. /// - public interface ISection504DisabilityTypeDescriptor : EdFi.IDescriptor, ISynchronizable, IMappable, IHasIdentifier, IGetByExample + public interface ISection504DisabilityDescriptor : EdFi.IDescriptor, ISynchronizable, IMappable, IHasIdentifier, IGetByExample { // Primary Key properties [AutoIncrement] - int Section504DisabilityTypeDescriptorId { get; set; } + int Section504DisabilityDescriptorId { get; set; } // Non-PK properties @@ -33444,9 +33596,9 @@ public interface ISection504DisabilityTypeDescriptor : EdFi.IDescriptor, ISynchr /// Defines a mapping contract appropriate for a particular context when data is either being mapped or synchronized /// between entities/resources during API request processing. /// - public class Section504DisabilityTypeDescriptorMappingContract : IMappingContract + public class Section504DisabilityDescriptorMappingContract : IMappingContract { - public Section504DisabilityTypeDescriptorMappingContract( + public Section504DisabilityDescriptorMappingContract( bool isCodeValueSupported, bool isDescriptionSupported, bool isEffectiveBeginDateSupported, @@ -33487,7 +33639,7 @@ bool IMappingContract.IsMemberSupported(string memberName) case "ShortDescription": return IsShortDescriptionSupported; // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation - case "Section504DisabilityTypeDescriptorId": + case "Section504DisabilityDescriptorId": return true; default: throw new Exception($"Unknown member '{memberName}'."); @@ -40803,6 +40955,8 @@ public interface IStudentAssessmentRegistration : ISynchronizable, IMappable, IH DateTime EntryDate { get; set; } string PlatformTypeDescriptor { get; set; } long? ReportingEducationOrganizationId { get; set; } + long? ScheduledEducationOrganizationId { get; set; } + string ScheduledStudentUniqueId { get; set; } long SchoolId { get; set; } long? TestingEducationOrganizationId { get; set; } @@ -40817,8 +40971,8 @@ public interface IStudentAssessmentRegistration : ISynchronizable, IMappable, IH string AssessmentAdministrationDiscriminator { get; set; } Guid? ReportingEducationOrganizationResourceId { get; set; } string ReportingEducationOrganizationDiscriminator { get; set; } - Guid? StudentEducationOrganizationAssessmentAccommodationResourceId { get; set; } - string StudentEducationOrganizationAssessmentAccommodationDiscriminator { get; set; } + Guid? ScheduledStudentEducationOrganizationAssessmentAccommodationResourceId { get; set; } + string ScheduledStudentEducationOrganizationAssessmentAccommodationDiscriminator { get; set; } Guid? StudentEducationOrganizationAssociationResourceId { get; set; } string StudentEducationOrganizationAssociationDiscriminator { get; set; } Guid? StudentSchoolAssociationResourceId { get; set; } @@ -40840,10 +40994,12 @@ public StudentAssessmentRegistrationMappingContract( bool isPlatformTypeDescriptorSupported, bool isReportingEducationOrganizationIdSupported, bool isReportingEducationOrganizationReferenceSupported, + bool isScheduledEducationOrganizationIdSupported, + bool isScheduledStudentEducationOrganizationAssessmentAccommodationReferenceSupported, + bool isScheduledStudentUniqueIdSupported, bool isSchoolIdSupported, bool isStudentAssessmentRegistrationAssessmentAccommodationsSupported, bool isStudentAssessmentRegistrationAssessmentCustomizationsSupported, - bool isStudentEducationOrganizationAssessmentAccommodationReferenceSupported, bool isStudentEducationOrganizationAssociationReferenceSupported, bool isStudentSchoolAssociationReferenceSupported, bool isTestingEducationOrganizationIdSupported, @@ -40861,10 +41017,12 @@ IReadOnlyList supportedExtensions IsPlatformTypeDescriptorSupported = isPlatformTypeDescriptorSupported; IsReportingEducationOrganizationIdSupported = isReportingEducationOrganizationIdSupported; IsReportingEducationOrganizationReferenceSupported = isReportingEducationOrganizationReferenceSupported; + IsScheduledEducationOrganizationIdSupported = isScheduledEducationOrganizationIdSupported; + IsScheduledStudentEducationOrganizationAssessmentAccommodationReferenceSupported = isScheduledStudentEducationOrganizationAssessmentAccommodationReferenceSupported; + IsScheduledStudentUniqueIdSupported = isScheduledStudentUniqueIdSupported; IsSchoolIdSupported = isSchoolIdSupported; IsStudentAssessmentRegistrationAssessmentAccommodationsSupported = isStudentAssessmentRegistrationAssessmentAccommodationsSupported; IsStudentAssessmentRegistrationAssessmentCustomizationsSupported = isStudentAssessmentRegistrationAssessmentCustomizationsSupported; - IsStudentEducationOrganizationAssessmentAccommodationReferenceSupported = isStudentEducationOrganizationAssessmentAccommodationReferenceSupported; IsStudentEducationOrganizationAssociationReferenceSupported = isStudentEducationOrganizationAssociationReferenceSupported; IsStudentSchoolAssociationReferenceSupported = isStudentSchoolAssociationReferenceSupported; IsTestingEducationOrganizationIdSupported = isTestingEducationOrganizationIdSupported; @@ -40882,10 +41040,12 @@ IReadOnlyList supportedExtensions public bool IsPlatformTypeDescriptorSupported { get; } public bool IsReportingEducationOrganizationIdSupported { get; } public bool IsReportingEducationOrganizationReferenceSupported { get; } + public bool IsScheduledEducationOrganizationIdSupported { get; } + public bool IsScheduledStudentEducationOrganizationAssessmentAccommodationReferenceSupported { get; } + public bool IsScheduledStudentUniqueIdSupported { get; } public bool IsSchoolIdSupported { get; } public bool IsStudentAssessmentRegistrationAssessmentAccommodationsSupported { get; } public bool IsStudentAssessmentRegistrationAssessmentCustomizationsSupported { get; } - public bool IsStudentEducationOrganizationAssessmentAccommodationReferenceSupported { get; } public bool IsStudentEducationOrganizationAssociationReferenceSupported { get; } public bool IsStudentSchoolAssociationReferenceSupported { get; } public bool IsTestingEducationOrganizationIdSupported { get; } @@ -40911,14 +41071,18 @@ bool IMappingContract.IsMemberSupported(string memberName) return IsReportingEducationOrganizationIdSupported; case "ReportingEducationOrganizationReference": return IsReportingEducationOrganizationReferenceSupported; + case "ScheduledEducationOrganizationId": + return IsScheduledEducationOrganizationIdSupported; + case "ScheduledStudentEducationOrganizationAssessmentAccommodationReference": + return IsScheduledStudentEducationOrganizationAssessmentAccommodationReferenceSupported; + case "ScheduledStudentUniqueId": + return IsScheduledStudentUniqueIdSupported; case "SchoolId": return IsSchoolIdSupported; case "StudentAssessmentRegistrationAssessmentAccommodations": return IsStudentAssessmentRegistrationAssessmentAccommodationsSupported; case "StudentAssessmentRegistrationAssessmentCustomizations": return IsStudentAssessmentRegistrationAssessmentCustomizationsSupported; - case "StudentEducationOrganizationAssessmentAccommodationReference": - return IsStudentEducationOrganizationAssessmentAccommodationReferenceSupported; case "StudentEducationOrganizationAssociationReference": return IsStudentEducationOrganizationAssociationReferenceSupported; case "StudentSchoolAssociationReference": @@ -42494,6 +42658,7 @@ public interface IStudentDisciplineIncidentBehaviorAssociation : ISynchronizable // Lists ICollection StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodes { get; set; } + ICollection StudentDisciplineIncidentBehaviorAssociationWeapons { get; set; } // Resource reference data Guid? DisciplineIncidentResourceId { get; set; } @@ -42512,27 +42677,36 @@ public StudentDisciplineIncidentBehaviorAssociationMappingContract( bool isBehaviorDetailedDescriptionSupported, bool isDisciplineIncidentReferenceSupported, bool isStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesSupported, + bool isStudentDisciplineIncidentBehaviorAssociationWeaponsSupported, bool isStudentReferenceSupported, bool isStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesItemCreatable, Func isStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodeIncluded, + bool isStudentDisciplineIncidentBehaviorAssociationWeaponsItemCreatable, + Func isStudentDisciplineIncidentBehaviorAssociationWeaponIncluded, IReadOnlyList supportedExtensions ) { IsBehaviorDetailedDescriptionSupported = isBehaviorDetailedDescriptionSupported; IsDisciplineIncidentReferenceSupported = isDisciplineIncidentReferenceSupported; IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesSupported = isStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesSupported; + IsStudentDisciplineIncidentBehaviorAssociationWeaponsSupported = isStudentDisciplineIncidentBehaviorAssociationWeaponsSupported; IsStudentReferenceSupported = isStudentReferenceSupported; IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesItemCreatable = isStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesItemCreatable; IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodeIncluded = isStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodeIncluded; + IsStudentDisciplineIncidentBehaviorAssociationWeaponsItemCreatable = isStudentDisciplineIncidentBehaviorAssociationWeaponsItemCreatable; + IsStudentDisciplineIncidentBehaviorAssociationWeaponIncluded = isStudentDisciplineIncidentBehaviorAssociationWeaponIncluded; SupportedExtensions = supportedExtensions; } public bool IsBehaviorDetailedDescriptionSupported { get; } public bool IsDisciplineIncidentReferenceSupported { get; } public bool IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesSupported { get; } + public bool IsStudentDisciplineIncidentBehaviorAssociationWeaponsSupported { get; } public bool IsStudentReferenceSupported { get; } public bool IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesItemCreatable { get; } public Func IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodeIncluded { get; } + public bool IsStudentDisciplineIncidentBehaviorAssociationWeaponsItemCreatable { get; } + public Func IsStudentDisciplineIncidentBehaviorAssociationWeaponIncluded { get; } bool IMappingContract.IsMemberSupported(string memberName) { @@ -42544,6 +42718,8 @@ bool IMappingContract.IsMemberSupported(string memberName) return IsDisciplineIncidentReferenceSupported; case "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodes": return IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesSupported; + case "StudentDisciplineIncidentBehaviorAssociationWeapons": + return IsStudentDisciplineIncidentBehaviorAssociationWeaponsSupported; case "StudentReference": return IsStudentReferenceSupported; // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation @@ -42566,6 +42742,8 @@ bool IMappingContract.IsItemCreatable(string memberName) { case "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodes": return IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesItemCreatable; + case "StudentDisciplineIncidentBehaviorAssociationWeapons": + return IsStudentDisciplineIncidentBehaviorAssociationWeaponsItemCreatable; default: throw new Exception($"Unknown child item '{memberName}'."); } @@ -42634,6 +42812,61 @@ public bool IsExtensionSupported(string name) } } + /// + /// Defines available properties and methods for the abstraction of the StudentDisciplineIncidentBehaviorAssociationWeapon model. + /// + public interface IStudentDisciplineIncidentBehaviorAssociationWeapon : ISynchronizable, IMappable, IHasExtensions, IGetByExample + { + // Primary Key properties + IStudentDisciplineIncidentBehaviorAssociation StudentDisciplineIncidentBehaviorAssociation { get; set; } + + string WeaponDescriptor { get; set; } + + // Non-PK properties + + // One-to-one relationships + + // Lists + + // Resource reference data + } + + /// + /// Defines a mapping contract appropriate for a particular context when data is either being mapped or synchronized + /// between entities/resources during API request processing. + /// + public class StudentDisciplineIncidentBehaviorAssociationWeaponMappingContract : IMappingContract, IExtensionsMappingContract + { + public StudentDisciplineIncidentBehaviorAssociationWeaponMappingContract( + IReadOnlyList supportedExtensions + ) + { + SupportedExtensions = supportedExtensions; + } + + + bool IMappingContract.IsMemberSupported(string memberName) + { + switch (memberName) + { + // Additional inspection support for identifying properties (which are implicitly supported by Profiles) for use during validation + case "WeaponDescriptor": + return true; + default: + throw new Exception($"Unknown member '{memberName}'."); + } + } + + bool IMappingContract.IsItemCreatable(string memberName) => throw new Exception($"Unknown child item member '{memberName}'."); + + public IReadOnlyList SupportedExtensions { get; } + + public bool IsExtensionSupported(string name) + { + return SupportedExtensions.Contains(name); + } + } + /// /// Defines available properties and methods for the abstraction of the StudentDisciplineIncidentNonOffenderAssociation model. /// @@ -48453,7 +48686,7 @@ public interface IStudentSection504ProgramAssociation : EdFi.IGeneralStudentProg // Non-PK properties bool? AccommodationPlan { get; set; } - string Section504DisabilityTypeDescriptor { get; set; } + string Section504DisabilityDescriptor { get; set; } bool Section504Eligibility { get; set; } DateTime? Section504EligibilityDecisionDate { get; set; } DateTime? Section504MeetingDate { get; set; } @@ -48478,7 +48711,7 @@ public StudentSection504ProgramAssociationMappingContract( bool isGeneralStudentProgramAssociationProgramParticipationStatusesSupported, bool isProgramReferenceSupported, bool isReasonExitedDescriptorSupported, - bool isSection504DisabilityTypeDescriptorSupported, + bool isSection504DisabilityDescriptorSupported, bool isSection504EligibilitySupported, bool isSection504EligibilityDecisionDateSupported, bool isSection504MeetingDateSupported, @@ -48495,7 +48728,7 @@ IReadOnlyList supportedExtensions IsGeneralStudentProgramAssociationProgramParticipationStatusesSupported = isGeneralStudentProgramAssociationProgramParticipationStatusesSupported; IsProgramReferenceSupported = isProgramReferenceSupported; IsReasonExitedDescriptorSupported = isReasonExitedDescriptorSupported; - IsSection504DisabilityTypeDescriptorSupported = isSection504DisabilityTypeDescriptorSupported; + IsSection504DisabilityDescriptorSupported = isSection504DisabilityDescriptorSupported; IsSection504EligibilitySupported = isSection504EligibilitySupported; IsSection504EligibilityDecisionDateSupported = isSection504EligibilityDecisionDateSupported; IsSection504MeetingDateSupported = isSection504MeetingDateSupported; @@ -48512,7 +48745,7 @@ IReadOnlyList supportedExtensions public bool IsGeneralStudentProgramAssociationProgramParticipationStatusesSupported { get; } public bool IsProgramReferenceSupported { get; } public bool IsReasonExitedDescriptorSupported { get; } - public bool IsSection504DisabilityTypeDescriptorSupported { get; } + public bool IsSection504DisabilityDescriptorSupported { get; } public bool IsSection504EligibilitySupported { get; } public bool IsSection504EligibilityDecisionDateSupported { get; } public bool IsSection504MeetingDateSupported { get; } @@ -48537,8 +48770,8 @@ bool IMappingContract.IsMemberSupported(string memberName) return IsProgramReferenceSupported; case "ReasonExitedDescriptor": return IsReasonExitedDescriptorSupported; - case "Section504DisabilityTypeDescriptor": - return IsSection504DisabilityTypeDescriptorSupported; + case "Section504DisabilityDescriptor": + return IsSection504DisabilityDescriptorSupported; case "Section504Eligibility": return IsSection504EligibilitySupported; case "Section504EligibilityDecisionDate": @@ -48609,6 +48842,11 @@ public interface IStudentSectionAssociation : ISynchronizable, IMappable, IHasEx // Non-PK properties string AttemptStatusDescriptor { get; set; } + long? DualCreditEducationOrganizationId { get; set; } + bool? DualCreditIndicator { get; set; } + string DualCreditInstitutionDescriptor { get; set; } + string DualCreditTypeDescriptor { get; set; } + bool? DualHighSchoolCreditIndicator { get; set; } DateTime? EndDate { get; set; } bool? HomeroomIndicator { get; set; } string RepeatIdentifierDescriptor { get; set; } @@ -48620,6 +48858,8 @@ public interface IStudentSectionAssociation : ISynchronizable, IMappable, IHasEx ICollection StudentSectionAssociationPrograms { get; set; } // Resource reference data + Guid? DualCreditEducationOrganizationResourceId { get; set; } + string DualCreditEducationOrganizationDiscriminator { get; set; } Guid? SectionResourceId { get; set; } string SectionDiscriminator { get; set; } Guid? StudentResourceId { get; set; } @@ -48634,6 +48874,12 @@ public class StudentSectionAssociationMappingContract : IMappingContract, IExten { public StudentSectionAssociationMappingContract( bool isAttemptStatusDescriptorSupported, + bool isDualCreditEducationOrganizationIdSupported, + bool isDualCreditEducationOrganizationReferenceSupported, + bool isDualCreditIndicatorSupported, + bool isDualCreditInstitutionDescriptorSupported, + bool isDualCreditTypeDescriptorSupported, + bool isDualHighSchoolCreditIndicatorSupported, bool isEndDateSupported, bool isHomeroomIndicatorSupported, bool isRepeatIdentifierDescriptorSupported, @@ -48647,6 +48893,12 @@ IReadOnlyList supportedExtensions ) { IsAttemptStatusDescriptorSupported = isAttemptStatusDescriptorSupported; + IsDualCreditEducationOrganizationIdSupported = isDualCreditEducationOrganizationIdSupported; + IsDualCreditEducationOrganizationReferenceSupported = isDualCreditEducationOrganizationReferenceSupported; + IsDualCreditIndicatorSupported = isDualCreditIndicatorSupported; + IsDualCreditInstitutionDescriptorSupported = isDualCreditInstitutionDescriptorSupported; + IsDualCreditTypeDescriptorSupported = isDualCreditTypeDescriptorSupported; + IsDualHighSchoolCreditIndicatorSupported = isDualHighSchoolCreditIndicatorSupported; IsEndDateSupported = isEndDateSupported; IsHomeroomIndicatorSupported = isHomeroomIndicatorSupported; IsRepeatIdentifierDescriptorSupported = isRepeatIdentifierDescriptorSupported; @@ -48660,6 +48912,12 @@ IReadOnlyList supportedExtensions } public bool IsAttemptStatusDescriptorSupported { get; } + public bool IsDualCreditEducationOrganizationIdSupported { get; } + public bool IsDualCreditEducationOrganizationReferenceSupported { get; } + public bool IsDualCreditIndicatorSupported { get; } + public bool IsDualCreditInstitutionDescriptorSupported { get; } + public bool IsDualCreditTypeDescriptorSupported { get; } + public bool IsDualHighSchoolCreditIndicatorSupported { get; } public bool IsEndDateSupported { get; } public bool IsHomeroomIndicatorSupported { get; } public bool IsRepeatIdentifierDescriptorSupported { get; } @@ -48676,6 +48934,18 @@ bool IMappingContract.IsMemberSupported(string memberName) { case "AttemptStatusDescriptor": return IsAttemptStatusDescriptorSupported; + case "DualCreditEducationOrganizationId": + return IsDualCreditEducationOrganizationIdSupported; + case "DualCreditEducationOrganizationReference": + return IsDualCreditEducationOrganizationReferenceSupported; + case "DualCreditIndicator": + return IsDualCreditIndicatorSupported; + case "DualCreditInstitutionDescriptor": + return IsDualCreditInstitutionDescriptorSupported; + case "DualCreditTypeDescriptor": + return IsDualCreditTypeDescriptorSupported; + case "DualHighSchoolCreditIndicator": + return IsDualHighSchoolCreditIndicatorSupported; case "EndDate": return IsEndDateSupported; case "HomeroomIndicator": @@ -49029,7 +49299,9 @@ public interface IStudentSpecialEducationProgramAssociation : EdFi.IGeneralStude DateTime? LastEvaluationDate { get; set; } bool? MedicallyFragile { get; set; } bool? MultiplyDisabled { get; set; } + decimal? ReductionInHoursPerWeekComparedToPeers { get; set; } decimal? SchoolHoursPerWeek { get; set; } + bool? ShortenedSchoolDayIndicator { get; set; } DateTime? SpecialEducationExitDate { get; set; } string SpecialEducationExitExplained { get; set; } string SpecialEducationExitReasonDescriptor { get; set; } @@ -49065,8 +49337,10 @@ public StudentSpecialEducationProgramAssociationMappingContract( bool isMultiplyDisabledSupported, bool isProgramReferenceSupported, bool isReasonExitedDescriptorSupported, + bool isReductionInHoursPerWeekComparedToPeersSupported, bool isSchoolHoursPerWeekSupported, bool isServedOutsideOfRegularSessionSupported, + bool isShortenedSchoolDayIndicatorSupported, bool isSpecialEducationExitDateSupported, bool isSpecialEducationExitExplainedSupported, bool isSpecialEducationExitReasonDescriptorSupported, @@ -49099,8 +49373,10 @@ IReadOnlyList supportedExtensions IsMultiplyDisabledSupported = isMultiplyDisabledSupported; IsProgramReferenceSupported = isProgramReferenceSupported; IsReasonExitedDescriptorSupported = isReasonExitedDescriptorSupported; + IsReductionInHoursPerWeekComparedToPeersSupported = isReductionInHoursPerWeekComparedToPeersSupported; IsSchoolHoursPerWeekSupported = isSchoolHoursPerWeekSupported; IsServedOutsideOfRegularSessionSupported = isServedOutsideOfRegularSessionSupported; + IsShortenedSchoolDayIndicatorSupported = isShortenedSchoolDayIndicatorSupported; IsSpecialEducationExitDateSupported = isSpecialEducationExitDateSupported; IsSpecialEducationExitExplainedSupported = isSpecialEducationExitExplainedSupported; IsSpecialEducationExitReasonDescriptorSupported = isSpecialEducationExitReasonDescriptorSupported; @@ -49133,8 +49409,10 @@ IReadOnlyList supportedExtensions public bool IsMultiplyDisabledSupported { get; } public bool IsProgramReferenceSupported { get; } public bool IsReasonExitedDescriptorSupported { get; } + public bool IsReductionInHoursPerWeekComparedToPeersSupported { get; } public bool IsSchoolHoursPerWeekSupported { get; } public bool IsServedOutsideOfRegularSessionSupported { get; } + public bool IsShortenedSchoolDayIndicatorSupported { get; } public bool IsSpecialEducationExitDateSupported { get; } public bool IsSpecialEducationExitExplainedSupported { get; } public bool IsSpecialEducationExitReasonDescriptorSupported { get; } @@ -49181,10 +49459,14 @@ bool IMappingContract.IsMemberSupported(string memberName) return IsProgramReferenceSupported; case "ReasonExitedDescriptor": return IsReasonExitedDescriptorSupported; + case "ReductionInHoursPerWeekComparedToPeers": + return IsReductionInHoursPerWeekComparedToPeersSupported; case "SchoolHoursPerWeek": return IsSchoolHoursPerWeekSupported; case "ServedOutsideOfRegularSession": return IsServedOutsideOfRegularSessionSupported; + case "ShortenedSchoolDayIndicator": + return IsShortenedSchoolDayIndicatorSupported; case "SpecialEducationExitDate": return IsSpecialEducationExitDateSupported; case "SpecialEducationExitExplained": diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Mappers_EntityMapper.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Mappers_EntityMapper.generated.approved.cs index 51efd56a3d..11460c6570 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Mappers_EntityMapper.generated.approved.cs +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Mappers_EntityMapper.generated.approved.cs @@ -3520,30 +3520,30 @@ public static bool SynchronizeTo(this IAssessmentAdministration source, IAssessm // Sync lists - if (mappingContract?.IsAssessmentAdministrationAssessmentAdminstrationPeriodsSupported ?? true) + if (mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartsSupported ?? true) { isModified |= - source.AssessmentAdministrationAssessmentAdminstrationPeriods.SynchronizeCollectionTo( - target.AssessmentAdministrationAssessmentAdminstrationPeriods, + source.AssessmentAdministrationAssessmentBatteryParts.SynchronizeCollectionTo( + target.AssessmentAdministrationAssessmentBatteryParts, onChildAdded: child => { child.AssessmentAdministration = target; }, - itemCreatable: mappingContract?.IsAssessmentAdministrationAssessmentAdminstrationPeriodsItemCreatable ?? true, - includeItem: item => mappingContract?.IsAssessmentAdministrationAssessmentAdminstrationPeriodIncluded?.Invoke(item) ?? true); + itemCreatable: mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartsItemCreatable ?? true, + includeItem: item => mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartIncluded?.Invoke(item) ?? true); } - if (mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartsSupported ?? true) + if (mappingContract?.IsAssessmentAdministrationPeriodsSupported ?? true) { isModified |= - source.AssessmentAdministrationAssessmentBatteryParts.SynchronizeCollectionTo( - target.AssessmentAdministrationAssessmentBatteryParts, + source.AssessmentAdministrationPeriods.SynchronizeCollectionTo( + target.AssessmentAdministrationPeriods, onChildAdded: child => { child.AssessmentAdministration = target; }, - itemCreatable: mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartsItemCreatable ?? true, - includeItem: item => mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartIncluded?.Invoke(item) ?? true); + itemCreatable: mappingContract?.IsAssessmentAdministrationPeriodsItemCreatable ?? true, + includeItem: item => mappingContract?.IsAssessmentAdministrationPeriodIncluded?.Invoke(item) ?? true); } // Sync extensions @@ -3588,14 +3588,14 @@ public static void MapTo(this IAssessmentAdministration source, IAssessmentAdmin // Map lists - if (mappingContract?.IsAssessmentAdministrationAssessmentAdminstrationPeriodsSupported != false) + if (mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartsSupported != false) { - source.AssessmentAdministrationAssessmentAdminstrationPeriods.MapCollectionTo(target.AssessmentAdministrationAssessmentAdminstrationPeriods, mappingContract?.IsAssessmentAdministrationAssessmentAdminstrationPeriodsItemCreatable ?? true, target, mappingContract?.IsAssessmentAdministrationAssessmentAdminstrationPeriodIncluded); + source.AssessmentAdministrationAssessmentBatteryParts.MapCollectionTo(target.AssessmentAdministrationAssessmentBatteryParts, mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartsItemCreatable ?? true, target, mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartIncluded); } - if (mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartsSupported != false) + if (mappingContract?.IsAssessmentAdministrationPeriodsSupported != false) { - source.AssessmentAdministrationAssessmentBatteryParts.MapCollectionTo(target.AssessmentAdministrationAssessmentBatteryParts, mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartsItemCreatable ?? true, target, mappingContract?.IsAssessmentAdministrationAssessmentBatteryPartIncluded); + source.AssessmentAdministrationPeriods.MapCollectionTo(target.AssessmentAdministrationPeriods, mappingContract?.IsAssessmentAdministrationPeriodsItemCreatable ?? true, target, mappingContract?.IsAssessmentAdministrationPeriodIncluded); } // Map extensions @@ -3623,29 +3623,22 @@ public static void MapTo(this IAssessmentAdministration source, IAssessmentAdmin } [ExcludeFromCodeCoverage] - public static class AssessmentAdministrationAssessmentAdminstrationPeriodMapper + public static class AssessmentAdministrationAssessmentBatteryPartMapper { - private static readonly FullName _fullName_edfi_AssessmentAdministrationAssessmentAdminstrationPeriod = new FullName("edfi", "AssessmentAdministrationAssessmentAdminstrationPeriod"); + private static readonly FullName _fullName_edfi_AssessmentAdministrationAssessmentBatteryPart = new FullName("edfi", "AssessmentAdministrationAssessmentBatteryPart"); - public static bool SynchronizeTo(this IAssessmentAdministrationAssessmentAdminstrationPeriod source, IAssessmentAdministrationAssessmentAdminstrationPeriod target) + public static bool SynchronizeTo(this IAssessmentAdministrationAssessmentBatteryPart source, IAssessmentAdministrationAssessmentBatteryPart target) { bool isModified = false; // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (AssessmentAdministrationAssessmentAdminstrationPeriodMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (AssessmentAdministrationAssessmentBatteryPartMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentAdministrationAssessmentAdminstrationPeriod); + .GetMappingContract(_fullName_edfi_AssessmentAdministrationAssessmentBatteryPart); // Copy non-PK properties - if ((mappingContract?.IsEndDateSupported != false) - && target.EndDate != source.EndDate) - { - target.EndDate = source.EndDate; - isModified = true; - } - // Sync lists // Sync extensions @@ -3654,22 +3647,26 @@ public static bool SynchronizeTo(this IAssessmentAdministrationAssessmentAdminst return isModified; } - public static void MapTo(this IAssessmentAdministrationAssessmentAdminstrationPeriod source, IAssessmentAdministrationAssessmentAdminstrationPeriod target, Action onMapped) + public static void MapTo(this IAssessmentAdministrationAssessmentBatteryPart source, IAssessmentAdministrationAssessmentBatteryPart target, Action onMapped) { // Get the mapping contract for determining what values to map through to target - var mappingContract = (AssessmentAdministrationAssessmentAdminstrationPeriodMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (AssessmentAdministrationAssessmentBatteryPartMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentAdministrationAssessmentAdminstrationPeriod); + .GetMappingContract(_fullName_edfi_AssessmentAdministrationAssessmentBatteryPart); // Copy contextual primary key values - target.BeginDate = source.BeginDate; + target.AssessmentBatteryPartName = source.AssessmentBatteryPartName; // Copy non-PK properties - if (mappingContract?.IsEndDateSupported != false) - target.EndDate = source.EndDate; - // Copy Aggregate Reference Data + if (GeneratedArtifactStaticDependencies.AuthorizationContextProvider == null + || GeneratedArtifactStaticDependencies.AuthorizationContextProvider.GetAction() == RequestActions.ReadActionUri) + { + target.AssessmentBatteryPartResourceId = source.AssessmentBatteryPartResourceId; + target.AssessmentBatteryPartDiscriminator = source.AssessmentBatteryPartDiscriminator; + } + // ---------------------------------- @@ -3703,22 +3700,29 @@ public static void MapTo(this IAssessmentAdministrationAssessmentAdminstrationPe } [ExcludeFromCodeCoverage] - public static class AssessmentAdministrationAssessmentBatteryPartMapper + public static class AssessmentAdministrationPeriodMapper { - private static readonly FullName _fullName_edfi_AssessmentAdministrationAssessmentBatteryPart = new FullName("edfi", "AssessmentAdministrationAssessmentBatteryPart"); + private static readonly FullName _fullName_edfi_AssessmentAdministrationPeriod = new FullName("edfi", "AssessmentAdministrationPeriod"); - public static bool SynchronizeTo(this IAssessmentAdministrationAssessmentBatteryPart source, IAssessmentAdministrationAssessmentBatteryPart target) + public static bool SynchronizeTo(this IAssessmentAdministrationPeriod source, IAssessmentAdministrationPeriod target) { bool isModified = false; // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (AssessmentAdministrationAssessmentBatteryPartMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (AssessmentAdministrationPeriodMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentAdministrationAssessmentBatteryPart); + .GetMappingContract(_fullName_edfi_AssessmentAdministrationPeriod); // Copy non-PK properties + if ((mappingContract?.IsEndDateSupported != false) + && target.EndDate != source.EndDate) + { + target.EndDate = source.EndDate; + isModified = true; + } + // Sync lists // Sync extensions @@ -3727,26 +3731,22 @@ public static bool SynchronizeTo(this IAssessmentAdministrationAssessmentBattery return isModified; } - public static void MapTo(this IAssessmentAdministrationAssessmentBatteryPart source, IAssessmentAdministrationAssessmentBatteryPart target, Action onMapped) + public static void MapTo(this IAssessmentAdministrationPeriod source, IAssessmentAdministrationPeriod target, Action onMapped) { // Get the mapping contract for determining what values to map through to target - var mappingContract = (AssessmentAdministrationAssessmentBatteryPartMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (AssessmentAdministrationPeriodMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentAdministrationAssessmentBatteryPart); + .GetMappingContract(_fullName_edfi_AssessmentAdministrationPeriod); // Copy contextual primary key values - target.AssessmentBatteryPartName = source.AssessmentBatteryPartName; + target.BeginDate = source.BeginDate; // Copy non-PK properties - // Copy Aggregate Reference Data - if (GeneratedArtifactStaticDependencies.AuthorizationContextProvider == null - || GeneratedArtifactStaticDependencies.AuthorizationContextProvider.GetAction() == RequestActions.ReadActionUri) - { - target.AssessmentBatteryPartResourceId = source.AssessmentBatteryPartResourceId; - target.AssessmentBatteryPartDiscriminator = source.AssessmentBatteryPartDiscriminator; - } + if (mappingContract?.IsEndDateSupported != false) + target.EndDate = source.EndDate; + // Copy Aggregate Reference Data // ---------------------------------- @@ -3780,34 +3780,36 @@ public static void MapTo(this IAssessmentAdministrationAssessmentBatteryPart sou } } -// Aggregate: AssessmentBatteryPart +// Aggregate: AssessmentAdministrationParticipation -namespace EdFi.Ods.Entities.Common.EdFi //.AssessmentBatteryPartAggregate +namespace EdFi.Ods.Entities.Common.EdFi //.AssessmentAdministrationParticipationAggregate { [ExcludeFromCodeCoverage] - public static class AssessmentBatteryPartMapper + public static class AssessmentAdministrationParticipationMapper { - private static readonly FullName _fullName_edfi_AssessmentBatteryPart = new FullName("edfi", "AssessmentBatteryPart"); + private static readonly FullName _fullName_edfi_AssessmentAdministrationParticipation = new FullName("edfi", "AssessmentAdministrationParticipation"); - public static bool SynchronizeTo(this IAssessmentBatteryPart source, IAssessmentBatteryPart target) + public static bool SynchronizeTo(this IAssessmentAdministrationParticipation source, IAssessmentAdministrationParticipation target) { bool isModified = false; // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (AssessmentBatteryPartMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (AssessmentAdministrationParticipationMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentBatteryPart); + .GetMappingContract(_fullName_edfi_AssessmentAdministrationParticipation); var keyStringComparer = GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer; // Detect primary key changes if ( - (!keyStringComparer.Equals(target.AssessmentBatteryPartName, source.AssessmentBatteryPartName)) + (!keyStringComparer.Equals(target.AdministrationIdentifier, source.AdministrationIdentifier)) || (!keyStringComparer.Equals(target.AssessmentIdentifier, source.AssessmentIdentifier)) - || (!keyStringComparer.Equals(target.Namespace, source.Namespace))) + || (target.AssigningEducationOrganizationId != source.AssigningEducationOrganizationId) + || (!keyStringComparer.Equals(target.Namespace, source.Namespace)) + || (target.ParticipatingEducationOrganizationId != source.ParticipatingEducationOrganizationId)) { - // Disallow PK column updates on AssessmentBatteryPart - throw new KeyChangeNotSupportedException("AssessmentBatteryPart"); + // Disallow PK column updates on AssessmentAdministrationParticipation + throw new KeyChangeNotSupportedException("AssessmentAdministrationParticipation"); } @@ -3815,17 +3817,17 @@ public static bool SynchronizeTo(this IAssessmentBatteryPart source, IAssessment // Sync lists - if (mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentsSupported ?? true) + if (mappingContract?.IsAssessmentAdministrationParticipationAdministrationPointOfContactsSupported ?? true) { isModified |= - source.AssessmentBatteryPartObjectiveAssessments.SynchronizeCollectionTo( - target.AssessmentBatteryPartObjectiveAssessments, + source.AssessmentAdministrationParticipationAdministrationPointOfContacts.SynchronizeCollectionTo( + target.AssessmentAdministrationParticipationAdministrationPointOfContacts, onChildAdded: child => { - child.AssessmentBatteryPart = target; + child.AssessmentAdministrationParticipation = target; }, - itemCreatable: mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentsItemCreatable ?? true, - includeItem: item => mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentIncluded?.Invoke(item) ?? true); + itemCreatable: mappingContract?.IsAssessmentAdministrationParticipationAdministrationPointOfContactsItemCreatable ?? true, + includeItem: item => mappingContract?.IsAssessmentAdministrationParticipationAdministrationPointOfContactIncluded?.Invoke(item) ?? true); } // Sync extensions @@ -3834,20 +3836,22 @@ public static bool SynchronizeTo(this IAssessmentBatteryPart source, IAssessment return isModified; } - public static void MapTo(this IAssessmentBatteryPart source, IAssessmentBatteryPart target, Action onMapped) + public static void MapTo(this IAssessmentAdministrationParticipation source, IAssessmentAdministrationParticipation target, Action onMapped) { // Get the mapping contract for determining what values to map through to target - var mappingContract = (AssessmentBatteryPartMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (AssessmentAdministrationParticipationMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentBatteryPart); + .GetMappingContract(_fullName_edfi_AssessmentAdministrationParticipation); // Copy resource Id target.Id = source.Id; // Copy contextual primary key values - target.AssessmentBatteryPartName = source.AssessmentBatteryPartName; + target.AdministrationIdentifier = source.AdministrationIdentifier; target.AssessmentIdentifier = source.AssessmentIdentifier; + target.AssigningEducationOrganizationId = source.AssigningEducationOrganizationId; target.Namespace = source.Namespace; + target.ParticipatingEducationOrganizationId = source.ParticipatingEducationOrganizationId; // Copy non-PK properties @@ -3855,8 +3859,10 @@ public static void MapTo(this IAssessmentBatteryPart source, IAssessmentBatteryP if (GeneratedArtifactStaticDependencies.AuthorizationContextProvider == null || GeneratedArtifactStaticDependencies.AuthorizationContextProvider.GetAction() == RequestActions.ReadActionUri) { - target.AssessmentResourceId = source.AssessmentResourceId; - target.AssessmentDiscriminator = source.AssessmentDiscriminator; + target.AssessmentAdministrationResourceId = source.AssessmentAdministrationResourceId; + target.AssessmentAdministrationDiscriminator = source.AssessmentAdministrationDiscriminator; + target.ParticipatingEducationOrganizationResourceId = source.ParticipatingEducationOrganizationResourceId; + target.ParticipatingEducationOrganizationDiscriminator = source.ParticipatingEducationOrganizationDiscriminator; } @@ -3867,9 +3873,9 @@ public static void MapTo(this IAssessmentBatteryPart source, IAssessmentBatteryP // Map lists - if (mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentsSupported != false) + if (mappingContract?.IsAssessmentAdministrationParticipationAdministrationPointOfContactsSupported != false) { - source.AssessmentBatteryPartObjectiveAssessments.MapCollectionTo(target.AssessmentBatteryPartObjectiveAssessments, mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentsItemCreatable ?? true, target, mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentIncluded); + source.AssessmentAdministrationParticipationAdministrationPointOfContacts.MapCollectionTo(target.AssessmentAdministrationParticipationAdministrationPointOfContacts, mappingContract?.IsAssessmentAdministrationParticipationAdministrationPointOfContactsItemCreatable ?? true, target, mappingContract?.IsAssessmentAdministrationParticipationAdministrationPointOfContactIncluded); } // Map extensions @@ -3897,22 +3903,43 @@ public static void MapTo(this IAssessmentBatteryPart source, IAssessmentBatteryP } [ExcludeFromCodeCoverage] - public static class AssessmentBatteryPartObjectiveAssessmentMapper + public static class AssessmentAdministrationParticipationAdministrationPointOfContactMapper { - private static readonly FullName _fullName_edfi_AssessmentBatteryPartObjectiveAssessment = new FullName("edfi", "AssessmentBatteryPartObjectiveAssessment"); + private static readonly FullName _fullName_edfi_AssessmentAdministrationParticipationAdministrationPointOfContact = new FullName("edfi", "AssessmentAdministrationParticipationAdministrationPointOfContact"); - public static bool SynchronizeTo(this IAssessmentBatteryPartObjectiveAssessment source, IAssessmentBatteryPartObjectiveAssessment target) + public static bool SynchronizeTo(this IAssessmentAdministrationParticipationAdministrationPointOfContact source, IAssessmentAdministrationParticipationAdministrationPointOfContact target) { bool isModified = false; // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (AssessmentBatteryPartObjectiveAssessmentMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (AssessmentAdministrationParticipationAdministrationPointOfContactMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentBatteryPartObjectiveAssessment); + .GetMappingContract(_fullName_edfi_AssessmentAdministrationParticipationAdministrationPointOfContact); // Copy non-PK properties + if ((mappingContract?.IsFirstNameSupported != false) + && target.FirstName != source.FirstName) + { + target.FirstName = source.FirstName; + isModified = true; + } + + if ((mappingContract?.IsLastSurnameSupported != false) + && target.LastSurname != source.LastSurname) + { + target.LastSurname = source.LastSurname; + isModified = true; + } + + if ((mappingContract?.IsLoginIdSupported != false) + && target.LoginId != source.LoginId) + { + target.LoginId = source.LoginId; + isModified = true; + } + // Sync lists // Sync extensions @@ -3921,24 +3948,34 @@ public static bool SynchronizeTo(this IAssessmentBatteryPartObjectiveAssessment return isModified; } - public static void MapTo(this IAssessmentBatteryPartObjectiveAssessment source, IAssessmentBatteryPartObjectiveAssessment target, Action onMapped) + public static void MapTo(this IAssessmentAdministrationParticipationAdministrationPointOfContact source, IAssessmentAdministrationParticipationAdministrationPointOfContact target, Action onMapped) { // Get the mapping contract for determining what values to map through to target - var mappingContract = (AssessmentBatteryPartObjectiveAssessmentMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (AssessmentAdministrationParticipationAdministrationPointOfContactMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentBatteryPartObjectiveAssessment); + .GetMappingContract(_fullName_edfi_AssessmentAdministrationParticipationAdministrationPointOfContact); // Copy contextual primary key values - target.IdentificationCode = source.IdentificationCode; + target.EducationOrganizationId = source.EducationOrganizationId; + target.ElectronicMailAddress = source.ElectronicMailAddress; // Copy non-PK properties + if (mappingContract?.IsFirstNameSupported != false) + target.FirstName = source.FirstName; + + if (mappingContract?.IsLastSurnameSupported != false) + target.LastSurname = source.LastSurname; + + if (mappingContract?.IsLoginIdSupported != false) + target.LoginId = source.LoginId; + // Copy Aggregate Reference Data if (GeneratedArtifactStaticDependencies.AuthorizationContextProvider == null || GeneratedArtifactStaticDependencies.AuthorizationContextProvider.GetAction() == RequestActions.ReadActionUri) { - target.ObjectiveAssessmentResourceId = source.ObjectiveAssessmentResourceId; - target.ObjectiveAssessmentDiscriminator = source.ObjectiveAssessmentDiscriminator; + target.EducationOrganizationResourceId = source.EducationOrganizationResourceId; + target.EducationOrganizationDiscriminator = source.EducationOrganizationDiscriminator; } @@ -3974,133 +4011,327 @@ public static void MapTo(this IAssessmentBatteryPartObjectiveAssessment source, } } -// Aggregate: AssessmentCategoryDescriptor +// Aggregate: AssessmentBatteryPart -namespace EdFi.Ods.Entities.Common.EdFi //.AssessmentCategoryDescriptorAggregate +namespace EdFi.Ods.Entities.Common.EdFi //.AssessmentBatteryPartAggregate { [ExcludeFromCodeCoverage] - public static class AssessmentCategoryDescriptorMapper + public static class AssessmentBatteryPartMapper { - private static readonly FullName _fullName_edfi_AssessmentCategoryDescriptor = new FullName("edfi", "AssessmentCategoryDescriptor"); + private static readonly FullName _fullName_edfi_AssessmentBatteryPart = new FullName("edfi", "AssessmentBatteryPart"); - public static bool SynchronizeTo(this IAssessmentCategoryDescriptor source, IAssessmentCategoryDescriptor target) + public static bool SynchronizeTo(this IAssessmentBatteryPart source, IAssessmentBatteryPart target) { bool isModified = false; // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (AssessmentCategoryDescriptorMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (AssessmentBatteryPartMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentCategoryDescriptor); + .GetMappingContract(_fullName_edfi_AssessmentBatteryPart); + + var keyStringComparer = GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer; // Detect primary key changes if ( - !string.Equals(target.Namespace, source.Namespace, StringComparison.OrdinalIgnoreCase) - || !string.Equals(target.CodeValue, source.CodeValue, StringComparison.OrdinalIgnoreCase)) - { - // Disallow PK column updates on AssessmentCategoryDescriptor - throw new KeyChangeNotSupportedException("AssessmentCategoryDescriptor"); - } - - - // Copy inherited non-PK properties - - - if ((mappingContract?.IsCodeValueSupported != false) - && target.CodeValue != source.CodeValue) + (!keyStringComparer.Equals(target.AssessmentBatteryPartName, source.AssessmentBatteryPartName)) + || (!keyStringComparer.Equals(target.AssessmentIdentifier, source.AssessmentIdentifier)) + || (!keyStringComparer.Equals(target.Namespace, source.Namespace))) { - target.CodeValue = source.CodeValue; - isModified = true; + // Disallow PK column updates on AssessmentBatteryPart + throw new KeyChangeNotSupportedException("AssessmentBatteryPart"); } - if ((mappingContract?.IsDescriptionSupported != false) - && target.Description != source.Description) - { - target.Description = source.Description; - isModified = true; - } - if ((mappingContract?.IsEffectiveBeginDateSupported != false) - && target.EffectiveBeginDate != source.EffectiveBeginDate) - { - target.EffectiveBeginDate = source.EffectiveBeginDate; - isModified = true; - } - - if ((mappingContract?.IsEffectiveEndDateSupported != false) - && target.EffectiveEndDate != source.EffectiveEndDate) - { - target.EffectiveEndDate = source.EffectiveEndDate; - isModified = true; - } + // Copy non-PK properties - if ((mappingContract?.IsNamespaceSupported != false) - && target.Namespace != source.Namespace) - { - target.Namespace = source.Namespace; - isModified = true; - } - if ((mappingContract?.IsShortDescriptionSupported != false) - && target.ShortDescription != source.ShortDescription) + // Sync lists + if (mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentsSupported ?? true) { - target.ShortDescription = source.ShortDescription; - isModified = true; + isModified |= + source.AssessmentBatteryPartObjectiveAssessments.SynchronizeCollectionTo( + target.AssessmentBatteryPartObjectiveAssessments, + onChildAdded: child => + { + child.AssessmentBatteryPart = target; + }, + itemCreatable: mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentsItemCreatable ?? true, + includeItem: item => mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentIncluded?.Invoke(item) ?? true); } - // Copy non-PK properties - - - // Synch inherited lists - - // Sync lists + // Sync extensions + isModified |= source.SynchronizeExtensionsTo(target, mappingContract); return isModified; } - public static void MapTo(this IAssessmentCategoryDescriptor source, IAssessmentCategoryDescriptor target, Action onMapped) + public static void MapTo(this IAssessmentBatteryPart source, IAssessmentBatteryPart target, Action onMapped) { // Get the mapping contract for determining what values to map through to target - var mappingContract = (AssessmentCategoryDescriptorMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (AssessmentBatteryPartMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentCategoryDescriptor); + .GetMappingContract(_fullName_edfi_AssessmentBatteryPart); // Copy resource Id target.Id = source.Id; // Copy contextual primary key values - target.AssessmentCategoryDescriptorId = source.AssessmentCategoryDescriptorId; - - // Copy inherited non-PK properties - - if (mappingContract?.IsCodeValueSupported != false) - target.CodeValue = source.CodeValue; - - if (mappingContract?.IsDescriptionSupported != false) - target.Description = source.Description; - - if (mappingContract?.IsEffectiveBeginDateSupported != false) - target.EffectiveBeginDate = source.EffectiveBeginDate; - - if (mappingContract?.IsEffectiveEndDateSupported != false) - target.EffectiveEndDate = source.EffectiveEndDate; - - if (mappingContract?.IsNamespaceSupported != false) - target.Namespace = source.Namespace; - - if (mappingContract?.IsShortDescriptionSupported != false) - target.ShortDescription = source.ShortDescription; + target.AssessmentBatteryPartName = source.AssessmentBatteryPartName; + target.AssessmentIdentifier = source.AssessmentIdentifier; + target.Namespace = source.Namespace; // Copy non-PK properties // Copy Aggregate Reference Data + if (GeneratedArtifactStaticDependencies.AuthorizationContextProvider == null + || GeneratedArtifactStaticDependencies.AuthorizationContextProvider.GetAction() == RequestActions.ReadActionUri) + { + target.AssessmentResourceId = source.AssessmentResourceId; + target.AssessmentDiscriminator = source.AssessmentDiscriminator; + } + // ---------------------------------- // Map One-to-one relationships // ---------------------------------- - // Map inherited lists - + // Map lists + + if (mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentsSupported != false) + { + source.AssessmentBatteryPartObjectiveAssessments.MapCollectionTo(target.AssessmentBatteryPartObjectiveAssessments, mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentsItemCreatable ?? true, target, mappingContract?.IsAssessmentBatteryPartObjectiveAssessmentIncluded); + } + + // Map extensions + source.MapExtensionsTo(target, mappingContract); + + // Convert source to an ETag, if appropriate + if (target is IHasETag entityWithETag) + entityWithETag.ETag = GeneratedArtifactStaticDependencies.ETagProvider.GetETag(source); + + // Copy/assign LastModifiedDate, if appropriate + if (target is IDateVersionedEntity targetDateVersionedEntity) + { + if (source is IHasETag etagSource) + { + // Convert resource's supplied eTag value to entity's LastModifiedDate + targetDateVersionedEntity.LastModifiedDate = GeneratedArtifactStaticDependencies.ETagProvider.GetDateTime(etagSource.ETag); + } + else if (source is IDateVersionedEntity sourceDateVersionedEntity) + { + // Copy LastModifiedDate, when mapping from entities to resources/entities + targetDateVersionedEntity.LastModifiedDate = sourceDateVersionedEntity.LastModifiedDate; + } + } + } + } + + [ExcludeFromCodeCoverage] + public static class AssessmentBatteryPartObjectiveAssessmentMapper + { + private static readonly FullName _fullName_edfi_AssessmentBatteryPartObjectiveAssessment = new FullName("edfi", "AssessmentBatteryPartObjectiveAssessment"); + + public static bool SynchronizeTo(this IAssessmentBatteryPartObjectiveAssessment source, IAssessmentBatteryPartObjectiveAssessment target) + { + bool isModified = false; + + // Get the mapping contract for knowing what values to synchronize through to target entity + var mappingContract = (AssessmentBatteryPartObjectiveAssessmentMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_AssessmentBatteryPartObjectiveAssessment); + + + // Copy non-PK properties + + + // Sync lists + // Sync extensions + isModified |= source.SynchronizeExtensionsTo(target, mappingContract); + + return isModified; + } + + public static void MapTo(this IAssessmentBatteryPartObjectiveAssessment source, IAssessmentBatteryPartObjectiveAssessment target, Action onMapped) + { + // Get the mapping contract for determining what values to map through to target + var mappingContract = (AssessmentBatteryPartObjectiveAssessmentMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_AssessmentBatteryPartObjectiveAssessment); + + // Copy contextual primary key values + target.IdentificationCode = source.IdentificationCode; + + // Copy non-PK properties + + // Copy Aggregate Reference Data + if (GeneratedArtifactStaticDependencies.AuthorizationContextProvider == null + || GeneratedArtifactStaticDependencies.AuthorizationContextProvider.GetAction() == RequestActions.ReadActionUri) + { + target.ObjectiveAssessmentResourceId = source.ObjectiveAssessmentResourceId; + target.ObjectiveAssessmentDiscriminator = source.ObjectiveAssessmentDiscriminator; + } + + + + // ---------------------------------- + // Map One-to-one relationships + // ---------------------------------- + + // Map lists + + // Map extensions + source.MapExtensionsTo(target, mappingContract); + + // Convert source to an ETag, if appropriate + if (target is IHasETag entityWithETag) + entityWithETag.ETag = GeneratedArtifactStaticDependencies.ETagProvider.GetETag(source); + + // Copy/assign LastModifiedDate, if appropriate + if (target is IDateVersionedEntity targetDateVersionedEntity) + { + if (source is IHasETag etagSource) + { + // Convert resource's supplied eTag value to entity's LastModifiedDate + targetDateVersionedEntity.LastModifiedDate = GeneratedArtifactStaticDependencies.ETagProvider.GetDateTime(etagSource.ETag); + } + else if (source is IDateVersionedEntity sourceDateVersionedEntity) + { + // Copy LastModifiedDate, when mapping from entities to resources/entities + targetDateVersionedEntity.LastModifiedDate = sourceDateVersionedEntity.LastModifiedDate; + } + } + } + } + +} +// Aggregate: AssessmentCategoryDescriptor + +namespace EdFi.Ods.Entities.Common.EdFi //.AssessmentCategoryDescriptorAggregate +{ + [ExcludeFromCodeCoverage] + public static class AssessmentCategoryDescriptorMapper + { + private static readonly FullName _fullName_edfi_AssessmentCategoryDescriptor = new FullName("edfi", "AssessmentCategoryDescriptor"); + + public static bool SynchronizeTo(this IAssessmentCategoryDescriptor source, IAssessmentCategoryDescriptor target) + { + bool isModified = false; + + // Get the mapping contract for knowing what values to synchronize through to target entity + var mappingContract = (AssessmentCategoryDescriptorMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_AssessmentCategoryDescriptor); + + // Detect primary key changes + if ( + !string.Equals(target.Namespace, source.Namespace, StringComparison.OrdinalIgnoreCase) + || !string.Equals(target.CodeValue, source.CodeValue, StringComparison.OrdinalIgnoreCase)) + { + // Disallow PK column updates on AssessmentCategoryDescriptor + throw new KeyChangeNotSupportedException("AssessmentCategoryDescriptor"); + } + + + // Copy inherited non-PK properties + + + if ((mappingContract?.IsCodeValueSupported != false) + && target.CodeValue != source.CodeValue) + { + target.CodeValue = source.CodeValue; + isModified = true; + } + + if ((mappingContract?.IsDescriptionSupported != false) + && target.Description != source.Description) + { + target.Description = source.Description; + isModified = true; + } + + if ((mappingContract?.IsEffectiveBeginDateSupported != false) + && target.EffectiveBeginDate != source.EffectiveBeginDate) + { + target.EffectiveBeginDate = source.EffectiveBeginDate; + isModified = true; + } + + if ((mappingContract?.IsEffectiveEndDateSupported != false) + && target.EffectiveEndDate != source.EffectiveEndDate) + { + target.EffectiveEndDate = source.EffectiveEndDate; + isModified = true; + } + + if ((mappingContract?.IsNamespaceSupported != false) + && target.Namespace != source.Namespace) + { + target.Namespace = source.Namespace; + isModified = true; + } + + if ((mappingContract?.IsShortDescriptionSupported != false) + && target.ShortDescription != source.ShortDescription) + { + target.ShortDescription = source.ShortDescription; + isModified = true; + } + + // Copy non-PK properties + + + // Synch inherited lists + + // Sync lists + + return isModified; + } + + public static void MapTo(this IAssessmentCategoryDescriptor source, IAssessmentCategoryDescriptor target, Action onMapped) + { + // Get the mapping contract for determining what values to map through to target + var mappingContract = (AssessmentCategoryDescriptorMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_AssessmentCategoryDescriptor); + + // Copy resource Id + target.Id = source.Id; + + // Copy contextual primary key values + target.AssessmentCategoryDescriptorId = source.AssessmentCategoryDescriptorId; + + // Copy inherited non-PK properties + + if (mappingContract?.IsCodeValueSupported != false) + target.CodeValue = source.CodeValue; + + if (mappingContract?.IsDescriptionSupported != false) + target.Description = source.Description; + + if (mappingContract?.IsEffectiveBeginDateSupported != false) + target.EffectiveBeginDate = source.EffectiveBeginDate; + + if (mappingContract?.IsEffectiveEndDateSupported != false) + target.EffectiveEndDate = source.EffectiveEndDate; + + if (mappingContract?.IsNamespaceSupported != false) + target.Namespace = source.Namespace; + + if (mappingContract?.IsShortDescriptionSupported != false) + target.ShortDescription = source.ShortDescription; + + // Copy non-PK properties + + // Copy Aggregate Reference Data + + + // ---------------------------------- + // Map One-to-one relationships + // ---------------------------------- + + // Map inherited lists + // Map lists @@ -5453,237 +5684,6 @@ public static void MapTo(this IAssessmentScoreRangeLearningStandardLearningStand - // ---------------------------------- - // Map One-to-one relationships - // ---------------------------------- - - // Map lists - - // Map extensions - source.MapExtensionsTo(target, mappingContract); - - // Convert source to an ETag, if appropriate - if (target is IHasETag entityWithETag) - entityWithETag.ETag = GeneratedArtifactStaticDependencies.ETagProvider.GetETag(source); - - // Copy/assign LastModifiedDate, if appropriate - if (target is IDateVersionedEntity targetDateVersionedEntity) - { - if (source is IHasETag etagSource) - { - // Convert resource's supplied eTag value to entity's LastModifiedDate - targetDateVersionedEntity.LastModifiedDate = GeneratedArtifactStaticDependencies.ETagProvider.GetDateTime(etagSource.ETag); - } - else if (source is IDateVersionedEntity sourceDateVersionedEntity) - { - // Copy LastModifiedDate, when mapping from entities to resources/entities - targetDateVersionedEntity.LastModifiedDate = sourceDateVersionedEntity.LastModifiedDate; - } - } - } - } - -} -// Aggregate: AssesssmentAdministrationParticipation - -namespace EdFi.Ods.Entities.Common.EdFi //.AssesssmentAdministrationParticipationAggregate -{ - [ExcludeFromCodeCoverage] - public static class AssesssmentAdministrationParticipationMapper - { - private static readonly FullName _fullName_edfi_AssesssmentAdministrationParticipation = new FullName("edfi", "AssesssmentAdministrationParticipation"); - - public static bool SynchronizeTo(this IAssesssmentAdministrationParticipation source, IAssesssmentAdministrationParticipation target) - { - bool isModified = false; - - // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (AssesssmentAdministrationParticipationMappingContract) GeneratedArtifactStaticDependencies - .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssesssmentAdministrationParticipation); - - var keyStringComparer = GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer; - - // Detect primary key changes - if ( - (!keyStringComparer.Equals(target.AdministrationIdentifier, source.AdministrationIdentifier)) - || (!keyStringComparer.Equals(target.AssessmentIdentifier, source.AssessmentIdentifier)) - || (target.AssigningEducationOrganizationId != source.AssigningEducationOrganizationId) - || (!keyStringComparer.Equals(target.Namespace, source.Namespace)) - || (target.ParticipatingEducationOrganizationId != source.ParticipatingEducationOrganizationId)) - { - // Disallow PK column updates on AssesssmentAdministrationParticipation - throw new KeyChangeNotSupportedException("AssesssmentAdministrationParticipation"); - } - - - // Copy non-PK properties - - - // Sync lists - if (mappingContract?.IsAssesssmentAdministrationParticipationAdministrationPointOfContactsSupported ?? true) - { - isModified |= - source.AssesssmentAdministrationParticipationAdministrationPointOfContacts.SynchronizeCollectionTo( - target.AssesssmentAdministrationParticipationAdministrationPointOfContacts, - onChildAdded: child => - { - child.AssesssmentAdministrationParticipation = target; - }, - itemCreatable: mappingContract?.IsAssesssmentAdministrationParticipationAdministrationPointOfContactsItemCreatable ?? true, - includeItem: item => mappingContract?.IsAssesssmentAdministrationParticipationAdministrationPointOfContactIncluded?.Invoke(item) ?? true); - } - - // Sync extensions - isModified |= source.SynchronizeExtensionsTo(target, mappingContract); - - return isModified; - } - - public static void MapTo(this IAssesssmentAdministrationParticipation source, IAssesssmentAdministrationParticipation target, Action onMapped) - { - // Get the mapping contract for determining what values to map through to target - var mappingContract = (AssesssmentAdministrationParticipationMappingContract) GeneratedArtifactStaticDependencies - .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssesssmentAdministrationParticipation); - - // Copy resource Id - target.Id = source.Id; - - // Copy contextual primary key values - target.AdministrationIdentifier = source.AdministrationIdentifier; - target.AssessmentIdentifier = source.AssessmentIdentifier; - target.AssigningEducationOrganizationId = source.AssigningEducationOrganizationId; - target.Namespace = source.Namespace; - target.ParticipatingEducationOrganizationId = source.ParticipatingEducationOrganizationId; - - // Copy non-PK properties - - // Copy Aggregate Reference Data - if (GeneratedArtifactStaticDependencies.AuthorizationContextProvider == null - || GeneratedArtifactStaticDependencies.AuthorizationContextProvider.GetAction() == RequestActions.ReadActionUri) - { - target.AssessmentAdministrationResourceId = source.AssessmentAdministrationResourceId; - target.AssessmentAdministrationDiscriminator = source.AssessmentAdministrationDiscriminator; - target.ParticipatingEducationOrganizationResourceId = source.ParticipatingEducationOrganizationResourceId; - target.ParticipatingEducationOrganizationDiscriminator = source.ParticipatingEducationOrganizationDiscriminator; - } - - - - // ---------------------------------- - // Map One-to-one relationships - // ---------------------------------- - - // Map lists - - if (mappingContract?.IsAssesssmentAdministrationParticipationAdministrationPointOfContactsSupported != false) - { - source.AssesssmentAdministrationParticipationAdministrationPointOfContacts.MapCollectionTo(target.AssesssmentAdministrationParticipationAdministrationPointOfContacts, mappingContract?.IsAssesssmentAdministrationParticipationAdministrationPointOfContactsItemCreatable ?? true, target, mappingContract?.IsAssesssmentAdministrationParticipationAdministrationPointOfContactIncluded); - } - - // Map extensions - source.MapExtensionsTo(target, mappingContract); - - // Convert source to an ETag, if appropriate - if (target is IHasETag entityWithETag) - entityWithETag.ETag = GeneratedArtifactStaticDependencies.ETagProvider.GetETag(source); - - // Copy/assign LastModifiedDate, if appropriate - if (target is IDateVersionedEntity targetDateVersionedEntity) - { - if (source is IHasETag etagSource) - { - // Convert resource's supplied eTag value to entity's LastModifiedDate - targetDateVersionedEntity.LastModifiedDate = GeneratedArtifactStaticDependencies.ETagProvider.GetDateTime(etagSource.ETag); - } - else if (source is IDateVersionedEntity sourceDateVersionedEntity) - { - // Copy LastModifiedDate, when mapping from entities to resources/entities - targetDateVersionedEntity.LastModifiedDate = sourceDateVersionedEntity.LastModifiedDate; - } - } - } - } - - [ExcludeFromCodeCoverage] - public static class AssesssmentAdministrationParticipationAdministrationPointOfContactMapper - { - private static readonly FullName _fullName_edfi_AssesssmentAdministrationParticipationAdministrationPointOfContact = new FullName("edfi", "AssesssmentAdministrationParticipationAdministrationPointOfContact"); - - public static bool SynchronizeTo(this IAssesssmentAdministrationParticipationAdministrationPointOfContact source, IAssesssmentAdministrationParticipationAdministrationPointOfContact target) - { - bool isModified = false; - - // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (AssesssmentAdministrationParticipationAdministrationPointOfContactMappingContract) GeneratedArtifactStaticDependencies - .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssesssmentAdministrationParticipationAdministrationPointOfContact); - - - // Copy non-PK properties - - if ((mappingContract?.IsFirstNameSupported != false) - && target.FirstName != source.FirstName) - { - target.FirstName = source.FirstName; - isModified = true; - } - - if ((mappingContract?.IsLastSurnameSupported != false) - && target.LastSurname != source.LastSurname) - { - target.LastSurname = source.LastSurname; - isModified = true; - } - - if ((mappingContract?.IsLoginIdSupported != false) - && target.LoginId != source.LoginId) - { - target.LoginId = source.LoginId; - isModified = true; - } - - - // Sync lists - // Sync extensions - isModified |= source.SynchronizeExtensionsTo(target, mappingContract); - - return isModified; - } - - public static void MapTo(this IAssesssmentAdministrationParticipationAdministrationPointOfContact source, IAssesssmentAdministrationParticipationAdministrationPointOfContact target, Action onMapped) - { - // Get the mapping contract for determining what values to map through to target - var mappingContract = (AssesssmentAdministrationParticipationAdministrationPointOfContactMappingContract) GeneratedArtifactStaticDependencies - .MappingContractProvider - .GetMappingContract(_fullName_edfi_AssesssmentAdministrationParticipationAdministrationPointOfContact); - - // Copy contextual primary key values - target.EducationOrganizationId = source.EducationOrganizationId; - target.ElectronicMailAddress = source.ElectronicMailAddress; - - // Copy non-PK properties - - if (mappingContract?.IsFirstNameSupported != false) - target.FirstName = source.FirstName; - - if (mappingContract?.IsLastSurnameSupported != false) - target.LastSurname = source.LastSurname; - - if (mappingContract?.IsLoginIdSupported != false) - target.LoginId = source.LoginId; - - // Copy Aggregate Reference Data - if (GeneratedArtifactStaticDependencies.AuthorizationContextProvider == null - || GeneratedArtifactStaticDependencies.AuthorizationContextProvider.GetAction() == RequestActions.ReadActionUri) - { - target.EducationOrganizationResourceId = source.EducationOrganizationResourceId; - target.EducationOrganizationDiscriminator = source.EducationOrganizationDiscriminator; - } - - - // ---------------------------------- // Map One-to-one relationships // ---------------------------------- @@ -20103,111 +20103,415 @@ public static void MapTo(this IDisciplineIncidentBehavior source, IDisciplineInc } [ExcludeFromCodeCoverage] - public static class DisciplineIncidentExternalParticipantMapper + public static class DisciplineIncidentExternalParticipantMapper + { + private static readonly FullName _fullName_edfi_DisciplineIncidentExternalParticipant = new FullName("edfi", "DisciplineIncidentExternalParticipant"); + + public static bool SynchronizeTo(this IDisciplineIncidentExternalParticipant source, IDisciplineIncidentExternalParticipant target) + { + bool isModified = false; + + // Get the mapping contract for knowing what values to synchronize through to target entity + var mappingContract = (DisciplineIncidentExternalParticipantMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_DisciplineIncidentExternalParticipant); + + + // Copy non-PK properties + + + // Sync lists + // Sync extensions + isModified |= source.SynchronizeExtensionsTo(target, mappingContract); + + return isModified; + } + + public static void MapTo(this IDisciplineIncidentExternalParticipant source, IDisciplineIncidentExternalParticipant target, Action onMapped) + { + // Get the mapping contract for determining what values to map through to target + var mappingContract = (DisciplineIncidentExternalParticipantMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_DisciplineIncidentExternalParticipant); + + // Copy contextual primary key values + target.DisciplineIncidentParticipationCodeDescriptor = source.DisciplineIncidentParticipationCodeDescriptor; + target.FirstName = source.FirstName; + target.LastSurname = source.LastSurname; + + // Copy non-PK properties + + // Copy Aggregate Reference Data + + + // ---------------------------------- + // Map One-to-one relationships + // ---------------------------------- + + // Map lists + + // Map extensions + source.MapExtensionsTo(target, mappingContract); + + // Convert source to an ETag, if appropriate + if (target is IHasETag entityWithETag) + entityWithETag.ETag = GeneratedArtifactStaticDependencies.ETagProvider.GetETag(source); + + // Copy/assign LastModifiedDate, if appropriate + if (target is IDateVersionedEntity targetDateVersionedEntity) + { + if (source is IHasETag etagSource) + { + // Convert resource's supplied eTag value to entity's LastModifiedDate + targetDateVersionedEntity.LastModifiedDate = GeneratedArtifactStaticDependencies.ETagProvider.GetDateTime(etagSource.ETag); + } + else if (source is IDateVersionedEntity sourceDateVersionedEntity) + { + // Copy LastModifiedDate, when mapping from entities to resources/entities + targetDateVersionedEntity.LastModifiedDate = sourceDateVersionedEntity.LastModifiedDate; + } + } + } + } + + [ExcludeFromCodeCoverage] + public static class DisciplineIncidentWeaponMapper + { + private static readonly FullName _fullName_edfi_DisciplineIncidentWeapon = new FullName("edfi", "DisciplineIncidentWeapon"); + + public static bool SynchronizeTo(this IDisciplineIncidentWeapon source, IDisciplineIncidentWeapon target) + { + bool isModified = false; + + // Get the mapping contract for knowing what values to synchronize through to target entity + var mappingContract = (DisciplineIncidentWeaponMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_DisciplineIncidentWeapon); + + + // Copy non-PK properties + + + // Sync lists + // Sync extensions + isModified |= source.SynchronizeExtensionsTo(target, mappingContract); + + return isModified; + } + + public static void MapTo(this IDisciplineIncidentWeapon source, IDisciplineIncidentWeapon target, Action onMapped) + { + // Get the mapping contract for determining what values to map through to target + var mappingContract = (DisciplineIncidentWeaponMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_DisciplineIncidentWeapon); + + // Copy contextual primary key values + target.WeaponDescriptor = source.WeaponDescriptor; + + // Copy non-PK properties + + // Copy Aggregate Reference Data + + + // ---------------------------------- + // Map One-to-one relationships + // ---------------------------------- + + // Map lists + + // Map extensions + source.MapExtensionsTo(target, mappingContract); + + // Convert source to an ETag, if appropriate + if (target is IHasETag entityWithETag) + entityWithETag.ETag = GeneratedArtifactStaticDependencies.ETagProvider.GetETag(source); + + // Copy/assign LastModifiedDate, if appropriate + if (target is IDateVersionedEntity targetDateVersionedEntity) + { + if (source is IHasETag etagSource) + { + // Convert resource's supplied eTag value to entity's LastModifiedDate + targetDateVersionedEntity.LastModifiedDate = GeneratedArtifactStaticDependencies.ETagProvider.GetDateTime(etagSource.ETag); + } + else if (source is IDateVersionedEntity sourceDateVersionedEntity) + { + // Copy LastModifiedDate, when mapping from entities to resources/entities + targetDateVersionedEntity.LastModifiedDate = sourceDateVersionedEntity.LastModifiedDate; + } + } + } + } + +} +// Aggregate: DisciplineIncidentParticipationCodeDescriptor + +namespace EdFi.Ods.Entities.Common.EdFi //.DisciplineIncidentParticipationCodeDescriptorAggregate +{ + [ExcludeFromCodeCoverage] + public static class DisciplineIncidentParticipationCodeDescriptorMapper + { + private static readonly FullName _fullName_edfi_DisciplineIncidentParticipationCodeDescriptor = new FullName("edfi", "DisciplineIncidentParticipationCodeDescriptor"); + + public static bool SynchronizeTo(this IDisciplineIncidentParticipationCodeDescriptor source, IDisciplineIncidentParticipationCodeDescriptor target) + { + bool isModified = false; + + // Get the mapping contract for knowing what values to synchronize through to target entity + var mappingContract = (DisciplineIncidentParticipationCodeDescriptorMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_DisciplineIncidentParticipationCodeDescriptor); + + // Detect primary key changes + if ( + !string.Equals(target.Namespace, source.Namespace, StringComparison.OrdinalIgnoreCase) + || !string.Equals(target.CodeValue, source.CodeValue, StringComparison.OrdinalIgnoreCase)) + { + // Disallow PK column updates on DisciplineIncidentParticipationCodeDescriptor + throw new KeyChangeNotSupportedException("DisciplineIncidentParticipationCodeDescriptor"); + } + + + // Copy inherited non-PK properties + + + if ((mappingContract?.IsCodeValueSupported != false) + && target.CodeValue != source.CodeValue) + { + target.CodeValue = source.CodeValue; + isModified = true; + } + + if ((mappingContract?.IsDescriptionSupported != false) + && target.Description != source.Description) + { + target.Description = source.Description; + isModified = true; + } + + if ((mappingContract?.IsEffectiveBeginDateSupported != false) + && target.EffectiveBeginDate != source.EffectiveBeginDate) + { + target.EffectiveBeginDate = source.EffectiveBeginDate; + isModified = true; + } + + if ((mappingContract?.IsEffectiveEndDateSupported != false) + && target.EffectiveEndDate != source.EffectiveEndDate) + { + target.EffectiveEndDate = source.EffectiveEndDate; + isModified = true; + } + + if ((mappingContract?.IsNamespaceSupported != false) + && target.Namespace != source.Namespace) + { + target.Namespace = source.Namespace; + isModified = true; + } + + if ((mappingContract?.IsShortDescriptionSupported != false) + && target.ShortDescription != source.ShortDescription) + { + target.ShortDescription = source.ShortDescription; + isModified = true; + } + + // Copy non-PK properties + + + // Synch inherited lists + + // Sync lists + + return isModified; + } + + public static void MapTo(this IDisciplineIncidentParticipationCodeDescriptor source, IDisciplineIncidentParticipationCodeDescriptor target, Action onMapped) + { + // Get the mapping contract for determining what values to map through to target + var mappingContract = (DisciplineIncidentParticipationCodeDescriptorMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_DisciplineIncidentParticipationCodeDescriptor); + + // Copy resource Id + target.Id = source.Id; + + // Copy contextual primary key values + target.DisciplineIncidentParticipationCodeDescriptorId = source.DisciplineIncidentParticipationCodeDescriptorId; + + // Copy inherited non-PK properties + + if (mappingContract?.IsCodeValueSupported != false) + target.CodeValue = source.CodeValue; + + if (mappingContract?.IsDescriptionSupported != false) + target.Description = source.Description; + + if (mappingContract?.IsEffectiveBeginDateSupported != false) + target.EffectiveBeginDate = source.EffectiveBeginDate; + + if (mappingContract?.IsEffectiveEndDateSupported != false) + target.EffectiveEndDate = source.EffectiveEndDate; + + if (mappingContract?.IsNamespaceSupported != false) + target.Namespace = source.Namespace; + + if (mappingContract?.IsShortDescriptionSupported != false) + target.ShortDescription = source.ShortDescription; + + // Copy non-PK properties + + // Copy Aggregate Reference Data + + + // ---------------------------------- + // Map One-to-one relationships + // ---------------------------------- + + // Map inherited lists + + // Map lists + + + // Convert source to an ETag, if appropriate + if (target is IHasETag entityWithETag) + entityWithETag.ETag = GeneratedArtifactStaticDependencies.ETagProvider.GetETag(source); + + // Copy/assign LastModifiedDate, if appropriate + if (target is IDateVersionedEntity targetDateVersionedEntity) + { + if (source is IHasETag etagSource) + { + // Convert resource's supplied eTag value to entity's LastModifiedDate + targetDateVersionedEntity.LastModifiedDate = GeneratedArtifactStaticDependencies.ETagProvider.GetDateTime(etagSource.ETag); + } + else if (source is IDateVersionedEntity sourceDateVersionedEntity) + { + // Copy LastModifiedDate, when mapping from entities to resources/entities + targetDateVersionedEntity.LastModifiedDate = sourceDateVersionedEntity.LastModifiedDate; + } + } + } + } + +} +// Aggregate: DisplacedStudentStatusDescriptor + +namespace EdFi.Ods.Entities.Common.EdFi //.DisplacedStudentStatusDescriptorAggregate +{ + [ExcludeFromCodeCoverage] + public static class DisplacedStudentStatusDescriptorMapper { - private static readonly FullName _fullName_edfi_DisciplineIncidentExternalParticipant = new FullName("edfi", "DisciplineIncidentExternalParticipant"); + private static readonly FullName _fullName_edfi_DisplacedStudentStatusDescriptor = new FullName("edfi", "DisplacedStudentStatusDescriptor"); - public static bool SynchronizeTo(this IDisciplineIncidentExternalParticipant source, IDisciplineIncidentExternalParticipant target) + public static bool SynchronizeTo(this IDisplacedStudentStatusDescriptor source, IDisplacedStudentStatusDescriptor target) { bool isModified = false; // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (DisciplineIncidentExternalParticipantMappingContract) GeneratedArtifactStaticDependencies - .MappingContractProvider - .GetMappingContract(_fullName_edfi_DisciplineIncidentExternalParticipant); - - - // Copy non-PK properties - - - // Sync lists - // Sync extensions - isModified |= source.SynchronizeExtensionsTo(target, mappingContract); - - return isModified; - } - - public static void MapTo(this IDisciplineIncidentExternalParticipant source, IDisciplineIncidentExternalParticipant target, Action onMapped) - { - // Get the mapping contract for determining what values to map through to target - var mappingContract = (DisciplineIncidentExternalParticipantMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (DisplacedStudentStatusDescriptorMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_DisciplineIncidentExternalParticipant); - - // Copy contextual primary key values - target.DisciplineIncidentParticipationCodeDescriptor = source.DisciplineIncidentParticipationCodeDescriptor; - target.FirstName = source.FirstName; - target.LastSurname = source.LastSurname; - - // Copy non-PK properties + .GetMappingContract(_fullName_edfi_DisplacedStudentStatusDescriptor); - // Copy Aggregate Reference Data + // Detect primary key changes + if ( + !string.Equals(target.Namespace, source.Namespace, StringComparison.OrdinalIgnoreCase) + || !string.Equals(target.CodeValue, source.CodeValue, StringComparison.OrdinalIgnoreCase)) + { + // Disallow PK column updates on DisplacedStudentStatusDescriptor + throw new KeyChangeNotSupportedException("DisplacedStudentStatusDescriptor"); + } - // ---------------------------------- - // Map One-to-one relationships - // ---------------------------------- + // Copy inherited non-PK properties - // Map lists - // Map extensions - source.MapExtensionsTo(target, mappingContract); + if ((mappingContract?.IsCodeValueSupported != false) + && target.CodeValue != source.CodeValue) + { + target.CodeValue = source.CodeValue; + isModified = true; + } - // Convert source to an ETag, if appropriate - if (target is IHasETag entityWithETag) - entityWithETag.ETag = GeneratedArtifactStaticDependencies.ETagProvider.GetETag(source); + if ((mappingContract?.IsDescriptionSupported != false) + && target.Description != source.Description) + { + target.Description = source.Description; + isModified = true; + } - // Copy/assign LastModifiedDate, if appropriate - if (target is IDateVersionedEntity targetDateVersionedEntity) + if ((mappingContract?.IsEffectiveBeginDateSupported != false) + && target.EffectiveBeginDate != source.EffectiveBeginDate) { - if (source is IHasETag etagSource) - { - // Convert resource's supplied eTag value to entity's LastModifiedDate - targetDateVersionedEntity.LastModifiedDate = GeneratedArtifactStaticDependencies.ETagProvider.GetDateTime(etagSource.ETag); - } - else if (source is IDateVersionedEntity sourceDateVersionedEntity) - { - // Copy LastModifiedDate, when mapping from entities to resources/entities - targetDateVersionedEntity.LastModifiedDate = sourceDateVersionedEntity.LastModifiedDate; - } + target.EffectiveBeginDate = source.EffectiveBeginDate; + isModified = true; } - } - } - [ExcludeFromCodeCoverage] - public static class DisciplineIncidentWeaponMapper - { - private static readonly FullName _fullName_edfi_DisciplineIncidentWeapon = new FullName("edfi", "DisciplineIncidentWeapon"); - - public static bool SynchronizeTo(this IDisciplineIncidentWeapon source, IDisciplineIncidentWeapon target) - { - bool isModified = false; + if ((mappingContract?.IsEffectiveEndDateSupported != false) + && target.EffectiveEndDate != source.EffectiveEndDate) + { + target.EffectiveEndDate = source.EffectiveEndDate; + isModified = true; + } - // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (DisciplineIncidentWeaponMappingContract) GeneratedArtifactStaticDependencies - .MappingContractProvider - .GetMappingContract(_fullName_edfi_DisciplineIncidentWeapon); + if ((mappingContract?.IsNamespaceSupported != false) + && target.Namespace != source.Namespace) + { + target.Namespace = source.Namespace; + isModified = true; + } + if ((mappingContract?.IsShortDescriptionSupported != false) + && target.ShortDescription != source.ShortDescription) + { + target.ShortDescription = source.ShortDescription; + isModified = true; + } // Copy non-PK properties + // Synch inherited lists + // Sync lists - // Sync extensions - isModified |= source.SynchronizeExtensionsTo(target, mappingContract); return isModified; } - public static void MapTo(this IDisciplineIncidentWeapon source, IDisciplineIncidentWeapon target, Action onMapped) + public static void MapTo(this IDisplacedStudentStatusDescriptor source, IDisplacedStudentStatusDescriptor target, Action onMapped) { // Get the mapping contract for determining what values to map through to target - var mappingContract = (DisciplineIncidentWeaponMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (DisplacedStudentStatusDescriptorMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_DisciplineIncidentWeapon); + .GetMappingContract(_fullName_edfi_DisplacedStudentStatusDescriptor); + // Copy resource Id + target.Id = source.Id; + // Copy contextual primary key values - target.WeaponDescriptor = source.WeaponDescriptor; + target.DisplacedStudentStatusDescriptorId = source.DisplacedStudentStatusDescriptorId; + + // Copy inherited non-PK properties + + if (mappingContract?.IsCodeValueSupported != false) + target.CodeValue = source.CodeValue; + + if (mappingContract?.IsDescriptionSupported != false) + target.Description = source.Description; + + if (mappingContract?.IsEffectiveBeginDateSupported != false) + target.EffectiveBeginDate = source.EffectiveBeginDate; + + if (mappingContract?.IsEffectiveEndDateSupported != false) + target.EffectiveEndDate = source.EffectiveEndDate; + + if (mappingContract?.IsNamespaceSupported != false) + target.Namespace = source.Namespace; + + if (mappingContract?.IsShortDescriptionSupported != false) + target.ShortDescription = source.ShortDescription; // Copy non-PK properties @@ -20218,10 +20522,10 @@ public static void MapTo(this IDisciplineIncidentWeapon source, IDisciplineIncid // Map One-to-one relationships // ---------------------------------- + // Map inherited lists + // Map lists - // Map extensions - source.MapExtensionsTo(target, mappingContract); // Convert source to an ETag, if appropriate if (target is IHasETag entityWithETag) @@ -20245,31 +20549,31 @@ public static void MapTo(this IDisciplineIncidentWeapon source, IDisciplineIncid } } -// Aggregate: DisciplineIncidentParticipationCodeDescriptor +// Aggregate: DualCreditInstitutionDescriptor -namespace EdFi.Ods.Entities.Common.EdFi //.DisciplineIncidentParticipationCodeDescriptorAggregate +namespace EdFi.Ods.Entities.Common.EdFi //.DualCreditInstitutionDescriptorAggregate { [ExcludeFromCodeCoverage] - public static class DisciplineIncidentParticipationCodeDescriptorMapper + public static class DualCreditInstitutionDescriptorMapper { - private static readonly FullName _fullName_edfi_DisciplineIncidentParticipationCodeDescriptor = new FullName("edfi", "DisciplineIncidentParticipationCodeDescriptor"); + private static readonly FullName _fullName_edfi_DualCreditInstitutionDescriptor = new FullName("edfi", "DualCreditInstitutionDescriptor"); - public static bool SynchronizeTo(this IDisciplineIncidentParticipationCodeDescriptor source, IDisciplineIncidentParticipationCodeDescriptor target) + public static bool SynchronizeTo(this IDualCreditInstitutionDescriptor source, IDualCreditInstitutionDescriptor target) { bool isModified = false; // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (DisciplineIncidentParticipationCodeDescriptorMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (DualCreditInstitutionDescriptorMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_DisciplineIncidentParticipationCodeDescriptor); + .GetMappingContract(_fullName_edfi_DualCreditInstitutionDescriptor); // Detect primary key changes if ( !string.Equals(target.Namespace, source.Namespace, StringComparison.OrdinalIgnoreCase) || !string.Equals(target.CodeValue, source.CodeValue, StringComparison.OrdinalIgnoreCase)) { - // Disallow PK column updates on DisciplineIncidentParticipationCodeDescriptor - throw new KeyChangeNotSupportedException("DisciplineIncidentParticipationCodeDescriptor"); + // Disallow PK column updates on DualCreditInstitutionDescriptor + throw new KeyChangeNotSupportedException("DualCreditInstitutionDescriptor"); } @@ -20328,18 +20632,18 @@ public static bool SynchronizeTo(this IDisciplineIncidentParticipationCodeDescri return isModified; } - public static void MapTo(this IDisciplineIncidentParticipationCodeDescriptor source, IDisciplineIncidentParticipationCodeDescriptor target, Action onMapped) + public static void MapTo(this IDualCreditInstitutionDescriptor source, IDualCreditInstitutionDescriptor target, Action onMapped) { // Get the mapping contract for determining what values to map through to target - var mappingContract = (DisciplineIncidentParticipationCodeDescriptorMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (DualCreditInstitutionDescriptorMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_DisciplineIncidentParticipationCodeDescriptor); + .GetMappingContract(_fullName_edfi_DualCreditInstitutionDescriptor); // Copy resource Id target.Id = source.Id; // Copy contextual primary key values - target.DisciplineIncidentParticipationCodeDescriptorId = source.DisciplineIncidentParticipationCodeDescriptorId; + target.DualCreditInstitutionDescriptorId = source.DualCreditInstitutionDescriptorId; // Copy inherited non-PK properties @@ -20397,31 +20701,31 @@ public static void MapTo(this IDisciplineIncidentParticipationCodeDescriptor sou } } -// Aggregate: DisplacedStudentStatusDescriptor +// Aggregate: DualCreditTypeDescriptor -namespace EdFi.Ods.Entities.Common.EdFi //.DisplacedStudentStatusDescriptorAggregate +namespace EdFi.Ods.Entities.Common.EdFi //.DualCreditTypeDescriptorAggregate { [ExcludeFromCodeCoverage] - public static class DisplacedStudentStatusDescriptorMapper + public static class DualCreditTypeDescriptorMapper { - private static readonly FullName _fullName_edfi_DisplacedStudentStatusDescriptor = new FullName("edfi", "DisplacedStudentStatusDescriptor"); + private static readonly FullName _fullName_edfi_DualCreditTypeDescriptor = new FullName("edfi", "DualCreditTypeDescriptor"); - public static bool SynchronizeTo(this IDisplacedStudentStatusDescriptor source, IDisplacedStudentStatusDescriptor target) + public static bool SynchronizeTo(this IDualCreditTypeDescriptor source, IDualCreditTypeDescriptor target) { bool isModified = false; // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (DisplacedStudentStatusDescriptorMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (DualCreditTypeDescriptorMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_DisplacedStudentStatusDescriptor); + .GetMappingContract(_fullName_edfi_DualCreditTypeDescriptor); // Detect primary key changes if ( !string.Equals(target.Namespace, source.Namespace, StringComparison.OrdinalIgnoreCase) || !string.Equals(target.CodeValue, source.CodeValue, StringComparison.OrdinalIgnoreCase)) { - // Disallow PK column updates on DisplacedStudentStatusDescriptor - throw new KeyChangeNotSupportedException("DisplacedStudentStatusDescriptor"); + // Disallow PK column updates on DualCreditTypeDescriptor + throw new KeyChangeNotSupportedException("DualCreditTypeDescriptor"); } @@ -20480,18 +20784,18 @@ public static bool SynchronizeTo(this IDisplacedStudentStatusDescriptor source, return isModified; } - public static void MapTo(this IDisplacedStudentStatusDescriptor source, IDisplacedStudentStatusDescriptor target, Action onMapped) + public static void MapTo(this IDualCreditTypeDescriptor source, IDualCreditTypeDescriptor target, Action onMapped) { // Get the mapping contract for determining what values to map through to target - var mappingContract = (DisplacedStudentStatusDescriptorMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (DualCreditTypeDescriptorMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_DisplacedStudentStatusDescriptor); + .GetMappingContract(_fullName_edfi_DualCreditTypeDescriptor); // Copy resource Id target.Id = source.Id; // Copy contextual primary key values - target.DisplacedStudentStatusDescriptorId = source.DisplacedStudentStatusDescriptorId; + target.DualCreditTypeDescriptorId = source.DualCreditTypeDescriptorId; // Copy inherited non-PK properties @@ -53573,31 +53877,31 @@ public static void MapTo(this ISectionProgram source, ISectionProgram target, Ac } } -// Aggregate: Section504DisabilityTypeDescriptor +// Aggregate: Section504DisabilityDescriptor -namespace EdFi.Ods.Entities.Common.EdFi //.Section504DisabilityTypeDescriptorAggregate +namespace EdFi.Ods.Entities.Common.EdFi //.Section504DisabilityDescriptorAggregate { [ExcludeFromCodeCoverage] - public static class Section504DisabilityTypeDescriptorMapper + public static class Section504DisabilityDescriptorMapper { - private static readonly FullName _fullName_edfi_Section504DisabilityTypeDescriptor = new FullName("edfi", "Section504DisabilityTypeDescriptor"); + private static readonly FullName _fullName_edfi_Section504DisabilityDescriptor = new FullName("edfi", "Section504DisabilityDescriptor"); - public static bool SynchronizeTo(this ISection504DisabilityTypeDescriptor source, ISection504DisabilityTypeDescriptor target) + public static bool SynchronizeTo(this ISection504DisabilityDescriptor source, ISection504DisabilityDescriptor target) { bool isModified = false; // Get the mapping contract for knowing what values to synchronize through to target entity - var mappingContract = (Section504DisabilityTypeDescriptorMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (Section504DisabilityDescriptorMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_Section504DisabilityTypeDescriptor); + .GetMappingContract(_fullName_edfi_Section504DisabilityDescriptor); // Detect primary key changes if ( !string.Equals(target.Namespace, source.Namespace, StringComparison.OrdinalIgnoreCase) || !string.Equals(target.CodeValue, source.CodeValue, StringComparison.OrdinalIgnoreCase)) { - // Disallow PK column updates on Section504DisabilityTypeDescriptor - throw new KeyChangeNotSupportedException("Section504DisabilityTypeDescriptor"); + // Disallow PK column updates on Section504DisabilityDescriptor + throw new KeyChangeNotSupportedException("Section504DisabilityDescriptor"); } @@ -53656,18 +53960,18 @@ public static bool SynchronizeTo(this ISection504DisabilityTypeDescriptor source return isModified; } - public static void MapTo(this ISection504DisabilityTypeDescriptor source, ISection504DisabilityTypeDescriptor target, Action onMapped) + public static void MapTo(this ISection504DisabilityDescriptor source, ISection504DisabilityDescriptor target, Action onMapped) { // Get the mapping contract for determining what values to map through to target - var mappingContract = (Section504DisabilityTypeDescriptorMappingContract) GeneratedArtifactStaticDependencies + var mappingContract = (Section504DisabilityDescriptorMappingContract) GeneratedArtifactStaticDependencies .MappingContractProvider - .GetMappingContract(_fullName_edfi_Section504DisabilityTypeDescriptor); + .GetMappingContract(_fullName_edfi_Section504DisabilityDescriptor); // Copy resource Id target.Id = source.Id; // Copy contextual primary key values - target.Section504DisabilityTypeDescriptorId = source.Section504DisabilityTypeDescriptorId; + target.Section504DisabilityDescriptorId = source.Section504DisabilityDescriptorId; // Copy inherited non-PK properties @@ -64904,6 +65208,20 @@ public static bool SynchronizeTo(this IStudentAssessmentRegistration source, ISt isModified = true; } + if ((mappingContract?.IsScheduledEducationOrganizationIdSupported != false) + && target.ScheduledEducationOrganizationId != source.ScheduledEducationOrganizationId) + { + target.ScheduledEducationOrganizationId = source.ScheduledEducationOrganizationId; + isModified = true; + } + + if ((mappingContract?.IsScheduledStudentUniqueIdSupported != false) + && target.ScheduledStudentUniqueId != source.ScheduledStudentUniqueId) + { + target.ScheduledStudentUniqueId = source.ScheduledStudentUniqueId; + isModified = true; + } + if ((mappingContract?.IsSchoolIdSupported != false) && target.SchoolId != source.SchoolId) { @@ -64984,6 +65302,12 @@ public static void MapTo(this IStudentAssessmentRegistration source, IStudentAss if (mappingContract?.IsReportingEducationOrganizationIdSupported != false) target.ReportingEducationOrganizationId = source.ReportingEducationOrganizationId; + if (mappingContract?.IsScheduledEducationOrganizationIdSupported != false) + target.ScheduledEducationOrganizationId = source.ScheduledEducationOrganizationId; + + if (mappingContract?.IsScheduledStudentUniqueIdSupported != false) + target.ScheduledStudentUniqueId = source.ScheduledStudentUniqueId; + if (mappingContract?.IsSchoolIdSupported != false) target.SchoolId = source.SchoolId; @@ -64998,8 +65322,8 @@ public static void MapTo(this IStudentAssessmentRegistration source, IStudentAss target.AssessmentAdministrationDiscriminator = source.AssessmentAdministrationDiscriminator; target.ReportingEducationOrganizationResourceId = source.ReportingEducationOrganizationResourceId; target.ReportingEducationOrganizationDiscriminator = source.ReportingEducationOrganizationDiscriminator; - target.StudentEducationOrganizationAssessmentAccommodationResourceId = source.StudentEducationOrganizationAssessmentAccommodationResourceId; - target.StudentEducationOrganizationAssessmentAccommodationDiscriminator = source.StudentEducationOrganizationAssessmentAccommodationDiscriminator; + target.ScheduledStudentEducationOrganizationAssessmentAccommodationResourceId = source.ScheduledStudentEducationOrganizationAssessmentAccommodationResourceId; + target.ScheduledStudentEducationOrganizationAssessmentAccommodationDiscriminator = source.ScheduledStudentEducationOrganizationAssessmentAccommodationDiscriminator; target.StudentEducationOrganizationAssociationResourceId = source.StudentEducationOrganizationAssociationResourceId; target.StudentEducationOrganizationAssociationDiscriminator = source.StudentEducationOrganizationAssociationDiscriminator; target.StudentSchoolAssociationResourceId = source.StudentSchoolAssociationResourceId; @@ -66638,6 +66962,19 @@ public static bool SynchronizeTo(this IStudentDisciplineIncidentBehaviorAssociat includeItem: item => mappingContract?.IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodeIncluded?.Invoke(item) ?? true); } + if (mappingContract?.IsStudentDisciplineIncidentBehaviorAssociationWeaponsSupported ?? true) + { + isModified |= + source.StudentDisciplineIncidentBehaviorAssociationWeapons.SynchronizeCollectionTo( + target.StudentDisciplineIncidentBehaviorAssociationWeapons, + onChildAdded: child => + { + child.StudentDisciplineIncidentBehaviorAssociation = target; + }, + itemCreatable: mappingContract?.IsStudentDisciplineIncidentBehaviorAssociationWeaponsItemCreatable ?? true, + includeItem: item => mappingContract?.IsStudentDisciplineIncidentBehaviorAssociationWeaponIncluded?.Invoke(item) ?? true); + } + // Sync extensions isModified |= source.SynchronizeExtensionsTo(target, mappingContract); @@ -66688,6 +67025,11 @@ public static void MapTo(this IStudentDisciplineIncidentBehaviorAssociation sour source.StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodes.MapCollectionTo(target.StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodes, mappingContract?.IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesItemCreatable ?? true, target, mappingContract?.IsStudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodeIncluded); } + if (mappingContract?.IsStudentDisciplineIncidentBehaviorAssociationWeaponsSupported != false) + { + source.StudentDisciplineIncidentBehaviorAssociationWeapons.MapCollectionTo(target.StudentDisciplineIncidentBehaviorAssociationWeapons, mappingContract?.IsStudentDisciplineIncidentBehaviorAssociationWeaponsItemCreatable ?? true, target, mappingContract?.IsStudentDisciplineIncidentBehaviorAssociationWeaponIncluded); + } + // Map extensions source.MapExtensionsTo(target, mappingContract); @@ -66752,6 +67094,76 @@ public static void MapTo(this IStudentDisciplineIncidentBehaviorAssociationDisci // Copy Aggregate Reference Data + // ---------------------------------- + // Map One-to-one relationships + // ---------------------------------- + + // Map lists + + // Map extensions + source.MapExtensionsTo(target, mappingContract); + + // Convert source to an ETag, if appropriate + if (target is IHasETag entityWithETag) + entityWithETag.ETag = GeneratedArtifactStaticDependencies.ETagProvider.GetETag(source); + + // Copy/assign LastModifiedDate, if appropriate + if (target is IDateVersionedEntity targetDateVersionedEntity) + { + if (source is IHasETag etagSource) + { + // Convert resource's supplied eTag value to entity's LastModifiedDate + targetDateVersionedEntity.LastModifiedDate = GeneratedArtifactStaticDependencies.ETagProvider.GetDateTime(etagSource.ETag); + } + else if (source is IDateVersionedEntity sourceDateVersionedEntity) + { + // Copy LastModifiedDate, when mapping from entities to resources/entities + targetDateVersionedEntity.LastModifiedDate = sourceDateVersionedEntity.LastModifiedDate; + } + } + } + } + + [ExcludeFromCodeCoverage] + public static class StudentDisciplineIncidentBehaviorAssociationWeaponMapper + { + private static readonly FullName _fullName_edfi_StudentDisciplineIncidentBehaviorAssociationWeapon = new FullName("edfi", "StudentDisciplineIncidentBehaviorAssociationWeapon"); + + public static bool SynchronizeTo(this IStudentDisciplineIncidentBehaviorAssociationWeapon source, IStudentDisciplineIncidentBehaviorAssociationWeapon target) + { + bool isModified = false; + + // Get the mapping contract for knowing what values to synchronize through to target entity + var mappingContract = (StudentDisciplineIncidentBehaviorAssociationWeaponMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_StudentDisciplineIncidentBehaviorAssociationWeapon); + + + // Copy non-PK properties + + + // Sync lists + // Sync extensions + isModified |= source.SynchronizeExtensionsTo(target, mappingContract); + + return isModified; + } + + public static void MapTo(this IStudentDisciplineIncidentBehaviorAssociationWeapon source, IStudentDisciplineIncidentBehaviorAssociationWeapon target, Action onMapped) + { + // Get the mapping contract for determining what values to map through to target + var mappingContract = (StudentDisciplineIncidentBehaviorAssociationWeaponMappingContract) GeneratedArtifactStaticDependencies + .MappingContractProvider + .GetMappingContract(_fullName_edfi_StudentDisciplineIncidentBehaviorAssociationWeapon); + + // Copy contextual primary key values + target.WeaponDescriptor = source.WeaponDescriptor; + + // Copy non-PK properties + + // Copy Aggregate Reference Data + + // ---------------------------------- // Map One-to-one relationships // ---------------------------------- @@ -74251,10 +74663,10 @@ public static bool SynchronizeTo(this IStudentSection504ProgramAssociation sourc isModified = true; } - if ((mappingContract?.IsSection504DisabilityTypeDescriptorSupported != false) - && target.Section504DisabilityTypeDescriptor != source.Section504DisabilityTypeDescriptor) + if ((mappingContract?.IsSection504DisabilityDescriptorSupported != false) + && target.Section504DisabilityDescriptor != source.Section504DisabilityDescriptor) { - target.Section504DisabilityTypeDescriptor = source.Section504DisabilityTypeDescriptor; + target.Section504DisabilityDescriptor = source.Section504DisabilityDescriptor; isModified = true; } @@ -74333,8 +74745,8 @@ public static void MapDerivedTo(this IStudentSection504ProgramAssociation source if (mappingContract?.IsAccommodationPlanSupported != false) target.AccommodationPlan = source.AccommodationPlan; - if (mappingContract?.IsSection504DisabilityTypeDescriptorSupported != false) - target.Section504DisabilityTypeDescriptor = source.Section504DisabilityTypeDescriptor; + if (mappingContract?.IsSection504DisabilityDescriptorSupported != false) + target.Section504DisabilityDescriptor = source.Section504DisabilityDescriptor; if (mappingContract?.IsSection504EligibilitySupported != false) target.Section504Eligibility = source.Section504Eligibility; @@ -74481,6 +74893,41 @@ public static bool SynchronizeTo(this IStudentSectionAssociation source, IStuden isModified = true; } + if ((mappingContract?.IsDualCreditEducationOrganizationIdSupported != false) + && target.DualCreditEducationOrganizationId != source.DualCreditEducationOrganizationId) + { + target.DualCreditEducationOrganizationId = source.DualCreditEducationOrganizationId; + isModified = true; + } + + if ((mappingContract?.IsDualCreditIndicatorSupported != false) + && target.DualCreditIndicator != source.DualCreditIndicator) + { + target.DualCreditIndicator = source.DualCreditIndicator; + isModified = true; + } + + if ((mappingContract?.IsDualCreditInstitutionDescriptorSupported != false) + && target.DualCreditInstitutionDescriptor != source.DualCreditInstitutionDescriptor) + { + target.DualCreditInstitutionDescriptor = source.DualCreditInstitutionDescriptor; + isModified = true; + } + + if ((mappingContract?.IsDualCreditTypeDescriptorSupported != false) + && target.DualCreditTypeDescriptor != source.DualCreditTypeDescriptor) + { + target.DualCreditTypeDescriptor = source.DualCreditTypeDescriptor; + isModified = true; + } + + if ((mappingContract?.IsDualHighSchoolCreditIndicatorSupported != false) + && target.DualHighSchoolCreditIndicator != source.DualHighSchoolCreditIndicator) + { + target.DualHighSchoolCreditIndicator = source.DualHighSchoolCreditIndicator; + isModified = true; + } + if ((mappingContract?.IsEndDateSupported != false) && target.EndDate != source.EndDate) { @@ -74554,6 +75001,21 @@ public static void MapTo(this IStudentSectionAssociation source, IStudentSection if (mappingContract?.IsAttemptStatusDescriptorSupported != false) target.AttemptStatusDescriptor = source.AttemptStatusDescriptor; + if (mappingContract?.IsDualCreditEducationOrganizationIdSupported != false) + target.DualCreditEducationOrganizationId = source.DualCreditEducationOrganizationId; + + if (mappingContract?.IsDualCreditIndicatorSupported != false) + target.DualCreditIndicator = source.DualCreditIndicator; + + if (mappingContract?.IsDualCreditInstitutionDescriptorSupported != false) + target.DualCreditInstitutionDescriptor = source.DualCreditInstitutionDescriptor; + + if (mappingContract?.IsDualCreditTypeDescriptorSupported != false) + target.DualCreditTypeDescriptor = source.DualCreditTypeDescriptor; + + if (mappingContract?.IsDualHighSchoolCreditIndicatorSupported != false) + target.DualHighSchoolCreditIndicator = source.DualHighSchoolCreditIndicator; + if (mappingContract?.IsEndDateSupported != false) target.EndDate = source.EndDate; @@ -74570,6 +75032,8 @@ public static void MapTo(this IStudentSectionAssociation source, IStudentSection if (GeneratedArtifactStaticDependencies.AuthorizationContextProvider == null || GeneratedArtifactStaticDependencies.AuthorizationContextProvider.GetAction() == RequestActions.ReadActionUri) { + target.DualCreditEducationOrganizationResourceId = source.DualCreditEducationOrganizationResourceId; + target.DualCreditEducationOrganizationDiscriminator = source.DualCreditEducationOrganizationDiscriminator; target.SectionResourceId = source.SectionResourceId; target.SectionDiscriminator = source.SectionDiscriminator; target.StudentResourceId = source.StudentResourceId; @@ -75068,6 +75532,13 @@ public static bool SynchronizeTo(this IStudentSpecialEducationProgramAssociation isModified = true; } + if ((mappingContract?.IsReductionInHoursPerWeekComparedToPeersSupported != false) + && target.ReductionInHoursPerWeekComparedToPeers != source.ReductionInHoursPerWeekComparedToPeers) + { + target.ReductionInHoursPerWeekComparedToPeers = source.ReductionInHoursPerWeekComparedToPeers; + isModified = true; + } + if ((mappingContract?.IsSchoolHoursPerWeekSupported != false) && target.SchoolHoursPerWeek != source.SchoolHoursPerWeek) { @@ -75075,6 +75546,13 @@ public static bool SynchronizeTo(this IStudentSpecialEducationProgramAssociation isModified = true; } + if ((mappingContract?.IsShortenedSchoolDayIndicatorSupported != false) + && target.ShortenedSchoolDayIndicator != source.ShortenedSchoolDayIndicator) + { + target.ShortenedSchoolDayIndicator = source.ShortenedSchoolDayIndicator; + isModified = true; + } + if ((mappingContract?.IsSpecialEducationExitDateSupported != false) && target.SpecialEducationExitDate != source.SpecialEducationExitDate) { @@ -75221,9 +75699,15 @@ public static void MapDerivedTo(this IStudentSpecialEducationProgramAssociation if (mappingContract?.IsMultiplyDisabledSupported != false) target.MultiplyDisabled = source.MultiplyDisabled; + if (mappingContract?.IsReductionInHoursPerWeekComparedToPeersSupported != false) + target.ReductionInHoursPerWeekComparedToPeers = source.ReductionInHoursPerWeekComparedToPeers; + if (mappingContract?.IsSchoolHoursPerWeekSupported != false) target.SchoolHoursPerWeek = source.SchoolHoursPerWeek; + if (mappingContract?.IsShortenedSchoolDayIndicatorSupported != false) + target.ShortenedSchoolDayIndicator = source.ShortenedSchoolDayIndicator; + if (mappingContract?.IsSpecialEducationExitDateSupported != false) target.SpecialEducationExitDate = source.SpecialEducationExitDate; diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Pipelines_CreateOrUpdatePipelines.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Pipelines_CreateOrUpdatePipelines.generated.approved.cs index 1033104107..e984145336 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Pipelines_CreateOrUpdatePipelines.generated.approved.cs +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Pipelines_CreateOrUpdatePipelines.generated.approved.cs @@ -94,6 +94,12 @@ public class AssessmentAdministrationCreateOrUpdatePipeline : CreateOrUpdatePipe public AssessmentAdministrationCreateOrUpdatePipeline(IPipelineFactory factory) : base(factory) { } } + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationCreateOrUpdatePipeline : CreateOrUpdatePipeline + { + public AssessmentAdministrationParticipationCreateOrUpdatePipeline(IPipelineFactory factory) : base(factory) { } + } + [ExcludeFromCodeCoverage] public class AssessmentBatteryPartCreateOrUpdatePipeline : CreateOrUpdatePipeline { @@ -148,12 +154,6 @@ public class AssessmentScoreRangeLearningStandardCreateOrUpdatePipeline : Create public AssessmentScoreRangeLearningStandardCreateOrUpdatePipeline(IPipelineFactory factory) : base(factory) { } } - [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationCreateOrUpdatePipeline : CreateOrUpdatePipeline - { - public AssesssmentAdministrationParticipationCreateOrUpdatePipeline(IPipelineFactory factory) : base(factory) { } - } - [ExcludeFromCodeCoverage] public class AssignmentLateStatusDescriptorCreateOrUpdatePipeline : CreateOrUpdatePipeline { @@ -550,6 +550,18 @@ public class DisplacedStudentStatusDescriptorCreateOrUpdatePipeline : CreateOrUp public DisplacedStudentStatusDescriptorCreateOrUpdatePipeline(IPipelineFactory factory) : base(factory) { } } + [ExcludeFromCodeCoverage] + public class DualCreditInstitutionDescriptorCreateOrUpdatePipeline : CreateOrUpdatePipeline + { + public DualCreditInstitutionDescriptorCreateOrUpdatePipeline(IPipelineFactory factory) : base(factory) { } + } + + [ExcludeFromCodeCoverage] + public class DualCreditTypeDescriptorCreateOrUpdatePipeline : CreateOrUpdatePipeline + { + public DualCreditTypeDescriptorCreateOrUpdatePipeline(IPipelineFactory factory) : base(factory) { } + } + [ExcludeFromCodeCoverage] public class EducationalEnvironmentDescriptorCreateOrUpdatePipeline : CreateOrUpdatePipeline { @@ -1487,9 +1499,9 @@ public SectionCreateOrUpdatePipeline(IPipelineFactory factory) : base(factory) { } [ExcludeFromCodeCoverage] - public class Section504DisabilityTypeDescriptorCreateOrUpdatePipeline : CreateOrUpdatePipeline + public class Section504DisabilityDescriptorCreateOrUpdatePipeline : CreateOrUpdatePipeline { - public Section504DisabilityTypeDescriptorCreateOrUpdatePipeline(IPipelineFactory factory) : base(factory) { } + public Section504DisabilityDescriptorCreateOrUpdatePipeline(IPipelineFactory factory) : base(factory) { } } [ExcludeFromCodeCoverage] diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Requests_Requests.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Requests_Requests.generated.approved.cs index 8b7c464163..5b8c3d701f 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Requests_Requests.generated.approved.cs +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Requests_Requests.generated.approved.cs @@ -800,6 +800,57 @@ public AssessmentAdministrationDelete(Guid id) } } +namespace EdFi.Ods.Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi +{ + + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationGetByExample + { + public string AdministrationIdentifier { get; set; } + public string AssessmentIdentifier { get; set; } + public long AssigningEducationOrganizationId { get; set; } + public Guid Id { get; set; } + public string Namespace { get; set; } + public long ParticipatingEducationOrganizationId { get; set; } + } + + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationGetByIds : IHasIdentifiers + { + public AssessmentAdministrationParticipationGetByIds() { } + + public AssessmentAdministrationParticipationGetByIds(params Guid[] ids) + { + Ids = new List(ids); + } + + public List Ids { get; set; } + } + + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationPost : Resources.AssessmentAdministrationParticipation.EdFi.AssessmentAdministrationParticipation + { + } + + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationPut : Resources.AssessmentAdministrationParticipation.EdFi.AssessmentAdministrationParticipation + { + } + + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationDelete : IHasIdentifier + { + public AssessmentAdministrationParticipationDelete() { } + + public AssessmentAdministrationParticipationDelete(Guid id) + { + Id = id; + } + + public Guid Id { get; set; } + } +} + namespace EdFi.Ods.Api.Common.Models.Requests.AssessmentBatteryParts.EdFi { @@ -1275,57 +1326,6 @@ public AssessmentScoreRangeLearningStandardDelete(Guid id) } } -namespace EdFi.Ods.Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi -{ - - [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationGetByExample - { - public string AdministrationIdentifier { get; set; } - public string AssessmentIdentifier { get; set; } - public long AssigningEducationOrganizationId { get; set; } - public Guid Id { get; set; } - public string Namespace { get; set; } - public long ParticipatingEducationOrganizationId { get; set; } - } - - [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationGetByIds : IHasIdentifiers - { - public AssesssmentAdministrationParticipationGetByIds() { } - - public AssesssmentAdministrationParticipationGetByIds(params Guid[] ids) - { - Ids = new List(ids); - } - - public List Ids { get; set; } - } - - [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationPost : Resources.AssesssmentAdministrationParticipation.EdFi.AssesssmentAdministrationParticipation - { - } - - [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationPut : Resources.AssesssmentAdministrationParticipation.EdFi.AssesssmentAdministrationParticipation - { - } - - [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationDelete : IHasIdentifier - { - public AssesssmentAdministrationParticipationDelete() { } - - public AssesssmentAdministrationParticipationDelete(Guid id) - { - Id = id; - } - - public Guid Id { get; set; } - } -} - namespace EdFi.Ods.Api.Common.Models.Requests.AssignmentLateStatusDescriptors.EdFi { @@ -4862,6 +4862,112 @@ public DisplacedStudentStatusDescriptorDelete(Guid id) } } +namespace EdFi.Ods.Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi +{ + + [ExcludeFromCodeCoverage] + public class DualCreditInstitutionDescriptorGetByExample + { + public string CodeValue { get; set; } + public string Description { get; set; } + public int DualCreditInstitutionDescriptorId { get; set; } + public DateTime EffectiveBeginDate { get; set; } + public DateTime EffectiveEndDate { get; set; } + public Guid Id { get; set; } + public string Namespace { get; set; } + public string ShortDescription { get; set; } + } + + [ExcludeFromCodeCoverage] + public class DualCreditInstitutionDescriptorGetByIds : IHasIdentifiers + { + public DualCreditInstitutionDescriptorGetByIds() { } + + public DualCreditInstitutionDescriptorGetByIds(params Guid[] ids) + { + Ids = new List(ids); + } + + public List Ids { get; set; } + } + + [ExcludeFromCodeCoverage] + public class DualCreditInstitutionDescriptorPost : Resources.DualCreditInstitutionDescriptor.EdFi.DualCreditInstitutionDescriptor + { + } + + [ExcludeFromCodeCoverage] + public class DualCreditInstitutionDescriptorPut : Resources.DualCreditInstitutionDescriptor.EdFi.DualCreditInstitutionDescriptor + { + } + + [ExcludeFromCodeCoverage] + public class DualCreditInstitutionDescriptorDelete : IHasIdentifier + { + public DualCreditInstitutionDescriptorDelete() { } + + public DualCreditInstitutionDescriptorDelete(Guid id) + { + Id = id; + } + + public Guid Id { get; set; } + } +} + +namespace EdFi.Ods.Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi +{ + + [ExcludeFromCodeCoverage] + public class DualCreditTypeDescriptorGetByExample + { + public string CodeValue { get; set; } + public string Description { get; set; } + public int DualCreditTypeDescriptorId { get; set; } + public DateTime EffectiveBeginDate { get; set; } + public DateTime EffectiveEndDate { get; set; } + public Guid Id { get; set; } + public string Namespace { get; set; } + public string ShortDescription { get; set; } + } + + [ExcludeFromCodeCoverage] + public class DualCreditTypeDescriptorGetByIds : IHasIdentifiers + { + public DualCreditTypeDescriptorGetByIds() { } + + public DualCreditTypeDescriptorGetByIds(params Guid[] ids) + { + Ids = new List(ids); + } + + public List Ids { get; set; } + } + + [ExcludeFromCodeCoverage] + public class DualCreditTypeDescriptorPost : Resources.DualCreditTypeDescriptor.EdFi.DualCreditTypeDescriptor + { + } + + [ExcludeFromCodeCoverage] + public class DualCreditTypeDescriptorPut : Resources.DualCreditTypeDescriptor.EdFi.DualCreditTypeDescriptor + { + } + + [ExcludeFromCodeCoverage] + public class DualCreditTypeDescriptorDelete : IHasIdentifier + { + public DualCreditTypeDescriptorDelete() { } + + public DualCreditTypeDescriptorDelete(Guid id) + { + Id = id; + } + + public Guid Id { get; set; } + } +} + namespace EdFi.Ods.Api.Common.Models.Requests.EducationalEnvironmentDescriptors.EdFi { @@ -13147,11 +13253,11 @@ public SectionDelete(Guid id) } } -namespace EdFi.Ods.Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi +namespace EdFi.Ods.Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi { [ExcludeFromCodeCoverage] - public class Section504DisabilityTypeDescriptorGetByExample + public class Section504DisabilityDescriptorGetByExample { public string CodeValue { get; set; } public string Description { get; set; } @@ -13159,16 +13265,16 @@ public class Section504DisabilityTypeDescriptorGetByExample public DateTime EffectiveEndDate { get; set; } public Guid Id { get; set; } public string Namespace { get; set; } - public int Section504DisabilityTypeDescriptorId { get; set; } + public int Section504DisabilityDescriptorId { get; set; } public string ShortDescription { get; set; } } [ExcludeFromCodeCoverage] - public class Section504DisabilityTypeDescriptorGetByIds : IHasIdentifiers + public class Section504DisabilityDescriptorGetByIds : IHasIdentifiers { - public Section504DisabilityTypeDescriptorGetByIds() { } + public Section504DisabilityDescriptorGetByIds() { } - public Section504DisabilityTypeDescriptorGetByIds(params Guid[] ids) + public Section504DisabilityDescriptorGetByIds(params Guid[] ids) { Ids = new List(ids); } @@ -13177,21 +13283,21 @@ public Section504DisabilityTypeDescriptorGetByIds(params Guid[] ids) } [ExcludeFromCodeCoverage] - public class Section504DisabilityTypeDescriptorPost : Resources.Section504DisabilityTypeDescriptor.EdFi.Section504DisabilityTypeDescriptor + public class Section504DisabilityDescriptorPost : Resources.Section504DisabilityDescriptor.EdFi.Section504DisabilityDescriptor { } [ExcludeFromCodeCoverage] - public class Section504DisabilityTypeDescriptorPut : Resources.Section504DisabilityTypeDescriptor.EdFi.Section504DisabilityTypeDescriptor + public class Section504DisabilityDescriptorPut : Resources.Section504DisabilityDescriptor.EdFi.Section504DisabilityDescriptor { } [ExcludeFromCodeCoverage] - public class Section504DisabilityTypeDescriptorDelete : IHasIdentifier + public class Section504DisabilityDescriptorDelete : IHasIdentifier { - public Section504DisabilityTypeDescriptorDelete() { } + public Section504DisabilityDescriptorDelete() { } - public Section504DisabilityTypeDescriptorDelete(Guid id) + public Section504DisabilityDescriptorDelete(Guid id) { Id = id; } @@ -15016,6 +15122,8 @@ public class StudentAssessmentRegistrationGetByExample public string Namespace { get; set; } public string PlatformTypeDescriptor { get; set; } public long ReportingEducationOrganizationId { get; set; } + public long ScheduledEducationOrganizationId { get; set; } + public string ScheduledStudentUniqueId { get; set; } public long SchoolId { get; set; } public string StudentUniqueId { get; set; } public long TestingEducationOrganizationId { get; set; } @@ -16525,7 +16633,7 @@ public class StudentSection504ProgramAssociationGetByExample public string ProgramName { get; set; } public string ProgramTypeDescriptor { get; set; } public string ReasonExitedDescriptor { get; set; } - public string Section504DisabilityTypeDescriptor { get; set; } + public string Section504DisabilityDescriptor { get; set; } public bool Section504Eligibility { get; set; } public DateTime Section504EligibilityDecisionDate { get; set; } public DateTime Section504MeetingDate { get; set; } @@ -16578,6 +16686,11 @@ public class StudentSectionAssociationGetByExample { public string AttemptStatusDescriptor { get; set; } public DateTime BeginDate { get; set; } + public long DualCreditEducationOrganizationId { get; set; } + public bool DualCreditIndicator { get; set; } + public string DualCreditInstitutionDescriptor { get; set; } + public string DualCreditTypeDescriptor { get; set; } + public bool DualHighSchoolCreditIndicator { get; set; } public DateTime EndDate { get; set; } public bool HomeroomIndicator { get; set; } public Guid Id { get; set; } @@ -16709,8 +16822,10 @@ public class StudentSpecialEducationProgramAssociationGetByExample public string ProgramName { get; set; } public string ProgramTypeDescriptor { get; set; } public string ReasonExitedDescriptor { get; set; } + public decimal ReductionInHoursPerWeekComparedToPeers { get; set; } public decimal SchoolHoursPerWeek { get; set; } public bool ServedOutsideOfRegularSession { get; set; } + public bool ShortenedSchoolDayIndicator { get; set; } public DateTime SpecialEducationExitDate { get; set; } public string SpecialEducationExitExplained { get; set; } public string SpecialEducationExitReasonDescriptor { get; set; } diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Resources_Resources.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Resources_Resources.generated.approved.cs index cb037fe0b4..ab76bd39a6 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Resources_Resources.generated.approved.cs +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Resources_Resources.generated.approved.cs @@ -9382,8 +9382,8 @@ public class AssessmentAdministration : Entities.Common.EdFi.IAssessmentAdminist public AssessmentAdministration() { - AssessmentAdministrationAssessmentAdminstrationPeriods = new List(); AssessmentAdministrationAssessmentBatteryParts = new List(); + AssessmentAdministrationPeriods = new List(); } // ------------------------------------------------------------ @@ -9666,64 +9666,64 @@ public override int GetHashCode() // ============================================================= // Collections // ------------------------------------------------------------- - private ICollection _assessmentAdministrationAssessmentAdminstrationPeriods; - private ICollection _assessmentAdministrationAssessmentAdminstrationPeriodsCovariant; + private ICollection _assessmentAdministrationAssessmentBatteryParts; + private ICollection _assessmentAdministrationAssessmentBatteryPartsCovariant; [NoDuplicateMembers] - [DataMember(Name="assessmentAdminstrationPeriods")] - public ICollection AssessmentAdministrationAssessmentAdminstrationPeriods + [DataMember(Name="assessmentBatteryParts")] + public ICollection AssessmentAdministrationAssessmentBatteryParts { - get { return _assessmentAdministrationAssessmentAdminstrationPeriods; } + get { return _assessmentAdministrationAssessmentBatteryParts; } set { if (value == null) return; // Initialize primary list with notifying adapter immediately wired up so existing items are associated with the parent - var list = new CollectionAdapterWithAddNotifications(value, - (s, e) => ((Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod)e.Item).AssessmentAdministration = this); - _assessmentAdministrationAssessmentAdminstrationPeriods = list; + var list = new CollectionAdapterWithAddNotifications(value, + (s, e) => ((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart)e.Item).AssessmentAdministration = this); + _assessmentAdministrationAssessmentBatteryParts = list; // Initialize covariant list with notifying adapter with deferred wire up so only new items are processed (optimization) - var covariantList = new CovariantCollectionAdapterWithAddNotifications(value); - covariantList.ItemAdded += (s, e) => ((Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod)e.Item).AssessmentAdministration = this; - _assessmentAdministrationAssessmentAdminstrationPeriodsCovariant = covariantList; + var covariantList = new CovariantCollectionAdapterWithAddNotifications(value); + covariantList.ItemAdded += (s, e) => ((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart)e.Item).AssessmentAdministration = this; + _assessmentAdministrationAssessmentBatteryPartsCovariant = covariantList; } } // Covariant version, visible only on the interface - ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationAssessmentAdminstrationPeriods + ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationAssessmentBatteryParts { - get { return _assessmentAdministrationAssessmentAdminstrationPeriodsCovariant; } - set { AssessmentAdministrationAssessmentAdminstrationPeriods = new List(value.Cast()); } + get { return _assessmentAdministrationAssessmentBatteryPartsCovariant; } + set { AssessmentAdministrationAssessmentBatteryParts = new List(value.Cast()); } } - private ICollection _assessmentAdministrationAssessmentBatteryParts; - private ICollection _assessmentAdministrationAssessmentBatteryPartsCovariant; + private ICollection _assessmentAdministrationPeriods; + private ICollection _assessmentAdministrationPeriodsCovariant; [NoDuplicateMembers] - [DataMember(Name="assessmentBatteryParts")] - public ICollection AssessmentAdministrationAssessmentBatteryParts + [DataMember(Name="periods")] + public ICollection AssessmentAdministrationPeriods { - get { return _assessmentAdministrationAssessmentBatteryParts; } + get { return _assessmentAdministrationPeriods; } set { if (value == null) return; // Initialize primary list with notifying adapter immediately wired up so existing items are associated with the parent - var list = new CollectionAdapterWithAddNotifications(value, - (s, e) => ((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart)e.Item).AssessmentAdministration = this); - _assessmentAdministrationAssessmentBatteryParts = list; + var list = new CollectionAdapterWithAddNotifications(value, + (s, e) => ((Entities.Common.EdFi.IAssessmentAdministrationPeriod)e.Item).AssessmentAdministration = this); + _assessmentAdministrationPeriods = list; // Initialize covariant list with notifying adapter with deferred wire up so only new items are processed (optimization) - var covariantList = new CovariantCollectionAdapterWithAddNotifications(value); - covariantList.ItemAdded += (s, e) => ((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart)e.Item).AssessmentAdministration = this; - _assessmentAdministrationAssessmentBatteryPartsCovariant = covariantList; + var covariantList = new CovariantCollectionAdapterWithAddNotifications(value); + covariantList.ItemAdded += (s, e) => ((Entities.Common.EdFi.IAssessmentAdministrationPeriod)e.Item).AssessmentAdministration = this; + _assessmentAdministrationPeriodsCovariant = covariantList; } } // Covariant version, visible only on the interface - ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationAssessmentBatteryParts + ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationPeriods { - get { return _assessmentAdministrationAssessmentBatteryPartsCovariant; } - set { AssessmentAdministrationAssessmentBatteryParts = new List(value.Cast()); } + get { return _assessmentAdministrationPeriodsCovariant; } + set { AssessmentAdministrationPeriods = new List(value.Cast()); } } // ------------------------------------------------------------- @@ -9748,12 +9748,12 @@ public ICollection AssessmentAdmi internal void OnDeserialized(StreamingContext context) { // Reconnect collection item parent references on deserialization - if (_assessmentAdministrationAssessmentAdminstrationPeriods != null) foreach (var item in _assessmentAdministrationAssessmentAdminstrationPeriods) + if (_assessmentAdministrationAssessmentBatteryParts != null) foreach (var item in _assessmentAdministrationAssessmentBatteryParts) { item.AssessmentAdministration = this; } - if (_assessmentAdministrationAssessmentBatteryParts != null) foreach (var item in _assessmentAdministrationAssessmentBatteryParts) + if (_assessmentAdministrationPeriods != null) foreach (var item in _assessmentAdministrationPeriods) { item.AssessmentAdministration = this; } @@ -9828,25 +9828,25 @@ string Entities.Common.EdFi.IAssessmentAdministration.AssigningEducationOrganiza // ---------------------- // Validate collections // ---------------------- - if (AssessmentAdministrationAssessmentAdminstrationPeriods.Any() && mappingContract?.IsMemberSupported("AssessmentAdministrationAssessmentAdminstrationPeriods") != false) + if (AssessmentAdministrationAssessmentBatteryParts.Any() && mappingContract?.IsMemberSupported("AssessmentAdministrationAssessmentBatteryParts") != false) { // Reset path builder pathBuilder.Length = dotLength; - pathBuilder.Append("AssessmentAdministrationAssessmentAdminstrationPeriods"); + pathBuilder.Append("AssessmentAdministrationAssessmentBatteryParts"); - foreach (var result in ValidationHelpers.ValidateCollection(new ValidationContext(AssessmentAdministrationAssessmentAdminstrationPeriods, validationContext, validationContext.Items.ForCollection("AssessmentAdministrationAssessmentAdminstrationPeriods")))) + foreach (var result in ValidationHelpers.ValidateCollection(new ValidationContext(AssessmentAdministrationAssessmentBatteryParts, validationContext, validationContext.Items.ForCollection("AssessmentAdministrationAssessmentBatteryParts")))) { yield return result; } } - if (AssessmentAdministrationAssessmentBatteryParts.Any() && mappingContract?.IsMemberSupported("AssessmentAdministrationAssessmentBatteryParts") != false) + if (AssessmentAdministrationPeriods.Any() && mappingContract?.IsMemberSupported("AssessmentAdministrationPeriods") != false) { // Reset path builder pathBuilder.Length = dotLength; - pathBuilder.Append("AssessmentAdministrationAssessmentBatteryParts"); + pathBuilder.Append("AssessmentAdministrationPeriods"); - foreach (var result in ValidationHelpers.ValidateCollection(new ValidationContext(AssessmentAdministrationAssessmentBatteryParts, validationContext, validationContext.Items.ForCollection("AssessmentAdministrationAssessmentBatteryParts")))) + foreach (var result in ValidationHelpers.ValidateCollection(new ValidationContext(AssessmentAdministrationPeriods, validationContext, validationContext.Items.ForCollection("AssessmentAdministrationPeriods")))) { yield return result; } @@ -9902,8 +9902,8 @@ public class AssessmentAdministrationPutPostRequestValidator : FluentValidation. private static readonly FullName _fullName_edfi_AssessmentAdministration = new FullName("edfi", "AssessmentAdministration"); // Declare collection item validators - private AssessmentAdministrationAssessmentAdminstrationPeriodPutPostRequestValidator _assessmentAdministrationAssessmentAdminstrationPeriodsValidator = new (); private AssessmentAdministrationAssessmentBatteryPartPutPostRequestValidator _assessmentAdministrationAssessmentBatteryPartsValidator = new (); + private AssessmentAdministrationPeriodPutPostRequestValidator _assessmentAdministrationPeriodsValidator = new (); protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { @@ -9927,17 +9927,6 @@ protected override bool PreValidate(FluentValidation.ValidationContext !mappingContract.IsAssessmentAdministrationAssessmentAdminstrationPeriodIncluded(x)); - - if (hasInvalidAssessmentAdministrationAssessmentAdminstrationPeriodsItems) - { - profileName ??= GeneratedArtifactStaticDependencies.ProfileContentTypeContextProvider.Get().ProfileName; - failures.Add(new ValidationFailure("AssessmentAdministrationAssessmentAdminstrationPeriods", $"A supplied 'AssessmentAdministrationAssessmentAdminstrationPeriod' has a descriptor value that does not conform with the filter values defined by profile '{profileName}'.")); - } - } - if (mappingContract.IsAssessmentAdministrationAssessmentBatteryPartIncluded != null) { var hasInvalidAssessmentAdministrationAssessmentBatteryPartsItems = instance.AssessmentAdministrationAssessmentBatteryParts.Any(x => !mappingContract.IsAssessmentAdministrationAssessmentBatteryPartIncluded(x)); @@ -9949,294 +9938,18 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// A class which represents the edfi.AssessmentAdministrationAssessmentAdminstrationPeriod table of the AssessmentAdministration aggregate in the ODS Database. - /// - [Serializable, DataContract] - [ExcludeFromCodeCoverage] - public class AssessmentAdministrationAssessmentAdminstrationPeriod : Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod, IValidatableObject - { - private static FullName _fullName = new FullName("edfi", "AssessmentAdministrationAssessmentAdminstrationPeriod"); - - // Fluent validator instance (threadsafe) - private static AssessmentAdministrationAssessmentAdminstrationPeriodPutPostRequestValidator _validator = new AssessmentAdministrationAssessmentAdminstrationPeriodPutPostRequestValidator(); + var hasInvalidAssessmentAdministrationPeriodsItems = instance.AssessmentAdministrationPeriods.Any(x => !mappingContract.IsAssessmentAdministrationPeriodIncluded(x)); -#pragma warning disable 414 - private bool _SuspendReferenceAssignmentCheck = false; - public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; } -#pragma warning restore 414 - - // ============================================================= - // Constructor - // ------------------------------------------------------------- - - - // ------------------------------------------------------------ - - // ============================================================ - // Unique Identifier - // ------------------------------------------------------------ - // ------------------------------------------------------------ - - // ============================================================= - // References - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - //============================================================== - // Primary Key - // ------------------------------------------------------------- - private Entities.Common.EdFi.IAssessmentAdministration _assessmentAdministration; - - [IgnoreDataMember] - Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationAssessmentAdminstrationPeriod.AssessmentAdministration - { - get { return _assessmentAdministration; } - set { SetAssessmentAdministration(value); } - } - - public Entities.Common.EdFi.IAssessmentAdministration AssessmentAdministration - { - set { SetAssessmentAdministration(value); } - } - - private void SetAssessmentAdministration(Entities.Common.EdFi.IAssessmentAdministration value) - { - _assessmentAdministration = value; - } - - /// - /// The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [DataMember(Name="beginDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] - public DateTime BeginDate { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Equality - // ------------------------------------------------------------- - - /// - /// Determines equality based on the natural key properties of the resource. - /// - /// - /// A boolean value indicating equality result of the compared resources. - /// - public override bool Equals(object obj) - { - var compareTo = obj as Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod; - - if (ReferenceEquals(this, compareTo)) - return true; - - if (compareTo == null) - return false; - - // Parent Property - if (_assessmentAdministration == null || !_assessmentAdministration.Equals(compareTo.AssessmentAdministration)) - return false; - - - // Standard Property - if (!(this as Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod).BeginDate.Equals(compareTo.BeginDate)) - return false; - - - return true; - } - - /// - /// Builds the hash code based on the unique identifying values. - /// - /// - /// A hash code for the resource. - /// - public override int GetHashCode() - { - var hash = new HashCode(); - //Parent Property - if (_assessmentAdministration != null) - hash.Add(_assessmentAdministration); - - // Standard Property - hash.Add((this as Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod).BeginDate); - - return hash.ToHashCode(); - } - // ------------------------------------------------------------- - - // ============================================================= - // Inherited Properties - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Properties - // ------------------------------------------------------------- - - /// - /// The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines. - /// - // NOT in a reference, NOT a lookup column - [DataMember(Name="endDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] - public DateTime? EndDate { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // One-to-one relationships - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Inherited One-to-one relationships - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Inherited Collections - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Extensions - // ------------------------------------------------------------- - [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssessmentAdministration", "AssessmentAdministrationAssessmentAdminstrationPeriod")] - public System.Collections.IDictionary Extensions { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Collections - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Versioning - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ------------------------------------------------------------- - // OnDeserialize - // ------------------------------------------------------------- - // ------------------------------------------------------------ - - // ============================================================ - // Data Synchronization - // ------------------------------------------------------------ - bool ISynchronizable.Synchronize(object target) - { - return Entities.Common.EdFi.AssessmentAdministrationAssessmentAdminstrationPeriodMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod)target); - } - - void IMappable.Map(object target) - { - Entities.Common.EdFi.AssessmentAdministrationAssessmentAdminstrationPeriodMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod)target, null); - } - // ------------------------------------------------------------- - - // ================================================================= - // Resource Reference Data - // ----------------------------------------------------------------- - // ----------------------------------------------------------------- - - // ================================== - // Validation - // ---------------------------------- - IEnumerable IValidatableObject.Validate(ValidationContext validationContext) - { - var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; - var mappingContract = mappingContractProvider.GetMappingContract(_fullName); - - var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); - - int originalLength = pathBuilder.Length; - - try - { - // Prepare builders for validating members - pathBuilder.Append(ValidationHelpers.JsonPathSeparator); - int dotLength = pathBuilder.Length; - - // ---------------------- - // Validate collections - // ---------------------- - - // --------------------------- - // Validate embedded objects - // --------------------------- - - // --------------------- - // Validate Extensions - // --------------------- - if (Extensions != null) - { - // Reset path builder - pathBuilder.Length = dotLength; - pathBuilder.Append(nameof(Extensions)); - - foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) + if (hasInvalidAssessmentAdministrationPeriodsItems) { - yield return result; + profileName ??= GeneratedArtifactStaticDependencies.ProfileContentTypeContextProvider.Get().ProfileName; + failures.Add(new ValidationFailure("AssessmentAdministrationPeriods", $"A supplied 'AssessmentAdministrationPeriod' has a descriptor value that does not conform with the filter values defined by profile '{profileName}'.")); } } - - // Execute the resource's fluent validator - var fluentValidationResult = _validator.Validate(this); - if (!fluentValidationResult.IsValid) - { - foreach (var error in fluentValidationResult.Errors) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); - } - } - } - finally - { - // Restore original length - pathBuilder.Length = originalLength; } - // ---------------------------------- - } - } - - // ================================================================= - // Validators - // ----------------------------------------------------------------- - - [ExcludeFromCodeCoverage] - public class AssessmentAdministrationAssessmentAdminstrationPeriodPutPostRequestValidator : FluentValidation.AbstractValidator - { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) - { - if (context.InstanceToValidate == null) - { - result.Errors.Add(new ValidationFailure("", "Please ensure a model was supplied.")); - - return false; - } - - var instance = context.InstanceToValidate; - - var failures = new List(); if (failures.Any()) { @@ -10671,6 +10384,1402 @@ protected override bool PreValidate(FluentValidation.ValidationContext + /// A class which represents the edfi.AssessmentAdministrationPeriod table of the AssessmentAdministration aggregate in the ODS Database. + /// + [Serializable, DataContract] + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationPeriod : Entities.Common.EdFi.IAssessmentAdministrationPeriod, IValidatableObject + { + private static FullName _fullName = new FullName("edfi", "AssessmentAdministrationPeriod"); + + // Fluent validator instance (threadsafe) + private static AssessmentAdministrationPeriodPutPostRequestValidator _validator = new AssessmentAdministrationPeriodPutPostRequestValidator(); + +#pragma warning disable 414 + private bool _SuspendReferenceAssignmentCheck = false; + public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; } +#pragma warning restore 414 + + // ============================================================= + // Constructor + // ------------------------------------------------------------- + + + // ------------------------------------------------------------ + + // ============================================================ + // Unique Identifier + // ------------------------------------------------------------ + // ------------------------------------------------------------ + + // ============================================================= + // References + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + //============================================================== + // Primary Key + // ------------------------------------------------------------- + private Entities.Common.EdFi.IAssessmentAdministration _assessmentAdministration; + + [IgnoreDataMember] + Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationPeriod.AssessmentAdministration + { + get { return _assessmentAdministration; } + set { SetAssessmentAdministration(value); } + } + + public Entities.Common.EdFi.IAssessmentAdministration AssessmentAdministration + { + set { SetAssessmentAdministration(value); } + } + + private void SetAssessmentAdministration(Entities.Common.EdFi.IAssessmentAdministration value) + { + _assessmentAdministration = value; + } + + /// + /// The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [DataMember(Name="beginDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] + public DateTime BeginDate { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Equality + // ------------------------------------------------------------- + + /// + /// Determines equality based on the natural key properties of the resource. + /// + /// + /// A boolean value indicating equality result of the compared resources. + /// + public override bool Equals(object obj) + { + var compareTo = obj as Entities.Common.EdFi.IAssessmentAdministrationPeriod; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + // Parent Property + if (_assessmentAdministration == null || !_assessmentAdministration.Equals(compareTo.AssessmentAdministration)) + return false; + + + // Standard Property + if (!(this as Entities.Common.EdFi.IAssessmentAdministrationPeriod).BeginDate.Equals(compareTo.BeginDate)) + return false; + + + return true; + } + + /// + /// Builds the hash code based on the unique identifying values. + /// + /// + /// A hash code for the resource. + /// + public override int GetHashCode() + { + var hash = new HashCode(); + //Parent Property + if (_assessmentAdministration != null) + hash.Add(_assessmentAdministration); + + // Standard Property + hash.Add((this as Entities.Common.EdFi.IAssessmentAdministrationPeriod).BeginDate); + + return hash.ToHashCode(); + } + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + + /// + /// The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="endDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] + public DateTime? EndDate { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssessmentAdministration", "AssessmentAdministrationPeriod")] + public System.Collections.IDictionary Extensions { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Versioning + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ------------------------------------------------------------- + // OnDeserialize + // ------------------------------------------------------------- + // ------------------------------------------------------------ + + // ============================================================ + // Data Synchronization + // ------------------------------------------------------------ + bool ISynchronizable.Synchronize(object target) + { + return Entities.Common.EdFi.AssessmentAdministrationPeriodMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentAdministrationPeriod)target); + } + + void IMappable.Map(object target) + { + Entities.Common.EdFi.AssessmentAdministrationPeriodMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentAdministrationPeriod)target, null); + } + // ------------------------------------------------------------- + + // ================================================================= + // Resource Reference Data + // ----------------------------------------------------------------- + // ----------------------------------------------------------------- + + // ================================== + // Validation + // ---------------------------------- + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; + var mappingContract = mappingContractProvider.GetMappingContract(_fullName); + + var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); + + int originalLength = pathBuilder.Length; + + try + { + // Prepare builders for validating members + pathBuilder.Append(ValidationHelpers.JsonPathSeparator); + int dotLength = pathBuilder.Length; + + // ---------------------- + // Validate collections + // ---------------------- + + // --------------------------- + // Validate embedded objects + // --------------------------- + + // --------------------- + // Validate Extensions + // --------------------- + if (Extensions != null) + { + // Reset path builder + pathBuilder.Length = dotLength; + pathBuilder.Append(nameof(Extensions)); + + foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) + { + yield return result; + } + } + + // Execute the resource's fluent validator + var fluentValidationResult = _validator.Validate(this); + + if (!fluentValidationResult.IsValid) + { + foreach (var error in fluentValidationResult.Errors) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); + } + } + } + finally + { + // Restore original length + pathBuilder.Length = originalLength; + } + // ---------------------------------- + } + } + + // ================================================================= + // Validators + // ----------------------------------------------------------------- + + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationPeriodPutPostRequestValidator : FluentValidation.AbstractValidator + { + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + { + if (context.InstanceToValidate == null) + { + result.Errors.Add(new ValidationFailure("", "Please ensure a model was supplied.")); + + return false; + } + + var instance = context.InstanceToValidate; + + var failures = new List(); + + if (failures.Any()) + { + foreach (var failure in failures) + { + result.Errors.Add(failure); + } + + return false; + } + + return true; + } + } + // ----------------------------------------------------------------- + +} +// Aggregate: AssessmentAdministrationParticipation + +namespace EdFi.Ods.Api.Common.Models.Resources.AssessmentAdministrationParticipation.EdFi +{ + /// + /// Represents a reference to the AssessmentAdministrationParticipation resource. + /// + [DataContract] + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationReference : IResourceReference + { + [DataMember(Name="administrationIdentifier")] + public string AdministrationIdentifier { get; set; } + + [DataMember(Name="assessmentIdentifier")] + public string AssessmentIdentifier { get; set; } + + [DataMember(Name="assigningEducationOrganizationId")] + public long AssigningEducationOrganizationId { get; set; } + + [DataMember(Name="namespace")] + public string Namespace { get; set; } + + [DataMember(Name="participatingEducationOrganizationId")] + public long ParticipatingEducationOrganizationId { get; set; } + + /// + /// Gets or sets the resource identifier of the referenced resource. + /// + public Guid ResourceId { get; set; } + + /// + /// Gets or sets the discriminator value which identifies the concrete sub-type of the referenced resource + /// when the referenced resource has been derived; otherwise null. + /// + public string Discriminator { get; set; } + + + private Link _link; + + [DataMember(Name="link")] + public Link Link + { + get + { + if (_link == null) + { + // Only generate links when all values are present + if (IsReferenceFullyDefined()) + _link = CreateLink(); + } + + return _link; + } + } + + /// + /// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values). + /// + /// true if the reference's properties are all set to non-default values; otherwise false. + public bool IsReferenceFullyDefined() + { + return AdministrationIdentifier != default(string) && AssessmentIdentifier != default(string) && AssigningEducationOrganizationId != default(long) && Namespace != default(string) && ParticipatingEducationOrganizationId != default(long); + } + + IEnumerable IResourceReference.GetUndefinedProperties() + { + if (AdministrationIdentifier == default) + { + yield return "AdministrationIdentifier"; + } + + if (AssessmentIdentifier == default) + { + yield return "AssessmentIdentifier"; + } + + if (AssigningEducationOrganizationId == default) + { + yield return "AssigningEducationOrganizationId"; + } + + if (Namespace == default) + { + yield return "Namespace"; + } + + if (ParticipatingEducationOrganizationId == default) + { + yield return "ParticipatingEducationOrganizationId"; + } + + } + + private Link CreateLink() + { + var link = new Link + { + Rel = "AssessmentAdministrationParticipation", + Href = $"/ed-fi/assessmentAdministrationParticipations/{ResourceId:n}" + }; + + if (string.IsNullOrEmpty(Discriminator)) + return link; + + string[] linkParts = Discriminator.Split('.'); + + if (linkParts.Length < 2) + return link; + + var resource = GeneratedArtifactStaticDependencies.ResourceModelProvider.GetResourceModel() + .GetResourceByFullName(new FullName(linkParts[0], linkParts[1])); + + // return the default link if the relationship is already correct, and/or if the resource is not found. + if (resource == null || link.Rel == resource.Name) + return link; + + return new Link + { + Rel = resource.Name, + Href = $"/{resource.SchemaUriSegment()}/{resource.PluralName.ToCamelCase()}/{ResourceId:n}" + }; + } + } // Aggregate reference + + /// + /// A class which represents the edfi.AssessmentAdministrationParticipation table of the AssessmentAdministrationParticipation aggregate in the ODS Database. + /// + [Serializable, DataContract] + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipation : Entities.Common.EdFi.IAssessmentAdministrationParticipation, IHasETag, IDateVersionedEntity, IValidatableObject + { + private static FullName _fullName = new FullName("edfi", "AssessmentAdministrationParticipation"); + + // Fluent validator instance (threadsafe) + private static AssessmentAdministrationParticipationPutPostRequestValidator _validator = new AssessmentAdministrationParticipationPutPostRequestValidator(); + +#pragma warning disable 414 + private bool _SuspendReferenceAssignmentCheck = false; + public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; } +#pragma warning restore 414 + + // ============================================================= + // Constructor + // ------------------------------------------------------------- + + public AssessmentAdministrationParticipation() + { + AssessmentAdministrationParticipationAdministrationPointOfContacts = new List(); + } + + // ------------------------------------------------------------ + + // ============================================================ + // Unique Identifier + // ------------------------------------------------------------ + + /// + /// The unique identifier for the AssessmentAdministrationParticipation resource. + /// + [DataMember(Name="id")] + [JsonConverter(typeof(GuidConverter))] + public Guid Id { get; set; } + // ------------------------------------------------------------ + + // ============================================================= + // References + // ------------------------------------------------------------- + + private bool _assessmentAdministrationReferenceExplicitlyAssigned; + private AssessmentAdministration.EdFi.AssessmentAdministrationReference _assessmentAdministrationReference; + private AssessmentAdministration.EdFi.AssessmentAdministrationReference ImplicitAssessmentAdministrationReference + { + get + { + // if the Reference is null, it is instantiated unless it has been explicitly assigned to null + if (_assessmentAdministrationReference == null && !_assessmentAdministrationReferenceExplicitlyAssigned) + _assessmentAdministrationReference = new AssessmentAdministration.EdFi.AssessmentAdministrationReference(); + + return _assessmentAdministrationReference; + } + } + + [DataMember(Name="assessmentAdministrationReference")] + [FullyDefinedReference][RequiredReference(isIdentifying: true)] + public AssessmentAdministration.EdFi.AssessmentAdministrationReference AssessmentAdministrationReference + { + get + { + // Only return the reference if it's non-null, and all its properties have non-default values assigned + if (ImplicitAssessmentAdministrationReference != null + && (_assessmentAdministrationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitAssessmentAdministrationReference.IsReferenceFullyDefined())) + return ImplicitAssessmentAdministrationReference; + + return null; + } + set + { + _assessmentAdministrationReferenceExplicitlyAssigned = true; + _assessmentAdministrationReference = value; + } + } + private bool _participatingEducationOrganizationReferenceExplicitlyAssigned; + private EducationOrganization.EdFi.EducationOrganizationReference _participatingEducationOrganizationReference; + private EducationOrganization.EdFi.EducationOrganizationReference ImplicitParticipatingEducationOrganizationReference + { + get + { + // if the Reference is null, it is instantiated unless it has been explicitly assigned to null + if (_participatingEducationOrganizationReference == null && !_participatingEducationOrganizationReferenceExplicitlyAssigned) + _participatingEducationOrganizationReference = new EducationOrganization.EdFi.EducationOrganizationReference(); + + return _participatingEducationOrganizationReference; + } + } + + [DataMember(Name="participatingEducationOrganizationReference")] + [FullyDefinedReference][RequiredReference(isIdentifying: true)] + public EducationOrganization.EdFi.EducationOrganizationReference ParticipatingEducationOrganizationReference + { + get + { + // Only return the reference if it's non-null, and all its properties have non-default values assigned + if (ImplicitParticipatingEducationOrganizationReference != null + && (_participatingEducationOrganizationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitParticipatingEducationOrganizationReference.IsReferenceFullyDefined())) + return ImplicitParticipatingEducationOrganizationReference; + + return null; + } + set + { + _participatingEducationOrganizationReferenceExplicitlyAssigned = true; + _participatingEducationOrganizationReference = value; + } + } + // ------------------------------------------------------------- + + //============================================================== + // Primary Key + // ------------------------------------------------------------- + + /// + /// The title or name of the assessment in the context of its administration. + /// + // IS in a reference, NOT a lookup column + string Entities.Common.EdFi.IAssessmentAdministrationParticipation.AdministrationIdentifier + { + get + { + if (ImplicitAssessmentAdministrationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentAdministrationReference.IsReferenceFullyDefined())) + return ImplicitAssessmentAdministrationReference.AdministrationIdentifier; + + return default(string); + } + set + { + // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. + // All ExplicitlyAssigned are reset to false in advanced + + // AssessmentAdministration + _assessmentAdministrationReferenceExplicitlyAssigned = false; + ImplicitAssessmentAdministrationReference.AdministrationIdentifier = value; + } + } + + /// + /// A unique number or alphanumeric code assigned to an assessment. + /// + // IS in a reference, NOT a lookup column + string Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssessmentIdentifier + { + get + { + if (ImplicitAssessmentAdministrationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentAdministrationReference.IsReferenceFullyDefined())) + return ImplicitAssessmentAdministrationReference.AssessmentIdentifier; + + return default(string); + } + set + { + // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. + // All ExplicitlyAssigned are reset to false in advanced + + // AssessmentAdministration + _assessmentAdministrationReferenceExplicitlyAssigned = false; + ImplicitAssessmentAdministrationReference.AssessmentIdentifier = value; + } + } + + /// + /// The identifier assigned to an education organization. + /// + // IS in a reference, NOT a lookup column + long Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssigningEducationOrganizationId + { + get + { + if (ImplicitAssessmentAdministrationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentAdministrationReference.IsReferenceFullyDefined())) + return ImplicitAssessmentAdministrationReference.AssigningEducationOrganizationId; + + return default(long); + } + set + { + // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. + // All ExplicitlyAssigned are reset to false in advanced + + // AssessmentAdministration + _assessmentAdministrationReferenceExplicitlyAssigned = false; + ImplicitAssessmentAdministrationReference.AssigningEducationOrganizationId = value; + } + } + + /// + /// Namespace for the assessment. + /// + // IS in a reference, NOT a lookup column + string Entities.Common.EdFi.IAssessmentAdministrationParticipation.Namespace + { + get + { + if (ImplicitAssessmentAdministrationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentAdministrationReference.IsReferenceFullyDefined())) + return ImplicitAssessmentAdministrationReference.Namespace; + + return default(string); + } + set + { + // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. + // All ExplicitlyAssigned are reset to false in advanced + + // AssessmentAdministration + _assessmentAdministrationReferenceExplicitlyAssigned = false; + ImplicitAssessmentAdministrationReference.Namespace = value; + } + } + + /// + /// The identifier assigned to an education organization. + /// + // IS in a reference, NOT a lookup column + long Entities.Common.EdFi.IAssessmentAdministrationParticipation.ParticipatingEducationOrganizationId + { + get + { + if (ImplicitParticipatingEducationOrganizationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitParticipatingEducationOrganizationReference.IsReferenceFullyDefined())) + return ImplicitParticipatingEducationOrganizationReference.EducationOrganizationId; + + return default(long); + } + set + { + // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. + // All ExplicitlyAssigned are reset to false in advanced + + // ParticipatingEducationOrganization + _participatingEducationOrganizationReferenceExplicitlyAssigned = false; + ImplicitParticipatingEducationOrganizationReference.EducationOrganizationId = value; + } + } + // ------------------------------------------------------------- + + // ============================================================= + // Equality + // ------------------------------------------------------------- + + /// + /// Determines equality based on the natural key properties of the resource. + /// + /// + /// A boolean value indicating equality result of the compared resources. + /// + public override bool Equals(object obj) + { + var compareTo = obj as Entities.Common.EdFi.IAssessmentAdministrationParticipation; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + + // Referenced Property + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentAdministrationParticipation).AdministrationIdentifier, compareTo.AdministrationIdentifier)) + return false; + + + // Referenced Property + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentAdministrationParticipation).AssessmentIdentifier, compareTo.AssessmentIdentifier)) + return false; + + + // Referenced Property + if (!(this as Entities.Common.EdFi.IAssessmentAdministrationParticipation).AssigningEducationOrganizationId.Equals(compareTo.AssigningEducationOrganizationId)) + return false; + + + // Referenced Property + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentAdministrationParticipation).Namespace, compareTo.Namespace)) + return false; + + + // Referenced Property + if (!(this as Entities.Common.EdFi.IAssessmentAdministrationParticipation).ParticipatingEducationOrganizationId.Equals(compareTo.ParticipatingEducationOrganizationId)) + return false; + + + return true; + } + + /// + /// Builds the hash code based on the unique identifying values. + /// + /// + /// A hash code for the resource. + /// + public override int GetHashCode() + { + var hash = new HashCode(); + + //Referenced Property + hash.Add((this as Entities.Common.EdFi.IAssessmentAdministrationParticipation).AdministrationIdentifier); + + //Referenced Property + hash.Add((this as Entities.Common.EdFi.IAssessmentAdministrationParticipation).AssessmentIdentifier); + + //Referenced Property + hash.Add((this as Entities.Common.EdFi.IAssessmentAdministrationParticipation).AssigningEducationOrganizationId); + + //Referenced Property + hash.Add((this as Entities.Common.EdFi.IAssessmentAdministrationParticipation).Namespace); + + //Referenced Property + hash.Add((this as Entities.Common.EdFi.IAssessmentAdministrationParticipation).ParticipatingEducationOrganizationId); + return hash.ToHashCode(); + } + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssessmentAdministrationParticipation", "AssessmentAdministrationParticipation")] + public System.Collections.IDictionary Extensions { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + private ICollection _assessmentAdministrationParticipationAdministrationPointOfContacts; + private ICollection _assessmentAdministrationParticipationAdministrationPointOfContactsCovariant; + + [NoDuplicateMembers] + [DataMember(Name="administrationPointOfContacts")] + public ICollection AssessmentAdministrationParticipationAdministrationPointOfContacts + { + get { return _assessmentAdministrationParticipationAdministrationPointOfContacts; } + set + { + if (value == null) return; + // Initialize primary list with notifying adapter immediately wired up so existing items are associated with the parent + var list = new CollectionAdapterWithAddNotifications(value, + (s, e) => ((Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact)e.Item).AssessmentAdministrationParticipation = this); + _assessmentAdministrationParticipationAdministrationPointOfContacts = list; + + // Initialize covariant list with notifying adapter with deferred wire up so only new items are processed (optimization) + var covariantList = new CovariantCollectionAdapterWithAddNotifications(value); + covariantList.ItemAdded += (s, e) => ((Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact)e.Item).AssessmentAdministrationParticipation = this; + _assessmentAdministrationParticipationAdministrationPointOfContactsCovariant = covariantList; + } + } + + // Covariant version, visible only on the interface + ICollection Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssessmentAdministrationParticipationAdministrationPointOfContacts + { + get { return _assessmentAdministrationParticipationAdministrationPointOfContactsCovariant; } + set { AssessmentAdministrationParticipationAdministrationPointOfContacts = new List(value.Cast()); } + } + + // ------------------------------------------------------------- + + // ============================================================= + // Versioning + // ------------------------------------------------------------- + + [DataMember(Name="_etag")] + public virtual string ETag { get; set; } + + [DataMember(Name="_lastModifiedDate")] + public virtual DateTime LastModifiedDate { get; set; } + + // ------------------------------------------------------------- + + // ------------------------------------------------------------- + // OnDeserialize + // ------------------------------------------------------------- + + [OnDeserialized] + internal void OnDeserialized(StreamingContext context) + { + // Reconnect collection item parent references on deserialization + if (_assessmentAdministrationParticipationAdministrationPointOfContacts != null) foreach (var item in _assessmentAdministrationParticipationAdministrationPointOfContacts) + { + item.AssessmentAdministrationParticipation = this; + } + + } + // ------------------------------------------------------------ + + // ============================================================ + // Data Synchronization + // ------------------------------------------------------------ + bool ISynchronizable.Synchronize(object target) + { + return Entities.Common.EdFi.AssessmentAdministrationParticipationMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentAdministrationParticipation)target); + } + + void IMappable.Map(object target) + { + Entities.Common.EdFi.AssessmentAdministrationParticipationMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentAdministrationParticipation)target, null); + } + // ------------------------------------------------------------- + + // ================================================================= + // Resource Reference Data + // ----------------------------------------------------------------- + Guid? Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssessmentAdministrationResourceId + { + get { return null; } + set { ImplicitAssessmentAdministrationReference.ResourceId = value ?? default(Guid); } + } + + string Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssessmentAdministrationDiscriminator + { + // Not supported for Resources + get { return null; } + set { ImplicitAssessmentAdministrationReference.Discriminator = value; } + } + + + Guid? Entities.Common.EdFi.IAssessmentAdministrationParticipation.ParticipatingEducationOrganizationResourceId + { + get { return null; } + set { ImplicitParticipatingEducationOrganizationReference.ResourceId = value ?? default(Guid); } + } + + string Entities.Common.EdFi.IAssessmentAdministrationParticipation.ParticipatingEducationOrganizationDiscriminator + { + // Not supported for Resources + get { return null; } + set { ImplicitParticipatingEducationOrganizationReference.Discriminator = value; } + } + + + // ----------------------------------------------------------------- + + // ================================== + // Validation + // ---------------------------------- + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; + var mappingContract = mappingContractProvider.GetMappingContract(_fullName); + + var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); + + int originalLength = pathBuilder.Length; + + try + { + // Prepare builders for validating members + int dotLength = pathBuilder.Length; + + // ---------------------- + // Validate collections + // ---------------------- + if (AssessmentAdministrationParticipationAdministrationPointOfContacts.Any() && mappingContract?.IsMemberSupported("AssessmentAdministrationParticipationAdministrationPointOfContacts") != false) + { + // Reset path builder + pathBuilder.Length = dotLength; + pathBuilder.Append("AssessmentAdministrationParticipationAdministrationPointOfContacts"); + + foreach (var result in ValidationHelpers.ValidateCollection(new ValidationContext(AssessmentAdministrationParticipationAdministrationPointOfContacts, validationContext, validationContext.Items.ForCollection("AssessmentAdministrationParticipationAdministrationPointOfContacts")))) + { + yield return result; + } + } + + + // --------------------------- + // Validate embedded objects + // --------------------------- + + // --------------------- + // Validate Extensions + // --------------------- + if (Extensions != null) + { + // Reset path builder + pathBuilder.Length = dotLength; + pathBuilder.Append(nameof(Extensions)); + + foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) + { + yield return result; + } + } + + // Execute the resource's fluent validator + var fluentValidationResult = _validator.Validate(this); + + if (!fluentValidationResult.IsValid) + { + foreach (var error in fluentValidationResult.Errors) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); + } + } + } + finally + { + // Restore original length + pathBuilder.Length = originalLength; + } + // ---------------------------------- + } + } + + // ================================================================= + // Validators + // ----------------------------------------------------------------- + + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationPutPostRequestValidator : FluentValidation.AbstractValidator + { + private static readonly FullName _fullName_edfi_AssessmentAdministrationParticipation = new FullName("edfi", "AssessmentAdministrationParticipation"); + + // Declare collection item validators + private AssessmentAdministrationParticipationAdministrationPointOfContactPutPostRequestValidator _assessmentAdministrationParticipationAdministrationPointOfContactsValidator = new (); + + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + { + if (context.InstanceToValidate == null) + { + result.Errors.Add(new ValidationFailure("", "Please ensure a model was supplied.")); + + return false; + } + + var instance = context.InstanceToValidate; + + var failures = new List(); + + // Profile-based collection item filter validation + string profileName = null; + + // Get the current mapping contract + var mappingContract = (AssessmentAdministrationParticipationMappingContract) GeneratedArtifactStaticDependencies.MappingContractProvider + .GetMappingContract(_fullName_edfi_AssessmentAdministrationParticipation); + + if (mappingContract != null) + { + if (mappingContract.IsAssessmentAdministrationParticipationAdministrationPointOfContactIncluded != null) + { + var hasInvalidAssessmentAdministrationParticipationAdministrationPointOfContactsItems = instance.AssessmentAdministrationParticipationAdministrationPointOfContacts.Any(x => !mappingContract.IsAssessmentAdministrationParticipationAdministrationPointOfContactIncluded(x)); + + if (hasInvalidAssessmentAdministrationParticipationAdministrationPointOfContactsItems) + { + profileName ??= GeneratedArtifactStaticDependencies.ProfileContentTypeContextProvider.Get().ProfileName; + failures.Add(new ValidationFailure("AssessmentAdministrationParticipationAdministrationPointOfContacts", $"A supplied 'AssessmentAdministrationParticipationAdministrationPointOfContact' has a descriptor value that does not conform with the filter values defined by profile '{profileName}'.")); + } + } + + } + + if (failures.Any()) + { + foreach (var failure in failures) + { + result.Errors.Add(failure); + } + + return false; + } + + return true; + } + } + // ----------------------------------------------------------------- + + /// + /// A class which represents the edfi.AssessmentAdministrationParticipationAdministrationPointOfContact table of the AssessmentAdministrationParticipation aggregate in the ODS Database. + /// + [Serializable, DataContract] + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationAdministrationPointOfContact : Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact, IValidatableObject + { + private static FullName _fullName = new FullName("edfi", "AssessmentAdministrationParticipationAdministrationPointOfContact"); + + // Fluent validator instance (threadsafe) + private static AssessmentAdministrationParticipationAdministrationPointOfContactPutPostRequestValidator _validator = new AssessmentAdministrationParticipationAdministrationPointOfContactPutPostRequestValidator(); + +#pragma warning disable 414 + private bool _SuspendReferenceAssignmentCheck = false; + public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; } +#pragma warning restore 414 + + // ============================================================= + // Constructor + // ------------------------------------------------------------- + + + // ------------------------------------------------------------ + + // ============================================================ + // Unique Identifier + // ------------------------------------------------------------ + // ------------------------------------------------------------ + + // ============================================================= + // References + // ------------------------------------------------------------- + + private bool _educationOrganizationReferenceExplicitlyAssigned; + private EducationOrganization.EdFi.EducationOrganizationReference _educationOrganizationReference; + private EducationOrganization.EdFi.EducationOrganizationReference ImplicitEducationOrganizationReference + { + get + { + // if the Reference is null, it is instantiated unless it has been explicitly assigned to null + if (_educationOrganizationReference == null && !_educationOrganizationReferenceExplicitlyAssigned) + _educationOrganizationReference = new EducationOrganization.EdFi.EducationOrganizationReference(); + + return _educationOrganizationReference; + } + } + + [DataMember(Name="educationOrganizationReference")] + [FullyDefinedReference][RequiredReference(isIdentifying: true)] + public EducationOrganization.EdFi.EducationOrganizationReference EducationOrganizationReference + { + get + { + // Only return the reference if it's non-null, and all its properties have non-default values assigned + if (ImplicitEducationOrganizationReference != null + && (_educationOrganizationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined())) + return ImplicitEducationOrganizationReference; + + return null; + } + set + { + _educationOrganizationReferenceExplicitlyAssigned = true; + _educationOrganizationReference = value; + } + } + // ------------------------------------------------------------- + + //============================================================== + // Primary Key + // ------------------------------------------------------------- + private Entities.Common.EdFi.IAssessmentAdministrationParticipation _assessmentAdministrationParticipation; + + [IgnoreDataMember] + Entities.Common.EdFi.IAssessmentAdministrationParticipation IAssessmentAdministrationParticipationAdministrationPointOfContact.AssessmentAdministrationParticipation + { + get { return _assessmentAdministrationParticipation; } + set { SetAssessmentAdministrationParticipation(value); } + } + + public Entities.Common.EdFi.IAssessmentAdministrationParticipation AssessmentAdministrationParticipation + { + set { SetAssessmentAdministrationParticipation(value); } + } + + private void SetAssessmentAdministrationParticipation(Entities.Common.EdFi.IAssessmentAdministrationParticipation value) + { + _assessmentAdministrationParticipation = value; + } + + /// + /// The identifier assigned to an education organization. + /// + // IS in a reference, NOT a lookup column + long Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationId + { + get + { + if (ImplicitEducationOrganizationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined())) + return ImplicitEducationOrganizationReference.EducationOrganizationId; + + return default(long); + } + set + { + // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. + // All ExplicitlyAssigned are reset to false in advanced + + // EducationOrganization + _educationOrganizationReferenceExplicitlyAssigned = false; + ImplicitEducationOrganizationReference.EducationOrganizationId = value; + } + } + + /// + /// The email address for the contact. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(128, MinimumLength=7, ErrorMessage=ValidationHelpers.StringLengthWithMinimumMessageFormat), NoDangerousText, NoWhitespace] + [DataMember(Name="electronicMailAddress")] + public string ElectronicMailAddress { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Equality + // ------------------------------------------------------------- + + /// + /// Determines equality based on the natural key properties of the resource. + /// + /// + /// A boolean value indicating equality result of the compared resources. + /// + public override bool Equals(object obj) + { + var compareTo = obj as Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + // Parent Property + if (_assessmentAdministrationParticipation == null || !_assessmentAdministrationParticipation.Equals(compareTo.AssessmentAdministrationParticipation)) + return false; + + + // Referenced Property + if (!(this as Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact).EducationOrganizationId.Equals(compareTo.EducationOrganizationId)) + return false; + + + // Standard Property + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact).ElectronicMailAddress, compareTo.ElectronicMailAddress)) + return false; + + + return true; + } + + /// + /// Builds the hash code based on the unique identifying values. + /// + /// + /// A hash code for the resource. + /// + public override int GetHashCode() + { + var hash = new HashCode(); + //Parent Property + if (_assessmentAdministrationParticipation != null) + hash.Add(_assessmentAdministrationParticipation); + + //Referenced Property + hash.Add((this as Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact).EducationOrganizationId); + + // Standard Property + hash.Add((this as Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact).ElectronicMailAddress); + + return hash.ToHashCode(); + } + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + + /// + /// The contact's first name. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(75, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="firstName")] + public string FirstName { get; set; } + + /// + /// The contact's last name. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(75, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="lastSurname")] + public string LastSurname { get; set; } + + /// + /// The login ID for the user; used for security access control interface. + /// + // NOT in a reference, NOT a lookup column + [NonDefaultStringLength(60, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="loginId")] + public string LoginId { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssessmentAdministrationParticipation", "AssessmentAdministrationParticipationAdministrationPointOfContact")] + public System.Collections.IDictionary Extensions { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Versioning + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ------------------------------------------------------------- + // OnDeserialize + // ------------------------------------------------------------- + // ------------------------------------------------------------ + + // ============================================================ + // Data Synchronization + // ------------------------------------------------------------ + bool ISynchronizable.Synchronize(object target) + { + return Entities.Common.EdFi.AssessmentAdministrationParticipationAdministrationPointOfContactMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact)target); + } + + void IMappable.Map(object target) + { + Entities.Common.EdFi.AssessmentAdministrationParticipationAdministrationPointOfContactMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact)target, null); + } + // ------------------------------------------------------------- + + // ================================================================= + // Resource Reference Data + // ----------------------------------------------------------------- + Guid? Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationResourceId + { + get { return null; } + set { ImplicitEducationOrganizationReference.ResourceId = value ?? default(Guid); } + } + + string Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationDiscriminator + { + // Not supported for Resources + get { return null; } + set { ImplicitEducationOrganizationReference.Discriminator = value; } + } + + + // ----------------------------------------------------------------- + + // ================================== + // Validation + // ---------------------------------- + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; + var mappingContract = mappingContractProvider.GetMappingContract(_fullName); + + var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); + + int originalLength = pathBuilder.Length; + + try + { + // Prepare builders for validating members + pathBuilder.Append(ValidationHelpers.JsonPathSeparator); + int dotLength = pathBuilder.Length; + + // ---------------------- + // Validate collections + // ---------------------- + + // --------------------------- + // Validate embedded objects + // --------------------------- + + // --------------------- + // Validate Extensions + // --------------------- + if (Extensions != null) + { + // Reset path builder + pathBuilder.Length = dotLength; + pathBuilder.Append(nameof(Extensions)); + + foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) + { + yield return result; + } + } + + // Execute the resource's fluent validator + var fluentValidationResult = _validator.Validate(this); + + if (!fluentValidationResult.IsValid) + { + foreach (var error in fluentValidationResult.Errors) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); + } + } + } + finally + { + // Restore original length + pathBuilder.Length = originalLength; + } + // ---------------------------------- + } + } + + // ================================================================= + // Validators + // ----------------------------------------------------------------- + + [ExcludeFromCodeCoverage] + public class AssessmentAdministrationParticipationAdministrationPointOfContactPutPostRequestValidator : FluentValidation.AbstractValidator + { + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + { + if (context.InstanceToValidate == null) + { + result.Errors.Add(new ValidationFailure("", "Please ensure a model was supplied.")); + + return false; + } + + var instance = context.InstanceToValidate; + + var failures = new List(); + + if (failures.Any()) + { + foreach (var failure in failures) + { + result.Errors.Add(failure); + } + + return false; + } + + return true; + } + } + // ----------------------------------------------------------------- + } // Aggregate: AssessmentBatteryPart @@ -13396,606 +14505,11 @@ public override int GetHashCode() // ------------------------------------------------------------- // ------------------------------------------------------------- - // ============================================================= - // Extensions - // ------------------------------------------------------------- - [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssessmentItem", "AssessmentItemPossibleResponse")] - public System.Collections.IDictionary Extensions { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Collections - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Versioning - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ------------------------------------------------------------- - // OnDeserialize - // ------------------------------------------------------------- - // ------------------------------------------------------------ - - // ============================================================ - // Data Synchronization - // ------------------------------------------------------------ - bool ISynchronizable.Synchronize(object target) - { - return Entities.Common.EdFi.AssessmentItemPossibleResponseMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentItemPossibleResponse)target); - } - - void IMappable.Map(object target) - { - Entities.Common.EdFi.AssessmentItemPossibleResponseMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentItemPossibleResponse)target, null); - } - // ------------------------------------------------------------- - - // ================================================================= - // Resource Reference Data - // ----------------------------------------------------------------- - // ----------------------------------------------------------------- - - // ================================== - // Validation - // ---------------------------------- - IEnumerable IValidatableObject.Validate(ValidationContext validationContext) - { - var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; - var mappingContract = mappingContractProvider.GetMappingContract(_fullName); - - var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); - - int originalLength = pathBuilder.Length; - - try - { - // Prepare builders for validating members - pathBuilder.Append(ValidationHelpers.JsonPathSeparator); - int dotLength = pathBuilder.Length; - - // ---------------------- - // Validate collections - // ---------------------- - - // --------------------------- - // Validate embedded objects - // --------------------------- - - // --------------------- - // Validate Extensions - // --------------------- - if (Extensions != null) - { - // Reset path builder - pathBuilder.Length = dotLength; - pathBuilder.Append(nameof(Extensions)); - - foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) - { - yield return result; - } - } - - // Execute the resource's fluent validator - var fluentValidationResult = _validator.Validate(this); - - if (!fluentValidationResult.IsValid) - { - foreach (var error in fluentValidationResult.Errors) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); - } - } - } - finally - { - // Restore original length - pathBuilder.Length = originalLength; - } - // ---------------------------------- - } - } - - // ================================================================= - // Validators - // ----------------------------------------------------------------- - - [ExcludeFromCodeCoverage] - public class AssessmentItemPossibleResponsePutPostRequestValidator : FluentValidation.AbstractValidator - { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) - { - if (context.InstanceToValidate == null) - { - result.Errors.Add(new ValidationFailure("", "Please ensure a model was supplied.")); - - return false; - } - - var instance = context.InstanceToValidate; - - var failures = new List(); - - if (failures.Any()) - { - foreach (var failure in failures) - { - result.Errors.Add(failure); - } - - return false; - } - - return true; - } - } - // ----------------------------------------------------------------- - -} -// Aggregate: AssessmentItemCategoryDescriptor - -namespace EdFi.Ods.Api.Common.Models.Resources.AssessmentItemCategoryDescriptor.EdFi -{ - /// - /// A class which represents the edfi.AssessmentItemCategoryDescriptor table of the AssessmentItemCategoryDescriptor aggregate in the ODS Database. - /// - [Serializable, DataContract] - [ExcludeFromCodeCoverage] - public class AssessmentItemCategoryDescriptor : Entities.Common.EdFi.IAssessmentItemCategoryDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity - { - private static FullName _fullName = new FullName("edfi", "AssessmentItemCategoryDescriptor"); - - // Fluent validator instance (threadsafe) - private static AssessmentItemCategoryDescriptorPutPostRequestValidator _validator = new AssessmentItemCategoryDescriptorPutPostRequestValidator(); - -#pragma warning disable 414 - private bool _SuspendReferenceAssignmentCheck = false; - public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; } -#pragma warning restore 414 - - // ============================================================= - // Constructor - // ------------------------------------------------------------- - - - // ------------------------------------------------------------ - - // ============================================================ - // Unique Identifier - // ------------------------------------------------------------ - - /// - /// The unique identifier for the AssessmentItemCategoryDescriptor resource. - /// - [DataMember(Name="id")] - [JsonConverter(typeof(GuidConverter))] - public Guid Id { get; set; } - // ------------------------------------------------------------ - - // ============================================================= - // References - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - //============================================================== - // Primary Key - // ------------------------------------------------------------- - - /// - /// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table. - /// - // NOT in a reference, NOT a lookup column - [JsonIgnore] - public int AssessmentItemCategoryDescriptorId { get; set; } - - int IDescriptor.DescriptorId - { - get { return AssessmentItemCategoryDescriptorId; } - set { AssessmentItemCategoryDescriptorId = value; } - } - // ------------------------------------------------------------- - - // ============================================================= - // Equality - // ------------------------------------------------------------- - - /// - /// Determines equality based on the natural key properties of the resource. - /// - /// - /// A boolean value indicating equality result of the compared resources. - /// - public override bool Equals(object obj) - { - var compareTo = obj as Entities.Common.EdFi.IAssessmentItemCategoryDescriptor; - - if (ReferenceEquals(this, compareTo)) - return true; - - if (compareTo == null) - return false; - - - // Derived Property - if (!(this as Entities.Common.EdFi.IAssessmentItemCategoryDescriptor).AssessmentItemCategoryDescriptorId.Equals(compareTo.AssessmentItemCategoryDescriptorId)) - return false; - - - return true; - } - - /// - /// Builds the hash code based on the unique identifying values. - /// - /// - /// A hash code for the resource. - /// - public override int GetHashCode() - { - var hash = new HashCode(); - - //Derived Property - hash.Add((this as Entities.Common.EdFi.IAssessmentItemCategoryDescriptor).AssessmentItemCategoryDescriptorId); - - return hash.ToHashCode(); - } - // ------------------------------------------------------------- - - // ============================================================= - // Inherited Properties - // ------------------------------------------------------------- - - /// - /// A code or abbreviation that is used to refer to the descriptor. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(50, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="codeValue")] - public string CodeValue { get; set; } - - /// - /// The description of the descriptor. - /// - // NOT in a reference, NOT a lookup column - [NonDefaultStringLength(1024, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="description")] - public string Description { get; set; } - - /// - /// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness. - /// - // NOT in a reference, NOT a lookup column - [DataMember(Name="effectiveBeginDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] - public DateTime? EffectiveBeginDate { get; set; } - - /// - /// The end date of the period when the descriptor is in effect. - /// - // NOT in a reference, NOT a lookup column - [DataMember(Name="effectiveEndDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] - public DateTime? EffectiveEndDate { get; set; } - - /// - /// A globally unique namespace that identifies this descriptor set. Author is strongly encouraged to use the Universal Resource Identifier (http, ftp, file, etc.) for the source of the descriptor definition. Best practice is for this source to be the descriptor file itself, so that it can be machine-readable and be fetched in real-time, if necessary. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(255, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="namespace")] - public string Namespace { get; set; } - - /// - /// A shortened description for the descriptor. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(75, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="shortDescription")] - public string ShortDescription { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Properties - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // One-to-one relationships - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Inherited One-to-one relationships - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Inherited Collections - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Extensions - // ------------------------------------------------------------- - // NOT a lookup column, Not supported by this model, so there's "null object pattern" style implementation - public System.Collections.IDictionary Extensions { - get { return null; } - set { } - } - // ------------------------------------------------------------- - - // ============================================================= - // Collections - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Versioning - // ------------------------------------------------------------- - - [DataMember(Name="_etag")] - public virtual string ETag { get; set; } - - [DataMember(Name="_lastModifiedDate")] - public virtual DateTime LastModifiedDate { get; set; } - - // ------------------------------------------------------------- - - // ------------------------------------------------------------- - // OnDeserialize - // ------------------------------------------------------------- - // ------------------------------------------------------------ - - // ============================================================ - // Data Synchronization - // ------------------------------------------------------------ - bool ISynchronizable.Synchronize(object target) - { - return Entities.Common.EdFi.AssessmentItemCategoryDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentItemCategoryDescriptor)target); - } - - void IMappable.Map(object target) - { - Entities.Common.EdFi.AssessmentItemCategoryDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentItemCategoryDescriptor)target, null); - } - // ------------------------------------------------------------- - - // ================================================================= - // Resource Reference Data - // ----------------------------------------------------------------- - // ----------------------------------------------------------------- - } - - // ================================================================= - // Validators - // ----------------------------------------------------------------- - - [ExcludeFromCodeCoverage] - public class AssessmentItemCategoryDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator - { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) - { - if (context.InstanceToValidate == null) - { - result.Errors.Add(new ValidationFailure("", "Please ensure a model was supplied.")); - - return false; - } - - var instance = context.InstanceToValidate; - - var failures = new List(); - - if (failures.Any()) - { - foreach (var failure in failures) - { - result.Errors.Add(failure); - } - - return false; - } - - return true; - } - } - // ----------------------------------------------------------------- - -} -// Aggregate: AssessmentItemResultDescriptor - -namespace EdFi.Ods.Api.Common.Models.Resources.AssessmentItemResultDescriptor.EdFi -{ - /// - /// A class which represents the edfi.AssessmentItemResultDescriptor table of the AssessmentItemResultDescriptor aggregate in the ODS Database. - /// - [Serializable, DataContract] - [ExcludeFromCodeCoverage] - public class AssessmentItemResultDescriptor : Entities.Common.EdFi.IAssessmentItemResultDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity - { - private static FullName _fullName = new FullName("edfi", "AssessmentItemResultDescriptor"); - - // Fluent validator instance (threadsafe) - private static AssessmentItemResultDescriptorPutPostRequestValidator _validator = new AssessmentItemResultDescriptorPutPostRequestValidator(); - -#pragma warning disable 414 - private bool _SuspendReferenceAssignmentCheck = false; - public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; } -#pragma warning restore 414 - - // ============================================================= - // Constructor - // ------------------------------------------------------------- - - - // ------------------------------------------------------------ - - // ============================================================ - // Unique Identifier - // ------------------------------------------------------------ - - /// - /// The unique identifier for the AssessmentItemResultDescriptor resource. - /// - [DataMember(Name="id")] - [JsonConverter(typeof(GuidConverter))] - public Guid Id { get; set; } - // ------------------------------------------------------------ - - // ============================================================= - // References - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - //============================================================== - // Primary Key - // ------------------------------------------------------------- - - /// - /// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table. - /// - // NOT in a reference, NOT a lookup column - [JsonIgnore] - public int AssessmentItemResultDescriptorId { get; set; } - - int IDescriptor.DescriptorId - { - get { return AssessmentItemResultDescriptorId; } - set { AssessmentItemResultDescriptorId = value; } - } - // ------------------------------------------------------------- - - // ============================================================= - // Equality - // ------------------------------------------------------------- - - /// - /// Determines equality based on the natural key properties of the resource. - /// - /// - /// A boolean value indicating equality result of the compared resources. - /// - public override bool Equals(object obj) - { - var compareTo = obj as Entities.Common.EdFi.IAssessmentItemResultDescriptor; - - if (ReferenceEquals(this, compareTo)) - return true; - - if (compareTo == null) - return false; - - - // Derived Property - if (!(this as Entities.Common.EdFi.IAssessmentItemResultDescriptor).AssessmentItemResultDescriptorId.Equals(compareTo.AssessmentItemResultDescriptorId)) - return false; - - - return true; - } - - /// - /// Builds the hash code based on the unique identifying values. - /// - /// - /// A hash code for the resource. - /// - public override int GetHashCode() - { - var hash = new HashCode(); - - //Derived Property - hash.Add((this as Entities.Common.EdFi.IAssessmentItemResultDescriptor).AssessmentItemResultDescriptorId); - - return hash.ToHashCode(); - } - // ------------------------------------------------------------- - - // ============================================================= - // Inherited Properties - // ------------------------------------------------------------- - - /// - /// A code or abbreviation that is used to refer to the descriptor. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(50, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="codeValue")] - public string CodeValue { get; set; } - - /// - /// The description of the descriptor. - /// - // NOT in a reference, NOT a lookup column - [NonDefaultStringLength(1024, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="description")] - public string Description { get; set; } - - /// - /// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness. - /// - // NOT in a reference, NOT a lookup column - [DataMember(Name="effectiveBeginDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] - public DateTime? EffectiveBeginDate { get; set; } - - /// - /// The end date of the period when the descriptor is in effect. - /// - // NOT in a reference, NOT a lookup column - [DataMember(Name="effectiveEndDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] - public DateTime? EffectiveEndDate { get; set; } - - /// - /// A globally unique namespace that identifies this descriptor set. Author is strongly encouraged to use the Universal Resource Identifier (http, ftp, file, etc.) for the source of the descriptor definition. Best practice is for this source to be the descriptor file itself, so that it can be machine-readable and be fetched in real-time, if necessary. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(255, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="namespace")] - public string Namespace { get; set; } - - /// - /// A shortened description for the descriptor. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(75, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="shortDescription")] - public string ShortDescription { get; set; } - // ------------------------------------------------------------- - - // ============================================================= - // Properties - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // One-to-one relationships - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Inherited One-to-one relationships - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Inherited Collections - // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Extensions - // ------------------------------------------------------------- - // NOT a lookup column, Not supported by this model, so there's "null object pattern" style implementation - public System.Collections.IDictionary Extensions { - get { return null; } - set { } - } + // ============================================================= + // Extensions + // ------------------------------------------------------------- + [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssessmentItem", "AssessmentItemPossibleResponse")] + public System.Collections.IDictionary Extensions { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -14006,13 +14520,6 @@ public System.Collections.IDictionary Extensions { // ============================================================= // Versioning // ------------------------------------------------------------- - - [DataMember(Name="_etag")] - public virtual string ETag { get; set; } - - [DataMember(Name="_lastModifiedDate")] - public virtual DateTime LastModifiedDate { get; set; } - // ------------------------------------------------------------- // ------------------------------------------------------------- @@ -14025,12 +14532,12 @@ public System.Collections.IDictionary Extensions { // ------------------------------------------------------------ bool ISynchronizable.Synchronize(object target) { - return Entities.Common.EdFi.AssessmentItemResultDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentItemResultDescriptor)target); + return Entities.Common.EdFi.AssessmentItemPossibleResponseMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentItemPossibleResponse)target); } void IMappable.Map(object target) { - Entities.Common.EdFi.AssessmentItemResultDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentItemResultDescriptor)target, null); + Entities.Common.EdFi.AssessmentItemPossibleResponseMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentItemPossibleResponse)target, null); } // ------------------------------------------------------------- @@ -14038,6 +14545,66 @@ void IMappable.Map(object target) // Resource Reference Data // ----------------------------------------------------------------- // ----------------------------------------------------------------- + + // ================================== + // Validation + // ---------------------------------- + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; + var mappingContract = mappingContractProvider.GetMappingContract(_fullName); + + var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); + + int originalLength = pathBuilder.Length; + + try + { + // Prepare builders for validating members + pathBuilder.Append(ValidationHelpers.JsonPathSeparator); + int dotLength = pathBuilder.Length; + + // ---------------------- + // Validate collections + // ---------------------- + + // --------------------------- + // Validate embedded objects + // --------------------------- + + // --------------------- + // Validate Extensions + // --------------------- + if (Extensions != null) + { + // Reset path builder + pathBuilder.Length = dotLength; + pathBuilder.Append(nameof(Extensions)); + + foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) + { + yield return result; + } + } + + // Execute the resource's fluent validator + var fluentValidationResult = _validator.Validate(this); + + if (!fluentValidationResult.IsValid) + { + foreach (var error in fluentValidationResult.Errors) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); + } + } + } + finally + { + // Restore original length + pathBuilder.Length = originalLength; + } + // ---------------------------------- + } } // ================================================================= @@ -14045,9 +14612,9 @@ void IMappable.Map(object target) // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class AssessmentItemResultDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator + public class AssessmentItemPossibleResponsePutPostRequestValidator : FluentValidation.AbstractValidator { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -14076,21 +14643,21 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// A class which represents the edfi.AssessmentPeriodDescriptor table of the AssessmentPeriodDescriptor aggregate in the ODS Database. + /// A class which represents the edfi.AssessmentItemCategoryDescriptor table of the AssessmentItemCategoryDescriptor aggregate in the ODS Database. /// [Serializable, DataContract] [ExcludeFromCodeCoverage] - public class AssessmentPeriodDescriptor : Entities.Common.EdFi.IAssessmentPeriodDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity + public class AssessmentItemCategoryDescriptor : Entities.Common.EdFi.IAssessmentItemCategoryDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity { - private static FullName _fullName = new FullName("edfi", "AssessmentPeriodDescriptor"); + private static FullName _fullName = new FullName("edfi", "AssessmentItemCategoryDescriptor"); // Fluent validator instance (threadsafe) - private static AssessmentPeriodDescriptorPutPostRequestValidator _validator = new AssessmentPeriodDescriptorPutPostRequestValidator(); + private static AssessmentItemCategoryDescriptorPutPostRequestValidator _validator = new AssessmentItemCategoryDescriptorPutPostRequestValidator(); #pragma warning disable 414 private bool _SuspendReferenceAssignmentCheck = false; @@ -14109,7 +14676,7 @@ public class AssessmentPeriodDescriptor : Entities.Common.EdFi.IAssessmentPeriod // ------------------------------------------------------------ /// - /// The unique identifier for the AssessmentPeriodDescriptor resource. + /// The unique identifier for the AssessmentItemCategoryDescriptor resource. /// [DataMember(Name="id")] [JsonConverter(typeof(GuidConverter))] @@ -14130,12 +14697,12 @@ public class AssessmentPeriodDescriptor : Entities.Common.EdFi.IAssessmentPeriod /// // NOT in a reference, NOT a lookup column [JsonIgnore] - public int AssessmentPeriodDescriptorId { get; set; } + public int AssessmentItemCategoryDescriptorId { get; set; } int IDescriptor.DescriptorId { - get { return AssessmentPeriodDescriptorId; } - set { AssessmentPeriodDescriptorId = value; } + get { return AssessmentItemCategoryDescriptorId; } + set { AssessmentItemCategoryDescriptorId = value; } } // ------------------------------------------------------------- @@ -14151,7 +14718,7 @@ int IDescriptor.DescriptorId /// public override bool Equals(object obj) { - var compareTo = obj as Entities.Common.EdFi.IAssessmentPeriodDescriptor; + var compareTo = obj as Entities.Common.EdFi.IAssessmentItemCategoryDescriptor; if (ReferenceEquals(this, compareTo)) return true; @@ -14161,7 +14728,7 @@ public override bool Equals(object obj) // Derived Property - if (!(this as Entities.Common.EdFi.IAssessmentPeriodDescriptor).AssessmentPeriodDescriptorId.Equals(compareTo.AssessmentPeriodDescriptorId)) + if (!(this as Entities.Common.EdFi.IAssessmentItemCategoryDescriptor).AssessmentItemCategoryDescriptorId.Equals(compareTo.AssessmentItemCategoryDescriptorId)) return false; @@ -14179,7 +14746,7 @@ public override int GetHashCode() var hash = new HashCode(); //Derived Property - hash.Add((this as Entities.Common.EdFi.IAssessmentPeriodDescriptor).AssessmentPeriodDescriptorId); + hash.Add((this as Entities.Common.EdFi.IAssessmentItemCategoryDescriptor).AssessmentItemCategoryDescriptorId); return hash.ToHashCode(); } @@ -14296,12 +14863,12 @@ public System.Collections.IDictionary Extensions { // ------------------------------------------------------------ bool ISynchronizable.Synchronize(object target) { - return Entities.Common.EdFi.AssessmentPeriodDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentPeriodDescriptor)target); + return Entities.Common.EdFi.AssessmentItemCategoryDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentItemCategoryDescriptor)target); } void IMappable.Map(object target) { - Entities.Common.EdFi.AssessmentPeriodDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentPeriodDescriptor)target, null); + Entities.Common.EdFi.AssessmentItemCategoryDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentItemCategoryDescriptor)target, null); } // ------------------------------------------------------------- @@ -14316,9 +14883,9 @@ void IMappable.Map(object target) // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class AssessmentPeriodDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator + public class AssessmentItemCategoryDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -14347,21 +14914,21 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// A class which represents the edfi.AssessmentReportingMethodDescriptor table of the AssessmentReportingMethodDescriptor aggregate in the ODS Database. + /// A class which represents the edfi.AssessmentItemResultDescriptor table of the AssessmentItemResultDescriptor aggregate in the ODS Database. /// [Serializable, DataContract] [ExcludeFromCodeCoverage] - public class AssessmentReportingMethodDescriptor : Entities.Common.EdFi.IAssessmentReportingMethodDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity + public class AssessmentItemResultDescriptor : Entities.Common.EdFi.IAssessmentItemResultDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity { - private static FullName _fullName = new FullName("edfi", "AssessmentReportingMethodDescriptor"); + private static FullName _fullName = new FullName("edfi", "AssessmentItemResultDescriptor"); // Fluent validator instance (threadsafe) - private static AssessmentReportingMethodDescriptorPutPostRequestValidator _validator = new AssessmentReportingMethodDescriptorPutPostRequestValidator(); + private static AssessmentItemResultDescriptorPutPostRequestValidator _validator = new AssessmentItemResultDescriptorPutPostRequestValidator(); #pragma warning disable 414 private bool _SuspendReferenceAssignmentCheck = false; @@ -14380,7 +14947,7 @@ public class AssessmentReportingMethodDescriptor : Entities.Common.EdFi.IAssessm // ------------------------------------------------------------ /// - /// The unique identifier for the AssessmentReportingMethodDescriptor resource. + /// The unique identifier for the AssessmentItemResultDescriptor resource. /// [DataMember(Name="id")] [JsonConverter(typeof(GuidConverter))] @@ -14401,12 +14968,12 @@ public class AssessmentReportingMethodDescriptor : Entities.Common.EdFi.IAssessm /// // NOT in a reference, NOT a lookup column [JsonIgnore] - public int AssessmentReportingMethodDescriptorId { get; set; } + public int AssessmentItemResultDescriptorId { get; set; } int IDescriptor.DescriptorId { - get { return AssessmentReportingMethodDescriptorId; } - set { AssessmentReportingMethodDescriptorId = value; } + get { return AssessmentItemResultDescriptorId; } + set { AssessmentItemResultDescriptorId = value; } } // ------------------------------------------------------------- @@ -14422,7 +14989,7 @@ int IDescriptor.DescriptorId /// public override bool Equals(object obj) { - var compareTo = obj as Entities.Common.EdFi.IAssessmentReportingMethodDescriptor; + var compareTo = obj as Entities.Common.EdFi.IAssessmentItemResultDescriptor; if (ReferenceEquals(this, compareTo)) return true; @@ -14432,7 +14999,7 @@ public override bool Equals(object obj) // Derived Property - if (!(this as Entities.Common.EdFi.IAssessmentReportingMethodDescriptor).AssessmentReportingMethodDescriptorId.Equals(compareTo.AssessmentReportingMethodDescriptorId)) + if (!(this as Entities.Common.EdFi.IAssessmentItemResultDescriptor).AssessmentItemResultDescriptorId.Equals(compareTo.AssessmentItemResultDescriptorId)) return false; @@ -14450,7 +15017,7 @@ public override int GetHashCode() var hash = new HashCode(); //Derived Property - hash.Add((this as Entities.Common.EdFi.IAssessmentReportingMethodDescriptor).AssessmentReportingMethodDescriptorId); + hash.Add((this as Entities.Common.EdFi.IAssessmentItemResultDescriptor).AssessmentItemResultDescriptorId); return hash.ToHashCode(); } @@ -14567,12 +15134,12 @@ public System.Collections.IDictionary Extensions { // ------------------------------------------------------------ bool ISynchronizable.Synchronize(object target) { - return Entities.Common.EdFi.AssessmentReportingMethodDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentReportingMethodDescriptor)target); + return Entities.Common.EdFi.AssessmentItemResultDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentItemResultDescriptor)target); } void IMappable.Map(object target) { - Entities.Common.EdFi.AssessmentReportingMethodDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentReportingMethodDescriptor)target, null); + Entities.Common.EdFi.AssessmentItemResultDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentItemResultDescriptor)target, null); } // ------------------------------------------------------------- @@ -14587,9 +15154,9 @@ void IMappable.Map(object target) // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class AssessmentReportingMethodDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator + public class AssessmentItemResultDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -14618,126 +15185,21 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// Represents a reference to the AssessmentScoreRangeLearningStandard resource. - /// - [DataContract] - [ExcludeFromCodeCoverage] - public class AssessmentScoreRangeLearningStandardReference : IResourceReference - { - [DataMember(Name="assessmentIdentifier")] - public string AssessmentIdentifier { get; set; } - - [DataMember(Name="namespace")] - public string Namespace { get; set; } - - [DataMember(Name="scoreRangeId")] - public string ScoreRangeId { get; set; } - - /// - /// Gets or sets the resource identifier of the referenced resource. - /// - public Guid ResourceId { get; set; } - - /// - /// Gets or sets the discriminator value which identifies the concrete sub-type of the referenced resource - /// when the referenced resource has been derived; otherwise null. - /// - public string Discriminator { get; set; } - - - private Link _link; - - [DataMember(Name="link")] - public Link Link - { - get - { - if (_link == null) - { - // Only generate links when all values are present - if (IsReferenceFullyDefined()) - _link = CreateLink(); - } - - return _link; - } - } - - /// - /// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values). - /// - /// true if the reference's properties are all set to non-default values; otherwise false. - public bool IsReferenceFullyDefined() - { - return AssessmentIdentifier != default(string) && Namespace != default(string) && ScoreRangeId != default(string); - } - - IEnumerable IResourceReference.GetUndefinedProperties() - { - if (AssessmentIdentifier == default) - { - yield return "AssessmentIdentifier"; - } - - if (Namespace == default) - { - yield return "Namespace"; - } - - if (ScoreRangeId == default) - { - yield return "ScoreRangeId"; - } - - } - - private Link CreateLink() - { - var link = new Link - { - Rel = "AssessmentScoreRangeLearningStandard", - Href = $"/ed-fi/assessmentScoreRangeLearningStandards/{ResourceId:n}" - }; - - if (string.IsNullOrEmpty(Discriminator)) - return link; - - string[] linkParts = Discriminator.Split('.'); - - if (linkParts.Length < 2) - return link; - - var resource = GeneratedArtifactStaticDependencies.ResourceModelProvider.GetResourceModel() - .GetResourceByFullName(new FullName(linkParts[0], linkParts[1])); - - // return the default link if the relationship is already correct, and/or if the resource is not found. - if (resource == null || link.Rel == resource.Name) - return link; - - return new Link - { - Rel = resource.Name, - Href = $"/{resource.SchemaUriSegment()}/{resource.PluralName.ToCamelCase()}/{ResourceId:n}" - }; - } - } // Aggregate reference - - /// - /// A class which represents the edfi.AssessmentScoreRangeLearningStandard table of the AssessmentScoreRangeLearningStandard aggregate in the ODS Database. + /// A class which represents the edfi.AssessmentPeriodDescriptor table of the AssessmentPeriodDescriptor aggregate in the ODS Database. /// [Serializable, DataContract] [ExcludeFromCodeCoverage] - public class AssessmentScoreRangeLearningStandard : Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard, IHasETag, IDateVersionedEntity, IValidatableObject + public class AssessmentPeriodDescriptor : Entities.Common.EdFi.IAssessmentPeriodDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity { - private static FullName _fullName = new FullName("edfi", "AssessmentScoreRangeLearningStandard"); + private static FullName _fullName = new FullName("edfi", "AssessmentPeriodDescriptor"); // Fluent validator instance (threadsafe) - private static AssessmentScoreRangeLearningStandardPutPostRequestValidator _validator = new AssessmentScoreRangeLearningStandardPutPostRequestValidator(); + private static AssessmentPeriodDescriptorPutPostRequestValidator _validator = new AssessmentPeriodDescriptorPutPostRequestValidator(); #pragma warning disable 414 private bool _SuspendReferenceAssignmentCheck = false; @@ -14748,10 +15210,6 @@ public class AssessmentScoreRangeLearningStandard : Entities.Common.EdFi.IAssess // Constructor // ------------------------------------------------------------- - public AssessmentScoreRangeLearningStandard() - { - AssessmentScoreRangeLearningStandardLearningStandards = new List(); - } // ------------------------------------------------------------ @@ -14760,7 +15218,7 @@ public AssessmentScoreRangeLearningStandard() // ------------------------------------------------------------ /// - /// The unique identifier for the AssessmentScoreRangeLearningStandard resource. + /// The unique identifier for the AssessmentPeriodDescriptor resource. /// [DataMember(Name="id")] [JsonConverter(typeof(GuidConverter))] @@ -14770,73 +15228,6 @@ public AssessmentScoreRangeLearningStandard() // ============================================================= // References // ------------------------------------------------------------- - - private bool _assessmentReferenceExplicitlyAssigned; - private Assessment.EdFi.AssessmentReference _assessmentReference; - private Assessment.EdFi.AssessmentReference ImplicitAssessmentReference - { - get - { - // if the Reference is null, it is instantiated unless it has been explicitly assigned to null - if (_assessmentReference == null && !_assessmentReferenceExplicitlyAssigned) - _assessmentReference = new Assessment.EdFi.AssessmentReference(); - - return _assessmentReference; - } - } - - [DataMember(Name="assessmentReference")] - [FullyDefinedReference][RequiredReference(isIdentifying: true)] - public Assessment.EdFi.AssessmentReference AssessmentReference - { - get - { - // Only return the reference if it's non-null, and all its properties have non-default values assigned - if (ImplicitAssessmentReference != null - && (_assessmentReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitAssessmentReference.IsReferenceFullyDefined())) - return ImplicitAssessmentReference; - - return null; - } - set - { - _assessmentReferenceExplicitlyAssigned = true; - _assessmentReference = value; - } - } - private bool _objectiveAssessmentReferenceExplicitlyAssigned; - private ObjectiveAssessment.EdFi.ObjectiveAssessmentReference _objectiveAssessmentReference; - private ObjectiveAssessment.EdFi.ObjectiveAssessmentReference ImplicitObjectiveAssessmentReference - { - get - { - // if the Reference is null, it is instantiated unless it has been explicitly assigned to null - if (_objectiveAssessmentReference == null && !_objectiveAssessmentReferenceExplicitlyAssigned) - _objectiveAssessmentReference = new ObjectiveAssessment.EdFi.ObjectiveAssessmentReference(); - - return _objectiveAssessmentReference; - } - } - - [DataMember(Name="objectiveAssessmentReference")] - [FullyDefinedReference] - public ObjectiveAssessment.EdFi.ObjectiveAssessmentReference ObjectiveAssessmentReference - { - get - { - // Only return the reference if it's non-null, and all its properties have non-default values assigned - if (ImplicitObjectiveAssessmentReference != null - && (_objectiveAssessmentReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitObjectiveAssessmentReference.IsReferenceFullyDefined())) - return ImplicitObjectiveAssessmentReference; - - return null; - } - set - { - _objectiveAssessmentReferenceExplicitlyAssigned = true; - _objectiveAssessmentReference = value; - } - } // ------------------------------------------------------------- //============================================================== @@ -14844,71 +15235,17 @@ public ObjectiveAssessment.EdFi.ObjectiveAssessmentReference ObjectiveAssessment // ------------------------------------------------------------- /// - /// A unique number or alphanumeric code assigned to an assessment. + /// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table. /// - // IS in a reference, NOT a lookup column - string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentIdentifier - { - get - { - if (ImplicitAssessmentReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentReference.IsReferenceFullyDefined())) - return ImplicitAssessmentReference.AssessmentIdentifier; - - return default(string); - } - set - { - // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. - // All ExplicitlyAssigned are reset to false in advanced - - // Assessment - _assessmentReferenceExplicitlyAssigned = false; - ImplicitAssessmentReference.AssessmentIdentifier = value; - - // ObjectiveAssessment - _objectiveAssessmentReferenceExplicitlyAssigned = false; - ImplicitObjectiveAssessmentReference.AssessmentIdentifier = value; - } - } + // NOT in a reference, NOT a lookup column + [JsonIgnore] + public int AssessmentPeriodDescriptorId { get; set; } - /// - /// Namespace for the assessment. - /// - // IS in a reference, NOT a lookup column - string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.Namespace + int IDescriptor.DescriptorId { - get - { - if (ImplicitAssessmentReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentReference.IsReferenceFullyDefined())) - return ImplicitAssessmentReference.Namespace; - - return default(string); - } - set - { - // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. - // All ExplicitlyAssigned are reset to false in advanced - - // Assessment - _assessmentReferenceExplicitlyAssigned = false; - ImplicitAssessmentReference.Namespace = value; - - // ObjectiveAssessment - _objectiveAssessmentReferenceExplicitlyAssigned = false; - ImplicitObjectiveAssessmentReference.Namespace = value; - } + get { return AssessmentPeriodDescriptorId; } + set { AssessmentPeriodDescriptorId = value; } } - - /// - /// A unique number or alphanumeric code assigned to the score range associated with one or more learning standards. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(60, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText, NoWhitespace] - [DataMember(Name="scoreRangeId")] - public string ScoreRangeId { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -14923,7 +15260,7 @@ string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.Namespace /// public override bool Equals(object obj) { - var compareTo = obj as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard; + var compareTo = obj as Entities.Common.EdFi.IAssessmentPeriodDescriptor; if (ReferenceEquals(this, compareTo)) return true; @@ -14932,18 +15269,8 @@ public override bool Equals(object obj) return false; - // Referenced Property - if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).AssessmentIdentifier, compareTo.AssessmentIdentifier)) - return false; - - - // Referenced Property - if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).Namespace, compareTo.Namespace)) - return false; - - - // Standard Property - if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).ScoreRangeId, compareTo.ScoreRangeId)) + // Derived Property + if (!(this as Entities.Common.EdFi.IAssessmentPeriodDescriptor).AssessmentPeriodDescriptorId.Equals(compareTo.AssessmentPeriodDescriptorId)) return false; @@ -14960,14 +15287,8 @@ public override int GetHashCode() { var hash = new HashCode(); - //Referenced Property - hash.Add((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).AssessmentIdentifier); - - //Referenced Property - hash.Add((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).Namespace); - - // Standard Property - hash.Add((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).ScoreRangeId); + //Derived Property + hash.Add((this as Entities.Common.EdFi.IAssessmentPeriodDescriptor).AssessmentPeriodDescriptorId); return hash.ToHashCode(); } @@ -14976,64 +15297,60 @@ public override int GetHashCode() // ============================================================= // Inherited Properties // ------------------------------------------------------------- - // ------------------------------------------------------------- - - // ============================================================= - // Properties - // ------------------------------------------------------------- /// - /// The assessment reporting method defined (e.g., scale score, RIT scale score) associated with the referenced learning standard(s). + /// A code or abbreviation that is used to refer to the descriptor. /// - // NOT in a reference, IS a lookup column - [NonDefaultStringLength(306, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="assessmentReportingMethodDescriptor")][DescriptorExists("AssessmentReportingMethodDescriptor")] - public string AssessmentReportingMethodDescriptor { get; set; } + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(50, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="codeValue")] + public string CodeValue { get; set; } /// - /// A unique number or alphanumeric code assigned to an objective assessment by a school, school system, a state, or other agency or entity. + /// The description of the descriptor. /// - // IS in a reference, NOT a lookup column - string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.IdentificationCode - { - get - { - if (ImplicitObjectiveAssessmentReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitObjectiveAssessmentReference.IsReferenceFullyDefined())) - { - return ImplicitObjectiveAssessmentReference.IdentificationCode; - } + // NOT in a reference, NOT a lookup column + [NonDefaultStringLength(1024, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="description")] + public string Description { get; set; } - return default(string); - } - set - { - // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. - // All ExplicitlyAssigned are reset to false in advanced + /// + /// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="effectiveBeginDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] + public DateTime? EffectiveBeginDate { get; set; } - // ObjectiveAssessment - _objectiveAssessmentReferenceExplicitlyAssigned = false; - ImplicitObjectiveAssessmentReference.IdentificationCode = value; - } - } + /// + /// The end date of the period when the descriptor is in effect. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="effectiveEndDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] + public DateTime? EffectiveEndDate { get; set; } /// - /// The maximum score in the score range. + /// A globally unique namespace that identifies this descriptor set. Author is strongly encouraged to use the Universal Resource Identifier (http, ftp, file, etc.) for the source of the descriptor definition. Best practice is for this source to be the descriptor file itself, so that it can be machine-readable and be fetched in real-time, if necessary. /// // NOT in a reference, NOT a lookup column [RequiredWithNonDefault] - [NonDefaultStringLength(35, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="maximumScore")] - public string MaximumScore { get; set; } + [NonDefaultStringLength(255, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="namespace")] + public string Namespace { get; set; } /// - /// The minimum score in the score range. + /// A shortened description for the descriptor. /// // NOT in a reference, NOT a lookup column [RequiredWithNonDefault] - [NonDefaultStringLength(35, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="minimumScore")] - public string MinimumScore { get; set; } + [NonDefaultStringLength(75, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="shortDescription")] + public string ShortDescription { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- // ------------------------------------------------------------- // ============================================================= @@ -15054,43 +15371,16 @@ string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.Identification // ============================================================= // Extensions // ------------------------------------------------------------- - [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssessmentScoreRangeLearningStandard", "AssessmentScoreRangeLearningStandard")] - public System.Collections.IDictionary Extensions { get; set; } + // NOT a lookup column, Not supported by this model, so there's "null object pattern" style implementation + public System.Collections.IDictionary Extensions { + get { return null; } + set { } + } // ------------------------------------------------------------- // ============================================================= // Collections // ------------------------------------------------------------- - private ICollection _assessmentScoreRangeLearningStandardLearningStandards; - private ICollection _assessmentScoreRangeLearningStandardLearningStandardsCovariant; - - [NoDuplicateMembers][RequiredCollection] - [DataMember(Name="learningStandards")] - public ICollection AssessmentScoreRangeLearningStandardLearningStandards - { - get { return _assessmentScoreRangeLearningStandardLearningStandards; } - set - { - if (value == null) return; - // Initialize primary list with notifying adapter immediately wired up so existing items are associated with the parent - var list = new CollectionAdapterWithAddNotifications(value, - (s, e) => ((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)e.Item).AssessmentScoreRangeLearningStandard = this); - _assessmentScoreRangeLearningStandardLearningStandards = list; - - // Initialize covariant list with notifying adapter with deferred wire up so only new items are processed (optimization) - var covariantList = new CovariantCollectionAdapterWithAddNotifications(value); - covariantList.ItemAdded += (s, e) => ((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)e.Item).AssessmentScoreRangeLearningStandard = this; - _assessmentScoreRangeLearningStandardLearningStandardsCovariant = covariantList; - } - } - - // Covariant version, visible only on the interface - ICollection Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentScoreRangeLearningStandardLearningStandards - { - get { return _assessmentScoreRangeLearningStandardLearningStandardsCovariant; } - set { AssessmentScoreRangeLearningStandardLearningStandards = new List(value.Cast()); } - } - // ------------------------------------------------------------- // ============================================================= @@ -15108,17 +15398,6 @@ public ICollection Assessm // ------------------------------------------------------------- // OnDeserialize // ------------------------------------------------------------- - - [OnDeserialized] - internal void OnDeserialized(StreamingContext context) - { - // Reconnect collection item parent references on deserialization - if (_assessmentScoreRangeLearningStandardLearningStandards != null) foreach (var item in _assessmentScoreRangeLearningStandardLearningStandards) - { - item.AssessmentScoreRangeLearningStandard = this; - } - - } // ------------------------------------------------------------ // ============================================================ @@ -15126,189 +15405,19 @@ internal void OnDeserialized(StreamingContext context) // ------------------------------------------------------------ bool ISynchronizable.Synchronize(object target) { - return Entities.Common.EdFi.AssessmentScoreRangeLearningStandardMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard)target); + return Entities.Common.EdFi.AssessmentPeriodDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentPeriodDescriptor)target); } void IMappable.Map(object target) { - Entities.Common.EdFi.AssessmentScoreRangeLearningStandardMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard)target, null); + Entities.Common.EdFi.AssessmentPeriodDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentPeriodDescriptor)target, null); } // ------------------------------------------------------------- // ================================================================= // Resource Reference Data // ----------------------------------------------------------------- - Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentResourceId - { - get { return null; } - set { ImplicitAssessmentReference.ResourceId = value ?? default(Guid); } - } - - string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentDiscriminator - { - // Not supported for Resources - get { return null; } - set { ImplicitAssessmentReference.Discriminator = value; } - } - - - Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.ObjectiveAssessmentResourceId - { - get { return null; } - set { ImplicitObjectiveAssessmentReference.ResourceId = value ?? default(Guid); } - } - - string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.ObjectiveAssessmentDiscriminator - { - // Not supported for Resources - get { return null; } - set { ImplicitObjectiveAssessmentReference.Discriminator = value; } - } - - // ----------------------------------------------------------------- - - // ================================== - // Validation - // ---------------------------------- - IEnumerable IValidatableObject.Validate(ValidationContext validationContext) - { - var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; - var mappingContract = mappingContractProvider.GetMappingContract(_fullName); - - var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); - - int originalLength = pathBuilder.Length; - - try - { - // Prepare builders for validating members - int dotLength = pathBuilder.Length; - - // ---------------------- - // Validate collections - // ---------------------- - if (AssessmentScoreRangeLearningStandardLearningStandards.Any() && mappingContract?.IsMemberSupported("AssessmentScoreRangeLearningStandardLearningStandards") != false) - { - // Reset path builder - pathBuilder.Length = dotLength; - pathBuilder.Append("AssessmentScoreRangeLearningStandardLearningStandards"); - - foreach (var result in ValidationHelpers.ValidateCollection(new ValidationContext(AssessmentScoreRangeLearningStandardLearningStandards, validationContext, validationContext.Items.ForCollection("AssessmentScoreRangeLearningStandardLearningStandards")))) - { - yield return result; - } - } - - - // --------------------------- - // Validate embedded objects - // --------------------------- - - // --------------------- - // Validate Extensions - // --------------------- - if (Extensions != null) - { - // Reset path builder - pathBuilder.Length = dotLength; - pathBuilder.Append(nameof(Extensions)); - - foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) - { - yield return result; - } - } - - // ----------------------- - // Validate unified keys - // ----------------------- - pathBuilder.Length = dotLength; - string pathPrefix = null; - - var sourcesForAssessmentIdentifier = GetAssessmentIdentifierSources().ToArray(); - - if (!sourcesForAssessmentIdentifier.Select(t => t.Item2).Where(v => !v.IsDefaultValue()).AllEqual(GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer)) - { - pathPrefix ??= pathBuilder.ToString(); - - string values = string.Join("', '", sourcesForAssessmentIdentifier.Select(src => src.value.ToString().TrimAt(50, true))); - string parentContextNote = sourcesForAssessmentIdentifier.Any(src => src.path == null) ? " (including those higher up in the resource's data)" : null; - - yield return new System.ComponentModel.DataAnnotations.ValidationResult($"All values supplied for 'assessmentIdentifier' must match. Review all references{parentContextNote} and align the following conflicting values: '{values}'", - sourcesForAssessmentIdentifier.Where(src => src.path != null).Select(src => $"{pathPrefix}{src.path}").ToArray()); - } - - IEnumerable<(string path, string value)> GetAssessmentIdentifierSources() - { - // Obtain value from other references - var valueFromAssessmentReference = this.AssessmentReference?.AssessmentIdentifier; - - if (valueFromAssessmentReference != null) - { - yield return ("assessmentReference.assessmentIdentifier", this.AssessmentReference.AssessmentIdentifier); - } - - // Obtain value from other references - var valueFromObjectiveAssessmentReference = this.ObjectiveAssessmentReference?.AssessmentIdentifier; - - if (valueFromObjectiveAssessmentReference != null) - { - yield return ("objectiveAssessmentReference.assessmentIdentifier", this.ObjectiveAssessmentReference.AssessmentIdentifier); - } - - } - var sourcesForNamespace = GetNamespaceSources().ToArray(); - - if (!sourcesForNamespace.Select(t => t.Item2).Where(v => !v.IsDefaultValue()).AllEqual(GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer)) - { - pathPrefix ??= pathBuilder.ToString(); - - string values = string.Join("', '", sourcesForNamespace.Select(src => src.value.ToString().TrimAt(50, true))); - string parentContextNote = sourcesForNamespace.Any(src => src.path == null) ? " (including those higher up in the resource's data)" : null; - - yield return new System.ComponentModel.DataAnnotations.ValidationResult($"All values supplied for 'namespace' must match. Review all references{parentContextNote} and align the following conflicting values: '{values}'", - sourcesForNamespace.Where(src => src.path != null).Select(src => $"{pathPrefix}{src.path}").ToArray()); - } - - IEnumerable<(string path, string value)> GetNamespaceSources() - { - // Obtain value from other references - var valueFromAssessmentReference = this.AssessmentReference?.Namespace; - - if (valueFromAssessmentReference != null) - { - yield return ("assessmentReference.namespace", this.AssessmentReference.Namespace); - } - - // Obtain value from other references - var valueFromObjectiveAssessmentReference = this.ObjectiveAssessmentReference?.Namespace; - - if (valueFromObjectiveAssessmentReference != null) - { - yield return ("objectiveAssessmentReference.namespace", this.ObjectiveAssessmentReference.Namespace); - } - - } - - // Execute the resource's fluent validator - var fluentValidationResult = _validator.Validate(this); - - if (!fluentValidationResult.IsValid) - { - foreach (var error in fluentValidationResult.Errors) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); - } - } - } - finally - { - // Restore original length - pathBuilder.Length = originalLength; - } - // ---------------------------------- - } } // ================================================================= @@ -15316,14 +15425,9 @@ string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.ObjectiveAsses // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class AssessmentScoreRangeLearningStandardPutPostRequestValidator : FluentValidation.AbstractValidator + public class AssessmentPeriodDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator { - private static readonly FullName _fullName_edfi_AssessmentScoreRangeLearningStandard = new FullName("edfi", "AssessmentScoreRangeLearningStandard"); - - // Declare collection item validators - private AssessmentScoreRangeLearningStandardLearningStandardPutPostRequestValidator _assessmentScoreRangeLearningStandardLearningStandardsValidator = new (); - - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -15336,28 +15440,6 @@ protected override bool PreValidate(FluentValidation.ValidationContext(); - // Profile-based collection item filter validation - string profileName = null; - - // Get the current mapping contract - var mappingContract = (AssessmentScoreRangeLearningStandardMappingContract) GeneratedArtifactStaticDependencies.MappingContractProvider - .GetMappingContract(_fullName_edfi_AssessmentScoreRangeLearningStandard); - - if (mappingContract != null) - { - if (mappingContract.IsAssessmentScoreRangeLearningStandardLearningStandardIncluded != null) - { - var hasInvalidAssessmentScoreRangeLearningStandardLearningStandardsItems = instance.AssessmentScoreRangeLearningStandardLearningStandards.Any(x => !mappingContract.IsAssessmentScoreRangeLearningStandardLearningStandardIncluded(x)); - - if (hasInvalidAssessmentScoreRangeLearningStandardLearningStandardsItems) - { - profileName ??= GeneratedArtifactStaticDependencies.ProfileContentTypeContextProvider.Get().ProfileName; - failures.Add(new ValidationFailure("AssessmentScoreRangeLearningStandardLearningStandards", $"A supplied 'AssessmentScoreRangeLearningStandardLearningStandard' has a descriptor value that does not conform with the filter values defined by profile '{profileName}'.")); - } - } - - } - if (failures.Any()) { foreach (var failure in failures) @@ -15373,17 +15455,22 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// A class which represents the edfi.AssessmentScoreRangeLearningStandardLearningStandard table of the AssessmentScoreRangeLearningStandard aggregate in the ODS Database. + /// A class which represents the edfi.AssessmentReportingMethodDescriptor table of the AssessmentReportingMethodDescriptor aggregate in the ODS Database. /// [Serializable, DataContract] [ExcludeFromCodeCoverage] - public class AssessmentScoreRangeLearningStandardLearningStandard : Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard, IValidatableObject + public class AssessmentReportingMethodDescriptor : Entities.Common.EdFi.IAssessmentReportingMethodDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity { - private static FullName _fullName = new FullName("edfi", "AssessmentScoreRangeLearningStandardLearningStandard"); + private static FullName _fullName = new FullName("edfi", "AssessmentReportingMethodDescriptor"); // Fluent validator instance (threadsafe) - private static AssessmentScoreRangeLearningStandardLearningStandardPutPostRequestValidator _validator = new AssessmentScoreRangeLearningStandardLearningStandardPutPostRequestValidator(); + private static AssessmentReportingMethodDescriptorPutPostRequestValidator _validator = new AssessmentReportingMethodDescriptorPutPostRequestValidator(); #pragma warning disable 414 private bool _SuspendReferenceAssignmentCheck = false; @@ -15400,92 +15487,35 @@ public class AssessmentScoreRangeLearningStandardLearningStandard : Entities.Com // ============================================================ // Unique Identifier // ------------------------------------------------------------ + + /// + /// The unique identifier for the AssessmentReportingMethodDescriptor resource. + /// + [DataMember(Name="id")] + [JsonConverter(typeof(GuidConverter))] + public Guid Id { get; set; } // ------------------------------------------------------------ // ============================================================= // References // ------------------------------------------------------------- - - private bool _learningStandardReferenceExplicitlyAssigned; - private LearningStandard.EdFi.LearningStandardReference _learningStandardReference; - private LearningStandard.EdFi.LearningStandardReference ImplicitLearningStandardReference - { - get - { - // if the Reference is null, it is instantiated unless it has been explicitly assigned to null - if (_learningStandardReference == null && !_learningStandardReferenceExplicitlyAssigned) - _learningStandardReference = new LearningStandard.EdFi.LearningStandardReference(); - - return _learningStandardReference; - } - } - - [DataMember(Name="learningStandardReference")] - [FullyDefinedReference][RequiredReference(isIdentifying: true)] - public LearningStandard.EdFi.LearningStandardReference LearningStandardReference - { - get - { - // Only return the reference if it's non-null, and all its properties have non-default values assigned - if (ImplicitLearningStandardReference != null - && (_learningStandardReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitLearningStandardReference.IsReferenceFullyDefined())) - return ImplicitLearningStandardReference; - - return null; - } - set - { - _learningStandardReferenceExplicitlyAssigned = true; - _learningStandardReference = value; - } - } // ------------------------------------------------------------- //============================================================== // Primary Key // ------------------------------------------------------------- - private Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard _assessmentScoreRangeLearningStandard; - - [IgnoreDataMember] - Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard IAssessmentScoreRangeLearningStandardLearningStandard.AssessmentScoreRangeLearningStandard - { - get { return _assessmentScoreRangeLearningStandard; } - set { SetAssessmentScoreRangeLearningStandard(value); } - } - - public Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard AssessmentScoreRangeLearningStandard - { - set { SetAssessmentScoreRangeLearningStandard(value); } - } - - private void SetAssessmentScoreRangeLearningStandard(Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard value) - { - _assessmentScoreRangeLearningStandard = value; - } /// - /// The identifier for the specific learning standard (e.g., 111.15.3.1.A). + /// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table. /// - // IS in a reference, NOT a lookup column - string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardId - { - get - { - if (ImplicitLearningStandardReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitLearningStandardReference.IsReferenceFullyDefined())) - return ImplicitLearningStandardReference.LearningStandardId; - - return default(string); - } - set - { - // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. - // All ExplicitlyAssigned are reset to false in advanced + // NOT in a reference, NOT a lookup column + [JsonIgnore] + public int AssessmentReportingMethodDescriptorId { get; set; } - // LearningStandard - _learningStandardReferenceExplicitlyAssigned = false; - ImplicitLearningStandardReference.LearningStandardId = value; - } + int IDescriptor.DescriptorId + { + get { return AssessmentReportingMethodDescriptorId; } + set { AssessmentReportingMethodDescriptorId = value; } } // ------------------------------------------------------------- @@ -15501,7 +15531,7 @@ string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandar /// public override bool Equals(object obj) { - var compareTo = obj as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard; + var compareTo = obj as Entities.Common.EdFi.IAssessmentReportingMethodDescriptor; if (ReferenceEquals(this, compareTo)) return true; @@ -15509,13 +15539,9 @@ public override bool Equals(object obj) if (compareTo == null) return false; - // Parent Property - if (_assessmentScoreRangeLearningStandard == null || !_assessmentScoreRangeLearningStandard.Equals(compareTo.AssessmentScoreRangeLearningStandard)) - return false; - - // Referenced Property - if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard).LearningStandardId, compareTo.LearningStandardId)) + // Derived Property + if (!(this as Entities.Common.EdFi.IAssessmentReportingMethodDescriptor).AssessmentReportingMethodDescriptorId.Equals(compareTo.AssessmentReportingMethodDescriptorId)) return false; @@ -15531,12 +15557,10 @@ public override bool Equals(object obj) public override int GetHashCode() { var hash = new HashCode(); - //Parent Property - if (_assessmentScoreRangeLearningStandard != null) - hash.Add(_assessmentScoreRangeLearningStandard); - //Referenced Property - hash.Add((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard).LearningStandardId); + //Derived Property + hash.Add((this as Entities.Common.EdFi.IAssessmentReportingMethodDescriptor).AssessmentReportingMethodDescriptorId); + return hash.ToHashCode(); } // ------------------------------------------------------------- @@ -15544,6 +15568,55 @@ public override int GetHashCode() // ============================================================= // Inherited Properties // ------------------------------------------------------------- + + /// + /// A code or abbreviation that is used to refer to the descriptor. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(50, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="codeValue")] + public string CodeValue { get; set; } + + /// + /// The description of the descriptor. + /// + // NOT in a reference, NOT a lookup column + [NonDefaultStringLength(1024, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="description")] + public string Description { get; set; } + + /// + /// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="effectiveBeginDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] + public DateTime? EffectiveBeginDate { get; set; } + + /// + /// The end date of the period when the descriptor is in effect. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="effectiveEndDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] + public DateTime? EffectiveEndDate { get; set; } + + /// + /// A globally unique namespace that identifies this descriptor set. Author is strongly encouraged to use the Universal Resource Identifier (http, ftp, file, etc.) for the source of the descriptor definition. Best practice is for this source to be the descriptor file itself, so that it can be machine-readable and be fetched in real-time, if necessary. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(255, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="namespace")] + public string Namespace { get; set; } + + /// + /// A shortened description for the descriptor. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(75, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="shortDescription")] + public string ShortDescription { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -15569,8 +15642,11 @@ public override int GetHashCode() // ============================================================= // Extensions // ------------------------------------------------------------- - [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssessmentScoreRangeLearningStandard", "AssessmentScoreRangeLearningStandardLearningStandard")] - public System.Collections.IDictionary Extensions { get; set; } + // NOT a lookup column, Not supported by this model, so there's "null object pattern" style implementation + public System.Collections.IDictionary Extensions { + get { return null; } + set { } + } // ------------------------------------------------------------- // ============================================================= @@ -15581,6 +15657,13 @@ public override int GetHashCode() // ============================================================= // Versioning // ------------------------------------------------------------- + + [DataMember(Name="_etag")] + public virtual string ETag { get; set; } + + [DataMember(Name="_lastModifiedDate")] + public virtual DateTime LastModifiedDate { get; set; } + // ------------------------------------------------------------- // ------------------------------------------------------------- @@ -15593,93 +15676,19 @@ public override int GetHashCode() // ------------------------------------------------------------ bool ISynchronizable.Synchronize(object target) { - return Entities.Common.EdFi.AssessmentScoreRangeLearningStandardLearningStandardMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)target); + return Entities.Common.EdFi.AssessmentReportingMethodDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentReportingMethodDescriptor)target); } void IMappable.Map(object target) { - Entities.Common.EdFi.AssessmentScoreRangeLearningStandardLearningStandardMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)target, null); + Entities.Common.EdFi.AssessmentReportingMethodDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentReportingMethodDescriptor)target, null); } // ------------------------------------------------------------- // ================================================================= // Resource Reference Data // ----------------------------------------------------------------- - Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardResourceId - { - get { return null; } - set { ImplicitLearningStandardReference.ResourceId = value ?? default(Guid); } - } - - string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardDiscriminator - { - // Not supported for Resources - get { return null; } - set { ImplicitLearningStandardReference.Discriminator = value; } - } - - // ----------------------------------------------------------------- - - // ================================== - // Validation - // ---------------------------------- - IEnumerable IValidatableObject.Validate(ValidationContext validationContext) - { - var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; - var mappingContract = mappingContractProvider.GetMappingContract(_fullName); - - var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); - - int originalLength = pathBuilder.Length; - - try - { - // Prepare builders for validating members - pathBuilder.Append(ValidationHelpers.JsonPathSeparator); - int dotLength = pathBuilder.Length; - - // ---------------------- - // Validate collections - // ---------------------- - - // --------------------------- - // Validate embedded objects - // --------------------------- - - // --------------------- - // Validate Extensions - // --------------------- - if (Extensions != null) - { - // Reset path builder - pathBuilder.Length = dotLength; - pathBuilder.Append(nameof(Extensions)); - - foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) - { - yield return result; - } - } - - // Execute the resource's fluent validator - var fluentValidationResult = _validator.Validate(this); - - if (!fluentValidationResult.IsValid) - { - foreach (var error in fluentValidationResult.Errors) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); - } - } - } - finally - { - // Restore original length - pathBuilder.Length = originalLength; - } - // ---------------------------------- - } } // ================================================================= @@ -15687,9 +15696,9 @@ string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandar // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class AssessmentScoreRangeLearningStandardLearningStandardPutPostRequestValidator : FluentValidation.AbstractValidator + public class AssessmentReportingMethodDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -15718,31 +15727,25 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// Represents a reference to the AssesssmentAdministrationParticipation resource. + /// Represents a reference to the AssessmentScoreRangeLearningStandard resource. /// [DataContract] [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationReference : IResourceReference + public class AssessmentScoreRangeLearningStandardReference : IResourceReference { - [DataMember(Name="administrationIdentifier")] - public string AdministrationIdentifier { get; set; } - [DataMember(Name="assessmentIdentifier")] public string AssessmentIdentifier { get; set; } - [DataMember(Name="assigningEducationOrganizationId")] - public long AssigningEducationOrganizationId { get; set; } - [DataMember(Name="namespace")] public string Namespace { get; set; } - [DataMember(Name="participatingEducationOrganizationId")] - public long ParticipatingEducationOrganizationId { get; set; } + [DataMember(Name="scoreRangeId")] + public string ScoreRangeId { get; set; } /// /// Gets or sets the resource identifier of the referenced resource. @@ -15780,34 +15783,24 @@ public Link Link /// true if the reference's properties are all set to non-default values; otherwise false. public bool IsReferenceFullyDefined() { - return AdministrationIdentifier != default(string) && AssessmentIdentifier != default(string) && AssigningEducationOrganizationId != default(long) && Namespace != default(string) && ParticipatingEducationOrganizationId != default(long); + return AssessmentIdentifier != default(string) && Namespace != default(string) && ScoreRangeId != default(string); } IEnumerable IResourceReference.GetUndefinedProperties() { - if (AdministrationIdentifier == default) - { - yield return "AdministrationIdentifier"; - } - if (AssessmentIdentifier == default) { yield return "AssessmentIdentifier"; } - if (AssigningEducationOrganizationId == default) - { - yield return "AssigningEducationOrganizationId"; - } - if (Namespace == default) { yield return "Namespace"; } - if (ParticipatingEducationOrganizationId == default) + if (ScoreRangeId == default) { - yield return "ParticipatingEducationOrganizationId"; + yield return "ScoreRangeId"; } } @@ -15816,8 +15809,8 @@ private Link CreateLink() { var link = new Link { - Rel = "AssesssmentAdministrationParticipation", - Href = $"/ed-fi/assesssmentAdministrationParticipations/{ResourceId:n}" + Rel = "AssessmentScoreRangeLearningStandard", + Href = $"/ed-fi/assessmentScoreRangeLearningStandards/{ResourceId:n}" }; if (string.IsNullOrEmpty(Discriminator)) @@ -15844,16 +15837,16 @@ private Link CreateLink() } // Aggregate reference /// - /// A class which represents the edfi.AssesssmentAdministrationParticipation table of the AssesssmentAdministrationParticipation aggregate in the ODS Database. + /// A class which represents the edfi.AssessmentScoreRangeLearningStandard table of the AssessmentScoreRangeLearningStandard aggregate in the ODS Database. /// [Serializable, DataContract] [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipation : Entities.Common.EdFi.IAssesssmentAdministrationParticipation, IHasETag, IDateVersionedEntity, IValidatableObject + public class AssessmentScoreRangeLearningStandard : Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard, IHasETag, IDateVersionedEntity, IValidatableObject { - private static FullName _fullName = new FullName("edfi", "AssesssmentAdministrationParticipation"); + private static FullName _fullName = new FullName("edfi", "AssessmentScoreRangeLearningStandard"); // Fluent validator instance (threadsafe) - private static AssesssmentAdministrationParticipationPutPostRequestValidator _validator = new AssesssmentAdministrationParticipationPutPostRequestValidator(); + private static AssessmentScoreRangeLearningStandardPutPostRequestValidator _validator = new AssessmentScoreRangeLearningStandardPutPostRequestValidator(); #pragma warning disable 414 private bool _SuspendReferenceAssignmentCheck = false; @@ -15864,9 +15857,9 @@ public class AssesssmentAdministrationParticipation : Entities.Common.EdFi.IAsse // Constructor // ------------------------------------------------------------- - public AssesssmentAdministrationParticipation() + public AssessmentScoreRangeLearningStandard() { - AssesssmentAdministrationParticipationAdministrationPointOfContacts = new List(); + AssessmentScoreRangeLearningStandardLearningStandards = new List(); } // ------------------------------------------------------------ @@ -15876,7 +15869,7 @@ public AssesssmentAdministrationParticipation() // ------------------------------------------------------------ /// - /// The unique identifier for the AssesssmentAdministrationParticipation resource. + /// The unique identifier for the AssessmentScoreRangeLearningStandard resource. /// [DataMember(Name="id")] [JsonConverter(typeof(GuidConverter))] @@ -15887,70 +15880,70 @@ public AssesssmentAdministrationParticipation() // References // ------------------------------------------------------------- - private bool _assessmentAdministrationReferenceExplicitlyAssigned; - private AssessmentAdministration.EdFi.AssessmentAdministrationReference _assessmentAdministrationReference; - private AssessmentAdministration.EdFi.AssessmentAdministrationReference ImplicitAssessmentAdministrationReference + private bool _assessmentReferenceExplicitlyAssigned; + private Assessment.EdFi.AssessmentReference _assessmentReference; + private Assessment.EdFi.AssessmentReference ImplicitAssessmentReference { get { // if the Reference is null, it is instantiated unless it has been explicitly assigned to null - if (_assessmentAdministrationReference == null && !_assessmentAdministrationReferenceExplicitlyAssigned) - _assessmentAdministrationReference = new AssessmentAdministration.EdFi.AssessmentAdministrationReference(); + if (_assessmentReference == null && !_assessmentReferenceExplicitlyAssigned) + _assessmentReference = new Assessment.EdFi.AssessmentReference(); - return _assessmentAdministrationReference; + return _assessmentReference; } } - [DataMember(Name="assessmentAdministrationReference")] + [DataMember(Name="assessmentReference")] [FullyDefinedReference][RequiredReference(isIdentifying: true)] - public AssessmentAdministration.EdFi.AssessmentAdministrationReference AssessmentAdministrationReference + public Assessment.EdFi.AssessmentReference AssessmentReference { get { // Only return the reference if it's non-null, and all its properties have non-default values assigned - if (ImplicitAssessmentAdministrationReference != null - && (_assessmentAdministrationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitAssessmentAdministrationReference.IsReferenceFullyDefined())) - return ImplicitAssessmentAdministrationReference; + if (ImplicitAssessmentReference != null + && (_assessmentReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitAssessmentReference.IsReferenceFullyDefined())) + return ImplicitAssessmentReference; return null; } set { - _assessmentAdministrationReferenceExplicitlyAssigned = true; - _assessmentAdministrationReference = value; + _assessmentReferenceExplicitlyAssigned = true; + _assessmentReference = value; } } - private bool _participatingEducationOrganizationReferenceExplicitlyAssigned; - private EducationOrganization.EdFi.EducationOrganizationReference _participatingEducationOrganizationReference; - private EducationOrganization.EdFi.EducationOrganizationReference ImplicitParticipatingEducationOrganizationReference + private bool _objectiveAssessmentReferenceExplicitlyAssigned; + private ObjectiveAssessment.EdFi.ObjectiveAssessmentReference _objectiveAssessmentReference; + private ObjectiveAssessment.EdFi.ObjectiveAssessmentReference ImplicitObjectiveAssessmentReference { get { // if the Reference is null, it is instantiated unless it has been explicitly assigned to null - if (_participatingEducationOrganizationReference == null && !_participatingEducationOrganizationReferenceExplicitlyAssigned) - _participatingEducationOrganizationReference = new EducationOrganization.EdFi.EducationOrganizationReference(); + if (_objectiveAssessmentReference == null && !_objectiveAssessmentReferenceExplicitlyAssigned) + _objectiveAssessmentReference = new ObjectiveAssessment.EdFi.ObjectiveAssessmentReference(); - return _participatingEducationOrganizationReference; + return _objectiveAssessmentReference; } } - [DataMember(Name="participatingEducationOrganizationReference")] - [FullyDefinedReference][RequiredReference(isIdentifying: true)] - public EducationOrganization.EdFi.EducationOrganizationReference ParticipatingEducationOrganizationReference + [DataMember(Name="objectiveAssessmentReference")] + [FullyDefinedReference] + public ObjectiveAssessment.EdFi.ObjectiveAssessmentReference ObjectiveAssessmentReference { get { // Only return the reference if it's non-null, and all its properties have non-default values assigned - if (ImplicitParticipatingEducationOrganizationReference != null - && (_participatingEducationOrganizationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitParticipatingEducationOrganizationReference.IsReferenceFullyDefined())) - return ImplicitParticipatingEducationOrganizationReference; + if (ImplicitObjectiveAssessmentReference != null + && (_objectiveAssessmentReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitObjectiveAssessmentReference.IsReferenceFullyDefined())) + return ImplicitObjectiveAssessmentReference; return null; } set { - _participatingEducationOrganizationReferenceExplicitlyAssigned = true; - _participatingEducationOrganizationReference = value; + _objectiveAssessmentReferenceExplicitlyAssigned = true; + _objectiveAssessmentReference = value; } } // ------------------------------------------------------------- @@ -15959,42 +15952,17 @@ public EducationOrganization.EdFi.EducationOrganizationReference ParticipatingEd // Primary Key // ------------------------------------------------------------- - /// - /// The title or name of the assessment in the context of its administration. - /// - // IS in a reference, NOT a lookup column - string Entities.Common.EdFi.IAssesssmentAdministrationParticipation.AdministrationIdentifier - { - get - { - if (ImplicitAssessmentAdministrationReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentAdministrationReference.IsReferenceFullyDefined())) - return ImplicitAssessmentAdministrationReference.AdministrationIdentifier; - - return default(string); - } - set - { - // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. - // All ExplicitlyAssigned are reset to false in advanced - - // AssessmentAdministration - _assessmentAdministrationReferenceExplicitlyAssigned = false; - ImplicitAssessmentAdministrationReference.AdministrationIdentifier = value; - } - } - /// /// A unique number or alphanumeric code assigned to an assessment. /// // IS in a reference, NOT a lookup column - string Entities.Common.EdFi.IAssesssmentAdministrationParticipation.AssessmentIdentifier + string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentIdentifier { get { - if (ImplicitAssessmentAdministrationReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentAdministrationReference.IsReferenceFullyDefined())) - return ImplicitAssessmentAdministrationReference.AssessmentIdentifier; + if (ImplicitAssessmentReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentReference.IsReferenceFullyDefined())) + return ImplicitAssessmentReference.AssessmentIdentifier; return default(string); } @@ -16003,34 +15971,13 @@ string Entities.Common.EdFi.IAssesssmentAdministrationParticipation.AssessmentId // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. // All ExplicitlyAssigned are reset to false in advanced - // AssessmentAdministration - _assessmentAdministrationReferenceExplicitlyAssigned = false; - ImplicitAssessmentAdministrationReference.AssessmentIdentifier = value; - } - } - - /// - /// The identifier assigned to an education organization. - /// - // IS in a reference, NOT a lookup column - long Entities.Common.EdFi.IAssesssmentAdministrationParticipation.AssigningEducationOrganizationId - { - get - { - if (ImplicitAssessmentAdministrationReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentAdministrationReference.IsReferenceFullyDefined())) - return ImplicitAssessmentAdministrationReference.AssigningEducationOrganizationId; - - return default(long); - } - set - { - // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. - // All ExplicitlyAssigned are reset to false in advanced + // Assessment + _assessmentReferenceExplicitlyAssigned = false; + ImplicitAssessmentReference.AssessmentIdentifier = value; - // AssessmentAdministration - _assessmentAdministrationReferenceExplicitlyAssigned = false; - ImplicitAssessmentAdministrationReference.AssigningEducationOrganizationId = value; + // ObjectiveAssessment + _objectiveAssessmentReferenceExplicitlyAssigned = false; + ImplicitObjectiveAssessmentReference.AssessmentIdentifier = value; } } @@ -16038,13 +15985,13 @@ long Entities.Common.EdFi.IAssesssmentAdministrationParticipation.AssigningEduca /// Namespace for the assessment. /// // IS in a reference, NOT a lookup column - string Entities.Common.EdFi.IAssesssmentAdministrationParticipation.Namespace + string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.Namespace { get { - if (ImplicitAssessmentAdministrationReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentAdministrationReference.IsReferenceFullyDefined())) - return ImplicitAssessmentAdministrationReference.Namespace; + if (ImplicitAssessmentReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitAssessmentReference.IsReferenceFullyDefined())) + return ImplicitAssessmentReference.Namespace; return default(string); } @@ -16053,36 +16000,24 @@ string Entities.Common.EdFi.IAssesssmentAdministrationParticipation.Namespace // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. // All ExplicitlyAssigned are reset to false in advanced - // AssessmentAdministration - _assessmentAdministrationReferenceExplicitlyAssigned = false; - ImplicitAssessmentAdministrationReference.Namespace = value; + // Assessment + _assessmentReferenceExplicitlyAssigned = false; + ImplicitAssessmentReference.Namespace = value; + + // ObjectiveAssessment + _objectiveAssessmentReferenceExplicitlyAssigned = false; + ImplicitObjectiveAssessmentReference.Namespace = value; } } /// - /// The identifier assigned to an education organization. + /// A unique number or alphanumeric code assigned to the score range associated with one or more learning standards. /// - // IS in a reference, NOT a lookup column - long Entities.Common.EdFi.IAssesssmentAdministrationParticipation.ParticipatingEducationOrganizationId - { - get - { - if (ImplicitParticipatingEducationOrganizationReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitParticipatingEducationOrganizationReference.IsReferenceFullyDefined())) - return ImplicitParticipatingEducationOrganizationReference.EducationOrganizationId; - - return default(long); - } - set - { - // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. - // All ExplicitlyAssigned are reset to false in advanced - - // ParticipatingEducationOrganization - _participatingEducationOrganizationReferenceExplicitlyAssigned = false; - ImplicitParticipatingEducationOrganizationReference.EducationOrganizationId = value; - } - } + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(60, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText, NoWhitespace] + [DataMember(Name="scoreRangeId")] + public string ScoreRangeId { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -16097,7 +16032,7 @@ long Entities.Common.EdFi.IAssesssmentAdministrationParticipation.ParticipatingE /// public override bool Equals(object obj) { - var compareTo = obj as Entities.Common.EdFi.IAssesssmentAdministrationParticipation; + var compareTo = obj as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard; if (ReferenceEquals(this, compareTo)) return true; @@ -16107,27 +16042,17 @@ public override bool Equals(object obj) // Referenced Property - if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipation).AdministrationIdentifier, compareTo.AdministrationIdentifier)) - return false; - - - // Referenced Property - if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipation).AssessmentIdentifier, compareTo.AssessmentIdentifier)) - return false; - - - // Referenced Property - if (!(this as Entities.Common.EdFi.IAssesssmentAdministrationParticipation).AssigningEducationOrganizationId.Equals(compareTo.AssigningEducationOrganizationId)) + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).AssessmentIdentifier, compareTo.AssessmentIdentifier)) return false; // Referenced Property - if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipation).Namespace, compareTo.Namespace)) + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).Namespace, compareTo.Namespace)) return false; - // Referenced Property - if (!(this as Entities.Common.EdFi.IAssesssmentAdministrationParticipation).ParticipatingEducationOrganizationId.Equals(compareTo.ParticipatingEducationOrganizationId)) + // Standard Property + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).ScoreRangeId, compareTo.ScoreRangeId)) return false; @@ -16145,19 +16070,14 @@ public override int GetHashCode() var hash = new HashCode(); //Referenced Property - hash.Add((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipation).AdministrationIdentifier); - - //Referenced Property - hash.Add((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipation).AssessmentIdentifier); + hash.Add((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).AssessmentIdentifier); //Referenced Property - hash.Add((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipation).AssigningEducationOrganizationId); + hash.Add((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).Namespace); - //Referenced Property - hash.Add((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipation).Namespace); + // Standard Property + hash.Add((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard).ScoreRangeId); - //Referenced Property - hash.Add((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipation).ParticipatingEducationOrganizationId); return hash.ToHashCode(); } // ------------------------------------------------------------- @@ -16170,6 +16090,59 @@ public override int GetHashCode() // ============================================================= // Properties // ------------------------------------------------------------- + + /// + /// The assessment reporting method defined (e.g., scale score, RIT scale score) associated with the referenced learning standard(s). + /// + // NOT in a reference, IS a lookup column + [NonDefaultStringLength(306, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="assessmentReportingMethodDescriptor")][DescriptorExists("AssessmentReportingMethodDescriptor")] + public string AssessmentReportingMethodDescriptor { get; set; } + + /// + /// A unique number or alphanumeric code assigned to an objective assessment by a school, school system, a state, or other agency or entity. + /// + // IS in a reference, NOT a lookup column + string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.IdentificationCode + { + get + { + if (ImplicitObjectiveAssessmentReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitObjectiveAssessmentReference.IsReferenceFullyDefined())) + { + return ImplicitObjectiveAssessmentReference.IdentificationCode; + } + + return default(string); + } + set + { + // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. + // All ExplicitlyAssigned are reset to false in advanced + + // ObjectiveAssessment + _objectiveAssessmentReferenceExplicitlyAssigned = false; + ImplicitObjectiveAssessmentReference.IdentificationCode = value; + } + } + + /// + /// The maximum score in the score range. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(35, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="maximumScore")] + public string MaximumScore { get; set; } + + /// + /// The minimum score in the score range. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(35, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="minimumScore")] + public string MinimumScore { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -16190,41 +16163,41 @@ public override int GetHashCode() // ============================================================= // Extensions // ------------------------------------------------------------- - [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssesssmentAdministrationParticipation", "AssesssmentAdministrationParticipation")] + [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssessmentScoreRangeLearningStandard", "AssessmentScoreRangeLearningStandard")] public System.Collections.IDictionary Extensions { get; set; } // ------------------------------------------------------------- // ============================================================= // Collections // ------------------------------------------------------------- - private ICollection _assesssmentAdministrationParticipationAdministrationPointOfContacts; - private ICollection _assesssmentAdministrationParticipationAdministrationPointOfContactsCovariant; + private ICollection _assessmentScoreRangeLearningStandardLearningStandards; + private ICollection _assessmentScoreRangeLearningStandardLearningStandardsCovariant; - [NoDuplicateMembers] - [DataMember(Name="administrationPointOfContacts")] - public ICollection AssesssmentAdministrationParticipationAdministrationPointOfContacts + [NoDuplicateMembers][RequiredCollection] + [DataMember(Name="learningStandards")] + public ICollection AssessmentScoreRangeLearningStandardLearningStandards { - get { return _assesssmentAdministrationParticipationAdministrationPointOfContacts; } + get { return _assessmentScoreRangeLearningStandardLearningStandards; } set { if (value == null) return; // Initialize primary list with notifying adapter immediately wired up so existing items are associated with the parent - var list = new CollectionAdapterWithAddNotifications(value, - (s, e) => ((Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact)e.Item).AssesssmentAdministrationParticipation = this); - _assesssmentAdministrationParticipationAdministrationPointOfContacts = list; + var list = new CollectionAdapterWithAddNotifications(value, + (s, e) => ((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)e.Item).AssessmentScoreRangeLearningStandard = this); + _assessmentScoreRangeLearningStandardLearningStandards = list; // Initialize covariant list with notifying adapter with deferred wire up so only new items are processed (optimization) - var covariantList = new CovariantCollectionAdapterWithAddNotifications(value); - covariantList.ItemAdded += (s, e) => ((Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact)e.Item).AssesssmentAdministrationParticipation = this; - _assesssmentAdministrationParticipationAdministrationPointOfContactsCovariant = covariantList; + var covariantList = new CovariantCollectionAdapterWithAddNotifications(value); + covariantList.ItemAdded += (s, e) => ((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)e.Item).AssessmentScoreRangeLearningStandard = this; + _assessmentScoreRangeLearningStandardLearningStandardsCovariant = covariantList; } } // Covariant version, visible only on the interface - ICollection Entities.Common.EdFi.IAssesssmentAdministrationParticipation.AssesssmentAdministrationParticipationAdministrationPointOfContacts + ICollection Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentScoreRangeLearningStandardLearningStandards { - get { return _assesssmentAdministrationParticipationAdministrationPointOfContactsCovariant; } - set { AssesssmentAdministrationParticipationAdministrationPointOfContacts = new List(value.Cast()); } + get { return _assessmentScoreRangeLearningStandardLearningStandardsCovariant; } + set { AssessmentScoreRangeLearningStandardLearningStandards = new List(value.Cast()); } } // ------------------------------------------------------------- @@ -16249,9 +16222,9 @@ public ICollection t.Item2).Where(v => !v.IsDefaultValue()).AllEqual(GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer)) + { + pathPrefix ??= pathBuilder.ToString(); + + string values = string.Join("', '", sourcesForAssessmentIdentifier.Select(src => src.value.ToString().TrimAt(50, true))); + string parentContextNote = sourcesForAssessmentIdentifier.Any(src => src.path == null) ? " (including those higher up in the resource's data)" : null; + + yield return new System.ComponentModel.DataAnnotations.ValidationResult($"All values supplied for 'assessmentIdentifier' must match. Review all references{parentContextNote} and align the following conflicting values: '{values}'", + sourcesForAssessmentIdentifier.Where(src => src.path != null).Select(src => $"{pathPrefix}{src.path}").ToArray()); + } + + IEnumerable<(string path, string value)> GetAssessmentIdentifierSources() + { + // Obtain value from other references + var valueFromAssessmentReference = this.AssessmentReference?.AssessmentIdentifier; + + if (valueFromAssessmentReference != null) + { + yield return ("assessmentReference.assessmentIdentifier", this.AssessmentReference.AssessmentIdentifier); + } + + // Obtain value from other references + var valueFromObjectiveAssessmentReference = this.ObjectiveAssessmentReference?.AssessmentIdentifier; + + if (valueFromObjectiveAssessmentReference != null) + { + yield return ("objectiveAssessmentReference.assessmentIdentifier", this.ObjectiveAssessmentReference.AssessmentIdentifier); + } + + } + var sourcesForNamespace = GetNamespaceSources().ToArray(); + + if (!sourcesForNamespace.Select(t => t.Item2).Where(v => !v.IsDefaultValue()).AllEqual(GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer)) + { + pathPrefix ??= pathBuilder.ToString(); + + string values = string.Join("', '", sourcesForNamespace.Select(src => src.value.ToString().TrimAt(50, true))); + string parentContextNote = sourcesForNamespace.Any(src => src.path == null) ? " (including those higher up in the resource's data)" : null; + + yield return new System.ComponentModel.DataAnnotations.ValidationResult($"All values supplied for 'namespace' must match. Review all references{parentContextNote} and align the following conflicting values: '{values}'", + sourcesForNamespace.Where(src => src.path != null).Select(src => $"{pathPrefix}{src.path}").ToArray()); + } + + IEnumerable<(string path, string value)> GetNamespaceSources() + { + // Obtain value from other references + var valueFromAssessmentReference = this.AssessmentReference?.Namespace; + + if (valueFromAssessmentReference != null) + { + yield return ("assessmentReference.namespace", this.AssessmentReference.Namespace); + } + + // Obtain value from other references + var valueFromObjectiveAssessmentReference = this.ObjectiveAssessmentReference?.Namespace; + + if (valueFromObjectiveAssessmentReference != null) + { + yield return ("objectiveAssessmentReference.namespace", this.ObjectiveAssessmentReference.Namespace); + } + + } // Execute the resource's fluent validator var fluentValidationResult = _validator.Validate(this); @@ -16381,14 +16425,14 @@ string Entities.Common.EdFi.IAssesssmentAdministrationParticipation.Participatin // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationPutPostRequestValidator : FluentValidation.AbstractValidator + public class AssessmentScoreRangeLearningStandardPutPostRequestValidator : FluentValidation.AbstractValidator { - private static readonly FullName _fullName_edfi_AssesssmentAdministrationParticipation = new FullName("edfi", "AssesssmentAdministrationParticipation"); + private static readonly FullName _fullName_edfi_AssessmentScoreRangeLearningStandard = new FullName("edfi", "AssessmentScoreRangeLearningStandard"); // Declare collection item validators - private AssesssmentAdministrationParticipationAdministrationPointOfContactPutPostRequestValidator _assesssmentAdministrationParticipationAdministrationPointOfContactsValidator = new (); + private AssessmentScoreRangeLearningStandardLearningStandardPutPostRequestValidator _assessmentScoreRangeLearningStandardLearningStandardsValidator = new (); - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -16405,19 +16449,19 @@ protected override bool PreValidate(FluentValidation.ValidationContext !mappingContract.IsAssesssmentAdministrationParticipationAdministrationPointOfContactIncluded(x)); + var hasInvalidAssessmentScoreRangeLearningStandardLearningStandardsItems = instance.AssessmentScoreRangeLearningStandardLearningStandards.Any(x => !mappingContract.IsAssessmentScoreRangeLearningStandardLearningStandardIncluded(x)); - if (hasInvalidAssesssmentAdministrationParticipationAdministrationPointOfContactsItems) + if (hasInvalidAssessmentScoreRangeLearningStandardLearningStandardsItems) { profileName ??= GeneratedArtifactStaticDependencies.ProfileContentTypeContextProvider.Get().ProfileName; - failures.Add(new ValidationFailure("AssesssmentAdministrationParticipationAdministrationPointOfContacts", $"A supplied 'AssesssmentAdministrationParticipationAdministrationPointOfContact' has a descriptor value that does not conform with the filter values defined by profile '{profileName}'.")); + failures.Add(new ValidationFailure("AssessmentScoreRangeLearningStandardLearningStandards", $"A supplied 'AssessmentScoreRangeLearningStandardLearningStandard' has a descriptor value that does not conform with the filter values defined by profile '{profileName}'.")); } } @@ -16439,16 +16483,16 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// A class which represents the edfi.AssesssmentAdministrationParticipationAdministrationPointOfContact table of the AssesssmentAdministrationParticipation aggregate in the ODS Database. + /// A class which represents the edfi.AssessmentScoreRangeLearningStandardLearningStandard table of the AssessmentScoreRangeLearningStandard aggregate in the ODS Database. /// [Serializable, DataContract] [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationAdministrationPointOfContact : Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact, IValidatableObject + public class AssessmentScoreRangeLearningStandardLearningStandard : Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard, IValidatableObject { - private static FullName _fullName = new FullName("edfi", "AssesssmentAdministrationParticipationAdministrationPointOfContact"); + private static FullName _fullName = new FullName("edfi", "AssessmentScoreRangeLearningStandardLearningStandard"); // Fluent validator instance (threadsafe) - private static AssesssmentAdministrationParticipationAdministrationPointOfContactPutPostRequestValidator _validator = new AssesssmentAdministrationParticipationAdministrationPointOfContactPutPostRequestValidator(); + private static AssessmentScoreRangeLearningStandardLearningStandardPutPostRequestValidator _validator = new AssessmentScoreRangeLearningStandardLearningStandardPutPostRequestValidator(); #pragma warning disable 414 private bool _SuspendReferenceAssignmentCheck = false; @@ -16471,37 +16515,37 @@ public class AssesssmentAdministrationParticipationAdministrationPointOfContact // References // ------------------------------------------------------------- - private bool _educationOrganizationReferenceExplicitlyAssigned; - private EducationOrganization.EdFi.EducationOrganizationReference _educationOrganizationReference; - private EducationOrganization.EdFi.EducationOrganizationReference ImplicitEducationOrganizationReference + private bool _learningStandardReferenceExplicitlyAssigned; + private LearningStandard.EdFi.LearningStandardReference _learningStandardReference; + private LearningStandard.EdFi.LearningStandardReference ImplicitLearningStandardReference { get { // if the Reference is null, it is instantiated unless it has been explicitly assigned to null - if (_educationOrganizationReference == null && !_educationOrganizationReferenceExplicitlyAssigned) - _educationOrganizationReference = new EducationOrganization.EdFi.EducationOrganizationReference(); + if (_learningStandardReference == null && !_learningStandardReferenceExplicitlyAssigned) + _learningStandardReference = new LearningStandard.EdFi.LearningStandardReference(); - return _educationOrganizationReference; + return _learningStandardReference; } } - [DataMember(Name="educationOrganizationReference")] + [DataMember(Name="learningStandardReference")] [FullyDefinedReference][RequiredReference(isIdentifying: true)] - public EducationOrganization.EdFi.EducationOrganizationReference EducationOrganizationReference + public LearningStandard.EdFi.LearningStandardReference LearningStandardReference { get { // Only return the reference if it's non-null, and all its properties have non-default values assigned - if (ImplicitEducationOrganizationReference != null - && (_educationOrganizationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined())) - return ImplicitEducationOrganizationReference; + if (ImplicitLearningStandardReference != null + && (_learningStandardReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitLearningStandardReference.IsReferenceFullyDefined())) + return ImplicitLearningStandardReference; return null; } set { - _educationOrganizationReferenceExplicitlyAssigned = true; - _educationOrganizationReference = value; + _learningStandardReferenceExplicitlyAssigned = true; + _learningStandardReference = value; } } // ------------------------------------------------------------- @@ -16509,58 +16553,49 @@ public EducationOrganization.EdFi.EducationOrganizationReference EducationOrgani //============================================================== // Primary Key // ------------------------------------------------------------- - private Entities.Common.EdFi.IAssesssmentAdministrationParticipation _assesssmentAdministrationParticipation; + private Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard _assessmentScoreRangeLearningStandard; [IgnoreDataMember] - Entities.Common.EdFi.IAssesssmentAdministrationParticipation IAssesssmentAdministrationParticipationAdministrationPointOfContact.AssesssmentAdministrationParticipation + Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard IAssessmentScoreRangeLearningStandardLearningStandard.AssessmentScoreRangeLearningStandard { - get { return _assesssmentAdministrationParticipation; } - set { SetAssesssmentAdministrationParticipation(value); } + get { return _assessmentScoreRangeLearningStandard; } + set { SetAssessmentScoreRangeLearningStandard(value); } } - public Entities.Common.EdFi.IAssesssmentAdministrationParticipation AssesssmentAdministrationParticipation + public Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard AssessmentScoreRangeLearningStandard { - set { SetAssesssmentAdministrationParticipation(value); } + set { SetAssessmentScoreRangeLearningStandard(value); } } - private void SetAssesssmentAdministrationParticipation(Entities.Common.EdFi.IAssesssmentAdministrationParticipation value) + private void SetAssessmentScoreRangeLearningStandard(Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard value) { - _assesssmentAdministrationParticipation = value; + _assessmentScoreRangeLearningStandard = value; } /// - /// The identifier assigned to an education organization. + /// The identifier for the specific learning standard (e.g., 111.15.3.1.A). /// // IS in a reference, NOT a lookup column - long Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationId + string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardId { get { - if (ImplicitEducationOrganizationReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined())) - return ImplicitEducationOrganizationReference.EducationOrganizationId; + if (ImplicitLearningStandardReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitLearningStandardReference.IsReferenceFullyDefined())) + return ImplicitLearningStandardReference.LearningStandardId; - return default(long); + return default(string); } set { // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. // All ExplicitlyAssigned are reset to false in advanced - // EducationOrganization - _educationOrganizationReferenceExplicitlyAssigned = false; - ImplicitEducationOrganizationReference.EducationOrganizationId = value; + // LearningStandard + _learningStandardReferenceExplicitlyAssigned = false; + ImplicitLearningStandardReference.LearningStandardId = value; } } - - /// - /// The email address for the contact. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(128, MinimumLength=7, ErrorMessage=ValidationHelpers.StringLengthWithMinimumMessageFormat), NoDangerousText, NoWhitespace] - [DataMember(Name="electronicMailAddress")] - public string ElectronicMailAddress { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -16575,7 +16610,7 @@ long Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationP /// public override bool Equals(object obj) { - var compareTo = obj as Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact; + var compareTo = obj as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard; if (ReferenceEquals(this, compareTo)) return true; @@ -16584,17 +16619,12 @@ public override bool Equals(object obj) return false; // Parent Property - if (_assesssmentAdministrationParticipation == null || !_assesssmentAdministrationParticipation.Equals(compareTo.AssesssmentAdministrationParticipation)) + if (_assessmentScoreRangeLearningStandard == null || !_assessmentScoreRangeLearningStandard.Equals(compareTo.AssessmentScoreRangeLearningStandard)) return false; // Referenced Property - if (!(this as Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact).EducationOrganizationId.Equals(compareTo.EducationOrganizationId)) - return false; - - - // Standard Property - if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact).ElectronicMailAddress, compareTo.ElectronicMailAddress)) + if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard).LearningStandardId, compareTo.LearningStandardId)) return false; @@ -16611,15 +16641,11 @@ public override int GetHashCode() { var hash = new HashCode(); //Parent Property - if (_assesssmentAdministrationParticipation != null) - hash.Add(_assesssmentAdministrationParticipation); + if (_assessmentScoreRangeLearningStandard != null) + hash.Add(_assessmentScoreRangeLearningStandard); //Referenced Property - hash.Add((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact).EducationOrganizationId); - - // Standard Property - hash.Add((this as Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact).ElectronicMailAddress); - + hash.Add((this as Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard).LearningStandardId); return hash.ToHashCode(); } // ------------------------------------------------------------- @@ -16632,32 +16658,6 @@ public override int GetHashCode() // ============================================================= // Properties // ------------------------------------------------------------- - - /// - /// The contact's first name. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(75, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="firstName")] - public string FirstName { get; set; } - - /// - /// The contact's last name. - /// - // NOT in a reference, NOT a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(75, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="lastSurname")] - public string LastSurname { get; set; } - - /// - /// The login ID for the user; used for security access control interface. - /// - // NOT in a reference, NOT a lookup column - [NonDefaultStringLength(60, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="loginId")] - public string LoginId { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -16678,7 +16678,7 @@ public override int GetHashCode() // ============================================================= // Extensions // ------------------------------------------------------------- - [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssesssmentAdministrationParticipation", "AssesssmentAdministrationParticipationAdministrationPointOfContact")] + [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "AssessmentScoreRangeLearningStandard", "AssessmentScoreRangeLearningStandardLearningStandard")] public System.Collections.IDictionary Extensions { get; set; } // ------------------------------------------------------------- @@ -16702,29 +16702,29 @@ public override int GetHashCode() // ------------------------------------------------------------ bool ISynchronizable.Synchronize(object target) { - return Entities.Common.EdFi.AssesssmentAdministrationParticipationAdministrationPointOfContactMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact)target); + return Entities.Common.EdFi.AssessmentScoreRangeLearningStandardLearningStandardMapper.SynchronizeTo(this, (Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)target); } void IMappable.Map(object target) { - Entities.Common.EdFi.AssesssmentAdministrationParticipationAdministrationPointOfContactMapper.MapTo(this, (Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact)target, null); + Entities.Common.EdFi.AssessmentScoreRangeLearningStandardLearningStandardMapper.MapTo(this, (Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)target, null); } // ------------------------------------------------------------- // ================================================================= // Resource Reference Data // ----------------------------------------------------------------- - Guid? Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationResourceId + Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardResourceId { get { return null; } - set { ImplicitEducationOrganizationReference.ResourceId = value ?? default(Guid); } + set { ImplicitLearningStandardReference.ResourceId = value ?? default(Guid); } } - string Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationDiscriminator + string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardDiscriminator { // Not supported for Resources get { return null; } - set { ImplicitEducationOrganizationReference.Discriminator = value; } + set { ImplicitLearningStandardReference.Discriminator = value; } } @@ -16796,9 +16796,9 @@ string Entities.Common.EdFi.IAssesssmentAdministrationParticipationAdministratio // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationAdministrationPointOfContactPutPostRequestValidator : FluentValidation.AbstractValidator + public class AssessmentScoreRangeLearningStandardLearningStandardPutPostRequestValidator : FluentValidation.AbstractValidator { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -57501,16 +57501,573 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// A class which represents the edfi.DisciplineIncidentWeapon table of the DisciplineIncident aggregate in the ODS Database. + /// A class which represents the edfi.DisciplineIncidentWeapon table of the DisciplineIncident aggregate in the ODS Database. + /// + [Serializable, DataContract] + [ExcludeFromCodeCoverage] + public class DisciplineIncidentWeapon : Entities.Common.EdFi.IDisciplineIncidentWeapon, IValidatableObject + { + private static FullName _fullName = new FullName("edfi", "DisciplineIncidentWeapon"); + + // Fluent validator instance (threadsafe) + private static DisciplineIncidentWeaponPutPostRequestValidator _validator = new DisciplineIncidentWeaponPutPostRequestValidator(); + +#pragma warning disable 414 + private bool _SuspendReferenceAssignmentCheck = false; + public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; } +#pragma warning restore 414 + + // ============================================================= + // Constructor + // ------------------------------------------------------------- + + + // ------------------------------------------------------------ + + // ============================================================ + // Unique Identifier + // ------------------------------------------------------------ + // ------------------------------------------------------------ + + // ============================================================= + // References + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + //============================================================== + // Primary Key + // ------------------------------------------------------------- + private Entities.Common.EdFi.IDisciplineIncident _disciplineIncident; + + [IgnoreDataMember] + Entities.Common.EdFi.IDisciplineIncident IDisciplineIncidentWeapon.DisciplineIncident + { + get { return _disciplineIncident; } + set { SetDisciplineIncident(value); } + } + + public Entities.Common.EdFi.IDisciplineIncident DisciplineIncident + { + set { SetDisciplineIncident(value); } + } + + private void SetDisciplineIncident(Entities.Common.EdFi.IDisciplineIncident value) + { + _disciplineIncident = value; + } + + /// + /// Identifies the type of weapon used during an incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm. + /// + // NOT in a reference, IS a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(306, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText, NoWhitespace] + [DataMember(Name="weaponDescriptor")][DescriptorExists("WeaponDescriptor")] + public string WeaponDescriptor { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Equality + // ------------------------------------------------------------- + + /// + /// Determines equality based on the natural key properties of the resource. + /// + /// + /// A boolean value indicating equality result of the compared resources. + /// + public override bool Equals(object obj) + { + var compareTo = obj as Entities.Common.EdFi.IDisciplineIncidentWeapon; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + // Parent Property + if (_disciplineIncident == null || !_disciplineIncident.Equals(compareTo.DisciplineIncident)) + return false; + + + // Standard Property + if (!StringComparer.OrdinalIgnoreCase.Equals((this as Entities.Common.EdFi.IDisciplineIncidentWeapon).WeaponDescriptor, compareTo.WeaponDescriptor)) + return false; + + + return true; + } + + /// + /// Builds the hash code based on the unique identifying values. + /// + /// + /// A hash code for the resource. + /// + public override int GetHashCode() + { + var hash = new HashCode(); + //Parent Property + if (_disciplineIncident != null) + hash.Add(_disciplineIncident); + + // Standard Property + hash.Add((this as Entities.Common.EdFi.IDisciplineIncidentWeapon).WeaponDescriptor); + + return hash.ToHashCode(); + } + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "DisciplineIncident", "DisciplineIncidentWeapon")] + public System.Collections.IDictionary Extensions { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Versioning + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ------------------------------------------------------------- + // OnDeserialize + // ------------------------------------------------------------- + // ------------------------------------------------------------ + + // ============================================================ + // Data Synchronization + // ------------------------------------------------------------ + bool ISynchronizable.Synchronize(object target) + { + return Entities.Common.EdFi.DisciplineIncidentWeaponMapper.SynchronizeTo(this, (Entities.Common.EdFi.IDisciplineIncidentWeapon)target); + } + + void IMappable.Map(object target) + { + Entities.Common.EdFi.DisciplineIncidentWeaponMapper.MapTo(this, (Entities.Common.EdFi.IDisciplineIncidentWeapon)target, null); + } + // ------------------------------------------------------------- + + // ================================================================= + // Resource Reference Data + // ----------------------------------------------------------------- + // ----------------------------------------------------------------- + + // ================================== + // Validation + // ---------------------------------- + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; + var mappingContract = mappingContractProvider.GetMappingContract(_fullName); + + var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); + + int originalLength = pathBuilder.Length; + + try + { + // Prepare builders for validating members + pathBuilder.Append(ValidationHelpers.JsonPathSeparator); + int dotLength = pathBuilder.Length; + + // ---------------------- + // Validate collections + // ---------------------- + + // --------------------------- + // Validate embedded objects + // --------------------------- + + // --------------------- + // Validate Extensions + // --------------------- + if (Extensions != null) + { + // Reset path builder + pathBuilder.Length = dotLength; + pathBuilder.Append(nameof(Extensions)); + + foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) + { + yield return result; + } + } + + // Execute the resource's fluent validator + var fluentValidationResult = _validator.Validate(this); + + if (!fluentValidationResult.IsValid) + { + foreach (var error in fluentValidationResult.Errors) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); + } + } + } + finally + { + // Restore original length + pathBuilder.Length = originalLength; + } + // ---------------------------------- + } + } + + // ================================================================= + // Validators + // ----------------------------------------------------------------- + + [ExcludeFromCodeCoverage] + public class DisciplineIncidentWeaponPutPostRequestValidator : FluentValidation.AbstractValidator + { + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + { + if (context.InstanceToValidate == null) + { + result.Errors.Add(new ValidationFailure("", "Please ensure a model was supplied.")); + + return false; + } + + var instance = context.InstanceToValidate; + + var failures = new List(); + + if (failures.Any()) + { + foreach (var failure in failures) + { + result.Errors.Add(failure); + } + + return false; + } + + return true; + } + } + // ----------------------------------------------------------------- + +} +// Aggregate: DisciplineIncidentParticipationCodeDescriptor + +namespace EdFi.Ods.Api.Common.Models.Resources.DisciplineIncidentParticipationCodeDescriptor.EdFi +{ + /// + /// A class which represents the edfi.DisciplineIncidentParticipationCodeDescriptor table of the DisciplineIncidentParticipationCodeDescriptor aggregate in the ODS Database. + /// + [Serializable, DataContract] + [ExcludeFromCodeCoverage] + public class DisciplineIncidentParticipationCodeDescriptor : Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity + { + private static FullName _fullName = new FullName("edfi", "DisciplineIncidentParticipationCodeDescriptor"); + + // Fluent validator instance (threadsafe) + private static DisciplineIncidentParticipationCodeDescriptorPutPostRequestValidator _validator = new DisciplineIncidentParticipationCodeDescriptorPutPostRequestValidator(); + +#pragma warning disable 414 + private bool _SuspendReferenceAssignmentCheck = false; + public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; } +#pragma warning restore 414 + + // ============================================================= + // Constructor + // ------------------------------------------------------------- + + + // ------------------------------------------------------------ + + // ============================================================ + // Unique Identifier + // ------------------------------------------------------------ + + /// + /// The unique identifier for the DisciplineIncidentParticipationCodeDescriptor resource. + /// + [DataMember(Name="id")] + [JsonConverter(typeof(GuidConverter))] + public Guid Id { get; set; } + // ------------------------------------------------------------ + + // ============================================================= + // References + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + //============================================================== + // Primary Key + // ------------------------------------------------------------- + + /// + /// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table. + /// + // NOT in a reference, NOT a lookup column + [JsonIgnore] + public int DisciplineIncidentParticipationCodeDescriptorId { get; set; } + + int IDescriptor.DescriptorId + { + get { return DisciplineIncidentParticipationCodeDescriptorId; } + set { DisciplineIncidentParticipationCodeDescriptorId = value; } + } + // ------------------------------------------------------------- + + // ============================================================= + // Equality + // ------------------------------------------------------------- + + /// + /// Determines equality based on the natural key properties of the resource. + /// + /// + /// A boolean value indicating equality result of the compared resources. + /// + public override bool Equals(object obj) + { + var compareTo = obj as Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + + // Derived Property + if (!(this as Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor).DisciplineIncidentParticipationCodeDescriptorId.Equals(compareTo.DisciplineIncidentParticipationCodeDescriptorId)) + return false; + + + return true; + } + + /// + /// Builds the hash code based on the unique identifying values. + /// + /// + /// A hash code for the resource. + /// + public override int GetHashCode() + { + var hash = new HashCode(); + + //Derived Property + hash.Add((this as Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor).DisciplineIncidentParticipationCodeDescriptorId); + + return hash.ToHashCode(); + } + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + + /// + /// A code or abbreviation that is used to refer to the descriptor. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(50, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="codeValue")] + public string CodeValue { get; set; } + + /// + /// The description of the descriptor. + /// + // NOT in a reference, NOT a lookup column + [NonDefaultStringLength(1024, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="description")] + public string Description { get; set; } + + /// + /// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="effectiveBeginDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] + public DateTime? EffectiveBeginDate { get; set; } + + /// + /// The end date of the period when the descriptor is in effect. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="effectiveEndDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] + public DateTime? EffectiveEndDate { get; set; } + + /// + /// A globally unique namespace that identifies this descriptor set. Author is strongly encouraged to use the Universal Resource Identifier (http, ftp, file, etc.) for the source of the descriptor definition. Best practice is for this source to be the descriptor file itself, so that it can be machine-readable and be fetched in real-time, if necessary. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(255, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="namespace")] + public string Namespace { get; set; } + + /// + /// A shortened description for the descriptor. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(75, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="shortDescription")] + public string ShortDescription { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + // NOT a lookup column, Not supported by this model, so there's "null object pattern" style implementation + public System.Collections.IDictionary Extensions { + get { return null; } + set { } + } + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Versioning + // ------------------------------------------------------------- + + [DataMember(Name="_etag")] + public virtual string ETag { get; set; } + + [DataMember(Name="_lastModifiedDate")] + public virtual DateTime LastModifiedDate { get; set; } + + // ------------------------------------------------------------- + + // ------------------------------------------------------------- + // OnDeserialize + // ------------------------------------------------------------- + // ------------------------------------------------------------ + + // ============================================================ + // Data Synchronization + // ------------------------------------------------------------ + bool ISynchronizable.Synchronize(object target) + { + return Entities.Common.EdFi.DisciplineIncidentParticipationCodeDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor)target); + } + + void IMappable.Map(object target) + { + Entities.Common.EdFi.DisciplineIncidentParticipationCodeDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor)target, null); + } + // ------------------------------------------------------------- + + // ================================================================= + // Resource Reference Data + // ----------------------------------------------------------------- + // ----------------------------------------------------------------- + } + + // ================================================================= + // Validators + // ----------------------------------------------------------------- + + [ExcludeFromCodeCoverage] + public class DisciplineIncidentParticipationCodeDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator + { + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + { + if (context.InstanceToValidate == null) + { + result.Errors.Add(new ValidationFailure("", "Please ensure a model was supplied.")); + + return false; + } + + var instance = context.InstanceToValidate; + + var failures = new List(); + + if (failures.Any()) + { + foreach (var failure in failures) + { + result.Errors.Add(failure); + } + + return false; + } + + return true; + } + } + // ----------------------------------------------------------------- + +} +// Aggregate: DisplacedStudentStatusDescriptor + +namespace EdFi.Ods.Api.Common.Models.Resources.DisplacedStudentStatusDescriptor.EdFi +{ + /// + /// A class which represents the edfi.DisplacedStudentStatusDescriptor table of the DisplacedStudentStatusDescriptor aggregate in the ODS Database. /// [Serializable, DataContract] [ExcludeFromCodeCoverage] - public class DisciplineIncidentWeapon : Entities.Common.EdFi.IDisciplineIncidentWeapon, IValidatableObject + public class DisplacedStudentStatusDescriptor : Entities.Common.EdFi.IDisplacedStudentStatusDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity { - private static FullName _fullName = new FullName("edfi", "DisciplineIncidentWeapon"); + private static FullName _fullName = new FullName("edfi", "DisplacedStudentStatusDescriptor"); // Fluent validator instance (threadsafe) - private static DisciplineIncidentWeaponPutPostRequestValidator _validator = new DisciplineIncidentWeaponPutPostRequestValidator(); + private static DisplacedStudentStatusDescriptorPutPostRequestValidator _validator = new DisplacedStudentStatusDescriptorPutPostRequestValidator(); #pragma warning disable 414 private bool _SuspendReferenceAssignmentCheck = false; @@ -57527,6 +58084,13 @@ public class DisciplineIncidentWeapon : Entities.Common.EdFi.IDisciplineIncident // ============================================================ // Unique Identifier // ------------------------------------------------------------ + + /// + /// The unique identifier for the DisplacedStudentStatusDescriptor resource. + /// + [DataMember(Name="id")] + [JsonConverter(typeof(GuidConverter))] + public Guid Id { get; set; } // ------------------------------------------------------------ // ============================================================= @@ -57537,33 +58101,19 @@ public class DisciplineIncidentWeapon : Entities.Common.EdFi.IDisciplineIncident //============================================================== // Primary Key // ------------------------------------------------------------- - private Entities.Common.EdFi.IDisciplineIncident _disciplineIncident; - - [IgnoreDataMember] - Entities.Common.EdFi.IDisciplineIncident IDisciplineIncidentWeapon.DisciplineIncident - { - get { return _disciplineIncident; } - set { SetDisciplineIncident(value); } - } - public Entities.Common.EdFi.IDisciplineIncident DisciplineIncident - { - set { SetDisciplineIncident(value); } - } + /// + /// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table. + /// + // NOT in a reference, NOT a lookup column + [JsonIgnore] + public int DisplacedStudentStatusDescriptorId { get; set; } - private void SetDisciplineIncident(Entities.Common.EdFi.IDisciplineIncident value) + int IDescriptor.DescriptorId { - _disciplineIncident = value; + get { return DisplacedStudentStatusDescriptorId; } + set { DisplacedStudentStatusDescriptorId = value; } } - - /// - /// Identifies the type of weapon used during an incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm. - /// - // NOT in a reference, IS a lookup column - [RequiredWithNonDefault] - [NonDefaultStringLength(306, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText, NoWhitespace] - [DataMember(Name="weaponDescriptor")][DescriptorExists("WeaponDescriptor")] - public string WeaponDescriptor { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -57578,7 +58128,7 @@ private void SetDisciplineIncident(Entities.Common.EdFi.IDisciplineIncident valu /// public override bool Equals(object obj) { - var compareTo = obj as Entities.Common.EdFi.IDisciplineIncidentWeapon; + var compareTo = obj as Entities.Common.EdFi.IDisplacedStudentStatusDescriptor; if (ReferenceEquals(this, compareTo)) return true; @@ -57586,13 +58136,9 @@ public override bool Equals(object obj) if (compareTo == null) return false; - // Parent Property - if (_disciplineIncident == null || !_disciplineIncident.Equals(compareTo.DisciplineIncident)) - return false; - - // Standard Property - if (!StringComparer.OrdinalIgnoreCase.Equals((this as Entities.Common.EdFi.IDisciplineIncidentWeapon).WeaponDescriptor, compareTo.WeaponDescriptor)) + // Derived Property + if (!(this as Entities.Common.EdFi.IDisplacedStudentStatusDescriptor).DisplacedStudentStatusDescriptorId.Equals(compareTo.DisplacedStudentStatusDescriptorId)) return false; @@ -57608,12 +58154,9 @@ public override bool Equals(object obj) public override int GetHashCode() { var hash = new HashCode(); - //Parent Property - if (_disciplineIncident != null) - hash.Add(_disciplineIncident); - // Standard Property - hash.Add((this as Entities.Common.EdFi.IDisciplineIncidentWeapon).WeaponDescriptor); + //Derived Property + hash.Add((this as Entities.Common.EdFi.IDisplacedStudentStatusDescriptor).DisplacedStudentStatusDescriptorId); return hash.ToHashCode(); } @@ -57622,6 +58165,55 @@ public override int GetHashCode() // ============================================================= // Inherited Properties // ------------------------------------------------------------- + + /// + /// A code or abbreviation that is used to refer to the descriptor. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(50, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="codeValue")] + public string CodeValue { get; set; } + + /// + /// The description of the descriptor. + /// + // NOT in a reference, NOT a lookup column + [NonDefaultStringLength(1024, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="description")] + public string Description { get; set; } + + /// + /// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="effectiveBeginDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] + public DateTime? EffectiveBeginDate { get; set; } + + /// + /// The end date of the period when the descriptor is in effect. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="effectiveEndDate")][JsonConverter(typeof(Iso8601UtcDateOnlyConverter))] + public DateTime? EffectiveEndDate { get; set; } + + /// + /// A globally unique namespace that identifies this descriptor set. Author is strongly encouraged to use the Universal Resource Identifier (http, ftp, file, etc.) for the source of the descriptor definition. Best practice is for this source to be the descriptor file itself, so that it can be machine-readable and be fetched in real-time, if necessary. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(255, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="namespace")] + public string Namespace { get; set; } + + /// + /// A shortened description for the descriptor. + /// + // NOT in a reference, NOT a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(75, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="shortDescription")] + public string ShortDescription { get; set; } // ------------------------------------------------------------- // ============================================================= @@ -57647,8 +58239,11 @@ public override int GetHashCode() // ============================================================= // Extensions // ------------------------------------------------------------- - [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "DisciplineIncident", "DisciplineIncidentWeapon")] - public System.Collections.IDictionary Extensions { get; set; } + // NOT a lookup column, Not supported by this model, so there's "null object pattern" style implementation + public System.Collections.IDictionary Extensions { + get { return null; } + set { } + } // ------------------------------------------------------------- // ============================================================= @@ -57659,6 +58254,13 @@ public override int GetHashCode() // ============================================================= // Versioning // ------------------------------------------------------------- + + [DataMember(Name="_etag")] + public virtual string ETag { get; set; } + + [DataMember(Name="_lastModifiedDate")] + public virtual DateTime LastModifiedDate { get; set; } + // ------------------------------------------------------------- // ------------------------------------------------------------- @@ -57671,12 +58273,12 @@ public override int GetHashCode() // ------------------------------------------------------------ bool ISynchronizable.Synchronize(object target) { - return Entities.Common.EdFi.DisciplineIncidentWeaponMapper.SynchronizeTo(this, (Entities.Common.EdFi.IDisciplineIncidentWeapon)target); + return Entities.Common.EdFi.DisplacedStudentStatusDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IDisplacedStudentStatusDescriptor)target); } void IMappable.Map(object target) { - Entities.Common.EdFi.DisciplineIncidentWeaponMapper.MapTo(this, (Entities.Common.EdFi.IDisciplineIncidentWeapon)target, null); + Entities.Common.EdFi.DisplacedStudentStatusDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IDisplacedStudentStatusDescriptor)target, null); } // ------------------------------------------------------------- @@ -57684,66 +58286,6 @@ void IMappable.Map(object target) // Resource Reference Data // ----------------------------------------------------------------- // ----------------------------------------------------------------- - - // ================================== - // Validation - // ---------------------------------- - IEnumerable IValidatableObject.Validate(ValidationContext validationContext) - { - var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; - var mappingContract = mappingContractProvider.GetMappingContract(_fullName); - - var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); - - int originalLength = pathBuilder.Length; - - try - { - // Prepare builders for validating members - pathBuilder.Append(ValidationHelpers.JsonPathSeparator); - int dotLength = pathBuilder.Length; - - // ---------------------- - // Validate collections - // ---------------------- - - // --------------------------- - // Validate embedded objects - // --------------------------- - - // --------------------- - // Validate Extensions - // --------------------- - if (Extensions != null) - { - // Reset path builder - pathBuilder.Length = dotLength; - pathBuilder.Append(nameof(Extensions)); - - foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) - { - yield return result; - } - } - - // Execute the resource's fluent validator - var fluentValidationResult = _validator.Validate(this); - - if (!fluentValidationResult.IsValid) - { - foreach (var error in fluentValidationResult.Errors) - { - yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); - } - } - } - finally - { - // Restore original length - pathBuilder.Length = originalLength; - } - // ---------------------------------- - } } // ================================================================= @@ -57751,9 +58293,9 @@ void IMappable.Map(object target) // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class DisciplineIncidentWeaponPutPostRequestValidator : FluentValidation.AbstractValidator + public class DisplacedStudentStatusDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -57782,21 +58324,21 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// A class which represents the edfi.DisciplineIncidentParticipationCodeDescriptor table of the DisciplineIncidentParticipationCodeDescriptor aggregate in the ODS Database. + /// A class which represents the edfi.DualCreditInstitutionDescriptor table of the DualCreditInstitutionDescriptor aggregate in the ODS Database. /// [Serializable, DataContract] [ExcludeFromCodeCoverage] - public class DisciplineIncidentParticipationCodeDescriptor : Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity + public class DualCreditInstitutionDescriptor : Entities.Common.EdFi.IDualCreditInstitutionDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity { - private static FullName _fullName = new FullName("edfi", "DisciplineIncidentParticipationCodeDescriptor"); + private static FullName _fullName = new FullName("edfi", "DualCreditInstitutionDescriptor"); // Fluent validator instance (threadsafe) - private static DisciplineIncidentParticipationCodeDescriptorPutPostRequestValidator _validator = new DisciplineIncidentParticipationCodeDescriptorPutPostRequestValidator(); + private static DualCreditInstitutionDescriptorPutPostRequestValidator _validator = new DualCreditInstitutionDescriptorPutPostRequestValidator(); #pragma warning disable 414 private bool _SuspendReferenceAssignmentCheck = false; @@ -57815,7 +58357,7 @@ public class DisciplineIncidentParticipationCodeDescriptor : Entities.Common.EdF // ------------------------------------------------------------ /// - /// The unique identifier for the DisciplineIncidentParticipationCodeDescriptor resource. + /// The unique identifier for the DualCreditInstitutionDescriptor resource. /// [DataMember(Name="id")] [JsonConverter(typeof(GuidConverter))] @@ -57836,12 +58378,12 @@ public class DisciplineIncidentParticipationCodeDescriptor : Entities.Common.EdF /// // NOT in a reference, NOT a lookup column [JsonIgnore] - public int DisciplineIncidentParticipationCodeDescriptorId { get; set; } + public int DualCreditInstitutionDescriptorId { get; set; } int IDescriptor.DescriptorId { - get { return DisciplineIncidentParticipationCodeDescriptorId; } - set { DisciplineIncidentParticipationCodeDescriptorId = value; } + get { return DualCreditInstitutionDescriptorId; } + set { DualCreditInstitutionDescriptorId = value; } } // ------------------------------------------------------------- @@ -57857,7 +58399,7 @@ int IDescriptor.DescriptorId /// public override bool Equals(object obj) { - var compareTo = obj as Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor; + var compareTo = obj as Entities.Common.EdFi.IDualCreditInstitutionDescriptor; if (ReferenceEquals(this, compareTo)) return true; @@ -57867,7 +58409,7 @@ public override bool Equals(object obj) // Derived Property - if (!(this as Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor).DisciplineIncidentParticipationCodeDescriptorId.Equals(compareTo.DisciplineIncidentParticipationCodeDescriptorId)) + if (!(this as Entities.Common.EdFi.IDualCreditInstitutionDescriptor).DualCreditInstitutionDescriptorId.Equals(compareTo.DualCreditInstitutionDescriptorId)) return false; @@ -57885,7 +58427,7 @@ public override int GetHashCode() var hash = new HashCode(); //Derived Property - hash.Add((this as Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor).DisciplineIncidentParticipationCodeDescriptorId); + hash.Add((this as Entities.Common.EdFi.IDualCreditInstitutionDescriptor).DualCreditInstitutionDescriptorId); return hash.ToHashCode(); } @@ -58002,12 +58544,12 @@ public System.Collections.IDictionary Extensions { // ------------------------------------------------------------ bool ISynchronizable.Synchronize(object target) { - return Entities.Common.EdFi.DisciplineIncidentParticipationCodeDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor)target); + return Entities.Common.EdFi.DualCreditInstitutionDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IDualCreditInstitutionDescriptor)target); } void IMappable.Map(object target) { - Entities.Common.EdFi.DisciplineIncidentParticipationCodeDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IDisciplineIncidentParticipationCodeDescriptor)target, null); + Entities.Common.EdFi.DualCreditInstitutionDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IDualCreditInstitutionDescriptor)target, null); } // ------------------------------------------------------------- @@ -58022,9 +58564,9 @@ void IMappable.Map(object target) // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class DisciplineIncidentParticipationCodeDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator + public class DualCreditInstitutionDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -58053,21 +58595,21 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// A class which represents the edfi.DisplacedStudentStatusDescriptor table of the DisplacedStudentStatusDescriptor aggregate in the ODS Database. + /// A class which represents the edfi.DualCreditTypeDescriptor table of the DualCreditTypeDescriptor aggregate in the ODS Database. /// [Serializable, DataContract] [ExcludeFromCodeCoverage] - public class DisplacedStudentStatusDescriptor : Entities.Common.EdFi.IDisplacedStudentStatusDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity + public class DualCreditTypeDescriptor : Entities.Common.EdFi.IDualCreditTypeDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity { - private static FullName _fullName = new FullName("edfi", "DisplacedStudentStatusDescriptor"); + private static FullName _fullName = new FullName("edfi", "DualCreditTypeDescriptor"); // Fluent validator instance (threadsafe) - private static DisplacedStudentStatusDescriptorPutPostRequestValidator _validator = new DisplacedStudentStatusDescriptorPutPostRequestValidator(); + private static DualCreditTypeDescriptorPutPostRequestValidator _validator = new DualCreditTypeDescriptorPutPostRequestValidator(); #pragma warning disable 414 private bool _SuspendReferenceAssignmentCheck = false; @@ -58086,7 +58628,7 @@ public class DisplacedStudentStatusDescriptor : Entities.Common.EdFi.IDisplacedS // ------------------------------------------------------------ /// - /// The unique identifier for the DisplacedStudentStatusDescriptor resource. + /// The unique identifier for the DualCreditTypeDescriptor resource. /// [DataMember(Name="id")] [JsonConverter(typeof(GuidConverter))] @@ -58107,12 +58649,12 @@ public class DisplacedStudentStatusDescriptor : Entities.Common.EdFi.IDisplacedS /// // NOT in a reference, NOT a lookup column [JsonIgnore] - public int DisplacedStudentStatusDescriptorId { get; set; } + public int DualCreditTypeDescriptorId { get; set; } int IDescriptor.DescriptorId { - get { return DisplacedStudentStatusDescriptorId; } - set { DisplacedStudentStatusDescriptorId = value; } + get { return DualCreditTypeDescriptorId; } + set { DualCreditTypeDescriptorId = value; } } // ------------------------------------------------------------- @@ -58128,7 +58670,7 @@ int IDescriptor.DescriptorId /// public override bool Equals(object obj) { - var compareTo = obj as Entities.Common.EdFi.IDisplacedStudentStatusDescriptor; + var compareTo = obj as Entities.Common.EdFi.IDualCreditTypeDescriptor; if (ReferenceEquals(this, compareTo)) return true; @@ -58138,7 +58680,7 @@ public override bool Equals(object obj) // Derived Property - if (!(this as Entities.Common.EdFi.IDisplacedStudentStatusDescriptor).DisplacedStudentStatusDescriptorId.Equals(compareTo.DisplacedStudentStatusDescriptorId)) + if (!(this as Entities.Common.EdFi.IDualCreditTypeDescriptor).DualCreditTypeDescriptorId.Equals(compareTo.DualCreditTypeDescriptorId)) return false; @@ -58156,7 +58698,7 @@ public override int GetHashCode() var hash = new HashCode(); //Derived Property - hash.Add((this as Entities.Common.EdFi.IDisplacedStudentStatusDescriptor).DisplacedStudentStatusDescriptorId); + hash.Add((this as Entities.Common.EdFi.IDualCreditTypeDescriptor).DualCreditTypeDescriptorId); return hash.ToHashCode(); } @@ -58273,12 +58815,12 @@ public System.Collections.IDictionary Extensions { // ------------------------------------------------------------ bool ISynchronizable.Synchronize(object target) { - return Entities.Common.EdFi.DisplacedStudentStatusDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IDisplacedStudentStatusDescriptor)target); + return Entities.Common.EdFi.DualCreditTypeDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.IDualCreditTypeDescriptor)target); } void IMappable.Map(object target) { - Entities.Common.EdFi.DisplacedStudentStatusDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IDisplacedStudentStatusDescriptor)target, null); + Entities.Common.EdFi.DualCreditTypeDescriptorMapper.MapTo(this, (Entities.Common.EdFi.IDualCreditTypeDescriptor)target, null); } // ------------------------------------------------------------- @@ -58293,9 +58835,9 @@ void IMappable.Map(object target) // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class DisplacedStudentStatusDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator + public class DualCreditTypeDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -150125,21 +150667,21 @@ protected override bool PreValidate(FluentValidation.ValidationContext - /// A class which represents the edfi.Section504DisabilityTypeDescriptor table of the Section504DisabilityTypeDescriptor aggregate in the ODS Database. + /// A class which represents the edfi.Section504DisabilityDescriptor table of the Section504DisabilityDescriptor aggregate in the ODS Database. /// [Serializable, DataContract] [ExcludeFromCodeCoverage] - public class Section504DisabilityTypeDescriptor : Entities.Common.EdFi.ISection504DisabilityTypeDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity + public class Section504DisabilityDescriptor : Entities.Common.EdFi.ISection504DisabilityDescriptor, Entities.Common.EdFi.IDescriptor, IHasETag, IDateVersionedEntity { - private static FullName _fullName = new FullName("edfi", "Section504DisabilityTypeDescriptor"); + private static FullName _fullName = new FullName("edfi", "Section504DisabilityDescriptor"); // Fluent validator instance (threadsafe) - private static Section504DisabilityTypeDescriptorPutPostRequestValidator _validator = new Section504DisabilityTypeDescriptorPutPostRequestValidator(); + private static Section504DisabilityDescriptorPutPostRequestValidator _validator = new Section504DisabilityDescriptorPutPostRequestValidator(); #pragma warning disable 414 private bool _SuspendReferenceAssignmentCheck = false; @@ -150158,7 +150700,7 @@ public class Section504DisabilityTypeDescriptor : Entities.Common.EdFi.ISection5 // ------------------------------------------------------------ /// - /// The unique identifier for the Section504DisabilityTypeDescriptor resource. + /// The unique identifier for the Section504DisabilityDescriptor resource. /// [DataMember(Name="id")] [JsonConverter(typeof(GuidConverter))] @@ -150179,12 +150721,12 @@ public class Section504DisabilityTypeDescriptor : Entities.Common.EdFi.ISection5 /// // NOT in a reference, NOT a lookup column [JsonIgnore] - public int Section504DisabilityTypeDescriptorId { get; set; } + public int Section504DisabilityDescriptorId { get; set; } int IDescriptor.DescriptorId { - get { return Section504DisabilityTypeDescriptorId; } - set { Section504DisabilityTypeDescriptorId = value; } + get { return Section504DisabilityDescriptorId; } + set { Section504DisabilityDescriptorId = value; } } // ------------------------------------------------------------- @@ -150200,7 +150742,7 @@ int IDescriptor.DescriptorId /// public override bool Equals(object obj) { - var compareTo = obj as Entities.Common.EdFi.ISection504DisabilityTypeDescriptor; + var compareTo = obj as Entities.Common.EdFi.ISection504DisabilityDescriptor; if (ReferenceEquals(this, compareTo)) return true; @@ -150210,7 +150752,7 @@ public override bool Equals(object obj) // Derived Property - if (!(this as Entities.Common.EdFi.ISection504DisabilityTypeDescriptor).Section504DisabilityTypeDescriptorId.Equals(compareTo.Section504DisabilityTypeDescriptorId)) + if (!(this as Entities.Common.EdFi.ISection504DisabilityDescriptor).Section504DisabilityDescriptorId.Equals(compareTo.Section504DisabilityDescriptorId)) return false; @@ -150228,7 +150770,7 @@ public override int GetHashCode() var hash = new HashCode(); //Derived Property - hash.Add((this as Entities.Common.EdFi.ISection504DisabilityTypeDescriptor).Section504DisabilityTypeDescriptorId); + hash.Add((this as Entities.Common.EdFi.ISection504DisabilityDescriptor).Section504DisabilityDescriptorId); return hash.ToHashCode(); } @@ -150345,12 +150887,12 @@ public System.Collections.IDictionary Extensions { // ------------------------------------------------------------ bool ISynchronizable.Synchronize(object target) { - return Entities.Common.EdFi.Section504DisabilityTypeDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.ISection504DisabilityTypeDescriptor)target); + return Entities.Common.EdFi.Section504DisabilityDescriptorMapper.SynchronizeTo(this, (Entities.Common.EdFi.ISection504DisabilityDescriptor)target); } void IMappable.Map(object target) { - Entities.Common.EdFi.Section504DisabilityTypeDescriptorMapper.MapTo(this, (Entities.Common.EdFi.ISection504DisabilityTypeDescriptor)target, null); + Entities.Common.EdFi.Section504DisabilityDescriptorMapper.MapTo(this, (Entities.Common.EdFi.ISection504DisabilityDescriptor)target, null); } // ------------------------------------------------------------- @@ -150365,9 +150907,9 @@ void IMappable.Map(object target) // ----------------------------------------------------------------- [ExcludeFromCodeCoverage] - public class Section504DisabilityTypeDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator + public class Section504DisabilityDescriptorPutPostRequestValidator : FluentValidation.AbstractValidator { - protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { if (context.InstanceToValidate == null) { @@ -185355,37 +185897,37 @@ public EducationOrganization.EdFi.EducationOrganizationReference ReportingEducat _reportingEducationOrganizationReference = value; } } - private bool _studentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned; - private StudentEducationOrganizationAssessmentAccommodation.EdFi.StudentEducationOrganizationAssessmentAccommodationReference _studentEducationOrganizationAssessmentAccommodationReference; - private StudentEducationOrganizationAssessmentAccommodation.EdFi.StudentEducationOrganizationAssessmentAccommodationReference ImplicitStudentEducationOrganizationAssessmentAccommodationReference + private bool _scheduledStudentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned; + private StudentEducationOrganizationAssessmentAccommodation.EdFi.StudentEducationOrganizationAssessmentAccommodationReference _scheduledStudentEducationOrganizationAssessmentAccommodationReference; + private StudentEducationOrganizationAssessmentAccommodation.EdFi.StudentEducationOrganizationAssessmentAccommodationReference ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference { get { // if the Reference is null, it is instantiated unless it has been explicitly assigned to null - if (_studentEducationOrganizationAssessmentAccommodationReference == null && !_studentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned) - _studentEducationOrganizationAssessmentAccommodationReference = new StudentEducationOrganizationAssessmentAccommodation.EdFi.StudentEducationOrganizationAssessmentAccommodationReference(); + if (_scheduledStudentEducationOrganizationAssessmentAccommodationReference == null && !_scheduledStudentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned) + _scheduledStudentEducationOrganizationAssessmentAccommodationReference = new StudentEducationOrganizationAssessmentAccommodation.EdFi.StudentEducationOrganizationAssessmentAccommodationReference(); - return _studentEducationOrganizationAssessmentAccommodationReference; + return _scheduledStudentEducationOrganizationAssessmentAccommodationReference; } } - [DataMember(Name="studentEducationOrganizationAssessmentAccommodationReference")] - [FullyDefinedReference][RequiredReference(isIdentifying: true)] - public StudentEducationOrganizationAssessmentAccommodation.EdFi.StudentEducationOrganizationAssessmentAccommodationReference StudentEducationOrganizationAssessmentAccommodationReference + [DataMember(Name="scheduledStudentEducationOrganizationAssessmentAccommodationReference")] + [FullyDefinedReference] + public StudentEducationOrganizationAssessmentAccommodation.EdFi.StudentEducationOrganizationAssessmentAccommodationReference ScheduledStudentEducationOrganizationAssessmentAccommodationReference { get { // Only return the reference if it's non-null, and all its properties have non-default values assigned - if (ImplicitStudentEducationOrganizationAssessmentAccommodationReference != null - && (_studentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitStudentEducationOrganizationAssessmentAccommodationReference.IsReferenceFullyDefined())) - return ImplicitStudentEducationOrganizationAssessmentAccommodationReference; + if (ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference != null + && (_scheduledStudentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference.IsReferenceFullyDefined())) + return ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference; return null; } set { - _studentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned = true; - _studentEducationOrganizationAssessmentAccommodationReference = value; + _scheduledStudentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned = true; + _scheduledStudentEducationOrganizationAssessmentAccommodationReference = value; } } private bool _studentEducationOrganizationAssociationReferenceExplicitlyAssigned; @@ -185576,9 +186118,9 @@ long Entities.Common.EdFi.IStudentAssessmentRegistration.EducationOrganizationId { get { - if (ImplicitStudentEducationOrganizationAssessmentAccommodationReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitStudentEducationOrganizationAssessmentAccommodationReference.IsReferenceFullyDefined())) - return ImplicitStudentEducationOrganizationAssessmentAccommodationReference.EducationOrganizationId; + if (ImplicitStudentEducationOrganizationAssociationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitStudentEducationOrganizationAssociationReference.IsReferenceFullyDefined())) + return ImplicitStudentEducationOrganizationAssociationReference.EducationOrganizationId; return default(long); } @@ -185587,10 +186129,6 @@ long Entities.Common.EdFi.IStudentAssessmentRegistration.EducationOrganizationId // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. // All ExplicitlyAssigned are reset to false in advanced - // StudentEducationOrganizationAssessmentAccommodation - _studentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned = false; - ImplicitStudentEducationOrganizationAssessmentAccommodationReference.EducationOrganizationId = value; - // StudentEducationOrganizationAssociation _studentEducationOrganizationAssociationReferenceExplicitlyAssigned = false; ImplicitStudentEducationOrganizationAssociationReference.EducationOrganizationId = value; @@ -185630,9 +186168,9 @@ string Entities.Common.EdFi.IStudentAssessmentRegistration.StudentUniqueId { get { - if (ImplicitStudentEducationOrganizationAssessmentAccommodationReference != null - && (_SuspendReferenceAssignmentCheck || ImplicitStudentEducationOrganizationAssessmentAccommodationReference.IsReferenceFullyDefined())) - return ImplicitStudentEducationOrganizationAssessmentAccommodationReference.StudentUniqueId; + if (ImplicitStudentEducationOrganizationAssociationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitStudentEducationOrganizationAssociationReference.IsReferenceFullyDefined())) + return ImplicitStudentEducationOrganizationAssociationReference.StudentUniqueId; return default(string); } @@ -185641,10 +186179,6 @@ string Entities.Common.EdFi.IStudentAssessmentRegistration.StudentUniqueId // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. // All ExplicitlyAssigned are reset to false in advanced - // StudentEducationOrganizationAssessmentAccommodation - _studentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned = false; - ImplicitStudentEducationOrganizationAssessmentAccommodationReference.StudentUniqueId = value; - // StudentEducationOrganizationAssociation _studentEducationOrganizationAssociationReferenceExplicitlyAssigned = false; ImplicitStudentEducationOrganizationAssociationReference.StudentUniqueId = value; @@ -185821,6 +186355,61 @@ DateTime Entities.Common.EdFi.IStudentAssessmentRegistration.EntryDate } } + /// + /// The identifier assigned to an education organization. + /// + // IS in a reference, NOT a lookup column + long? Entities.Common.EdFi.IStudentAssessmentRegistration.ScheduledEducationOrganizationId + { + get + { + if (ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference.IsReferenceFullyDefined())) + { + return ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference.EducationOrganizationId; + } + + return default(long?); + } + set + { + // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. + // All ExplicitlyAssigned are reset to false in advanced + + // ScheduledStudentEducationOrganizationAssessmentAccommodation + _scheduledStudentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned = false; + ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference.EducationOrganizationId = value.GetValueOrDefault(); + } + } + + /// + /// A unique alphanumeric code assigned to a scheduledstudent. + /// + // IS in a reference, NOT a lookup column + string Entities.Common.EdFi.IStudentAssessmentRegistration.ScheduledStudentUniqueId + { + get + { + if (ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference.IsReferenceFullyDefined())) + { + return ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference.StudentUniqueId; + } + + return default(string); + } + set + { + // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. + // All ExplicitlyAssigned are reset to false in advanced + + // ScheduledStudentEducationOrganizationAssessmentAccommodation + _scheduledStudentEducationOrganizationAssessmentAccommodationReferenceExplicitlyAssigned = false; + ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference.StudentUniqueId = value; + GeneratedArtifactStaticDependencies.UsiLookupsByUniqueIdContextProvider.Get().AddLookup("Student", value); + } + } + /// /// The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication. /// @@ -186041,17 +186630,17 @@ string Entities.Common.EdFi.IStudentAssessmentRegistration.ReportingEducationOrg } - Guid? Entities.Common.EdFi.IStudentAssessmentRegistration.StudentEducationOrganizationAssessmentAccommodationResourceId + Guid? Entities.Common.EdFi.IStudentAssessmentRegistration.ScheduledStudentEducationOrganizationAssessmentAccommodationResourceId { get { return null; } - set { ImplicitStudentEducationOrganizationAssessmentAccommodationReference.ResourceId = value ?? default(Guid); } + set { ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference.ResourceId = value ?? default(Guid); } } - string Entities.Common.EdFi.IStudentAssessmentRegistration.StudentEducationOrganizationAssessmentAccommodationDiscriminator + string Entities.Common.EdFi.IStudentAssessmentRegistration.ScheduledStudentEducationOrganizationAssessmentAccommodationDiscriminator { // Not supported for Resources get { return null; } - set { ImplicitStudentEducationOrganizationAssessmentAccommodationReference.Discriminator = value; } + set { ImplicitScheduledStudentEducationOrganizationAssessmentAccommodationReference.Discriminator = value; } } @@ -186169,38 +186758,6 @@ string Entities.Common.EdFi.IStudentAssessmentRegistration.TestingEducationOrgan pathBuilder.Length = dotLength; string pathPrefix = null; - var sourcesForEducationOrganizationId = GetEducationOrganizationIdSources().ToArray(); - - if (!sourcesForEducationOrganizationId.Select(t => t.Item2).Where(v => !v.IsDefaultValue()).AllEqual()) - { - pathPrefix ??= pathBuilder.ToString(); - - string values = string.Join("', '", sourcesForEducationOrganizationId.Select(src => src.value.ToString().TrimAt(50, true))); - string parentContextNote = sourcesForEducationOrganizationId.Any(src => src.path == null) ? " (including those higher up in the resource's data)" : null; - - yield return new System.ComponentModel.DataAnnotations.ValidationResult($"All values supplied for 'educationOrganizationId' must match. Review all references{parentContextNote} and align the following conflicting values: '{values}'", - sourcesForEducationOrganizationId.Where(src => src.path != null).Select(src => $"{pathPrefix}{src.path}").ToArray()); - } - - IEnumerable<(string path, long value)> GetEducationOrganizationIdSources() - { - // Obtain value from other references - var valueFromStudentEducationOrganizationAssessmentAccommodationReference = this.StudentEducationOrganizationAssessmentAccommodationReference?.EducationOrganizationId; - - if (valueFromStudentEducationOrganizationAssessmentAccommodationReference != null) - { - yield return ("studentEducationOrganizationAssessmentAccommodationReference.educationOrganizationId", this.StudentEducationOrganizationAssessmentAccommodationReference.EducationOrganizationId); - } - - // Obtain value from other references - var valueFromStudentEducationOrganizationAssociationReference = this.StudentEducationOrganizationAssociationReference?.EducationOrganizationId; - - if (valueFromStudentEducationOrganizationAssociationReference != null) - { - yield return ("studentEducationOrganizationAssociationReference.educationOrganizationId", this.StudentEducationOrganizationAssociationReference.EducationOrganizationId); - } - - } var sourcesForStudentUniqueId = GetStudentUniqueIdSources().ToArray(); if (!sourcesForStudentUniqueId.Select(t => t.Item2).Where(v => !v.IsDefaultValue()).AllEqual(GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer)) @@ -186216,14 +186773,6 @@ string Entities.Common.EdFi.IStudentAssessmentRegistration.TestingEducationOrgan IEnumerable<(string path, string value)> GetStudentUniqueIdSources() { - // Obtain value from other references - var valueFromStudentEducationOrganizationAssessmentAccommodationReference = this.StudentEducationOrganizationAssessmentAccommodationReference?.StudentUniqueId; - - if (valueFromStudentEducationOrganizationAssessmentAccommodationReference != null) - { - yield return ("studentEducationOrganizationAssessmentAccommodationReference.studentUniqueId", this.StudentEducationOrganizationAssessmentAccommodationReference.StudentUniqueId); - } - // Obtain value from other references var valueFromStudentEducationOrganizationAssociationReference = this.StudentEducationOrganizationAssociationReference?.StudentUniqueId; @@ -193472,6 +194021,7 @@ public class StudentDisciplineIncidentBehaviorAssociation : Entities.Common.EdFi public StudentDisciplineIncidentBehaviorAssociation() { StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodes = new List(); + StudentDisciplineIncidentBehaviorAssociationWeapons = new List(); } // ------------------------------------------------------------ @@ -193793,6 +194343,36 @@ public ICollection(value.Cast()); } } + private ICollection _studentDisciplineIncidentBehaviorAssociationWeapons; + private ICollection _studentDisciplineIncidentBehaviorAssociationWeaponsCovariant; + + [NoDuplicateMembers] + [DataMember(Name="weapons")] + public ICollection StudentDisciplineIncidentBehaviorAssociationWeapons + { + get { return _studentDisciplineIncidentBehaviorAssociationWeapons; } + set + { + if (value == null) return; + // Initialize primary list with notifying adapter immediately wired up so existing items are associated with the parent + var list = new CollectionAdapterWithAddNotifications(value, + (s, e) => ((Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon)e.Item).StudentDisciplineIncidentBehaviorAssociation = this); + _studentDisciplineIncidentBehaviorAssociationWeapons = list; + + // Initialize covariant list with notifying adapter with deferred wire up so only new items are processed (optimization) + var covariantList = new CovariantCollectionAdapterWithAddNotifications(value); + covariantList.ItemAdded += (s, e) => ((Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon)e.Item).StudentDisciplineIncidentBehaviorAssociation = this; + _studentDisciplineIncidentBehaviorAssociationWeaponsCovariant = covariantList; + } + } + + // Covariant version, visible only on the interface + ICollection Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociation.StudentDisciplineIncidentBehaviorAssociationWeapons + { + get { return _studentDisciplineIncidentBehaviorAssociationWeaponsCovariant; } + set { StudentDisciplineIncidentBehaviorAssociationWeapons = new List(value.Cast()); } + } + // ------------------------------------------------------------- // ============================================================= @@ -193820,6 +194400,11 @@ internal void OnDeserialized(StreamingContext context) item.StudentDisciplineIncidentBehaviorAssociation = this; } + if (_studentDisciplineIncidentBehaviorAssociationWeapons != null) foreach (var item in _studentDisciplineIncidentBehaviorAssociationWeapons) + { + item.StudentDisciplineIncidentBehaviorAssociation = this; + } + } // ------------------------------------------------------------ @@ -193902,6 +194487,18 @@ string Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociation.Studen } } + if (StudentDisciplineIncidentBehaviorAssociationWeapons.Any() && mappingContract?.IsMemberSupported("StudentDisciplineIncidentBehaviorAssociationWeapons") != false) + { + // Reset path builder + pathBuilder.Length = dotLength; + pathBuilder.Append("StudentDisciplineIncidentBehaviorAssociationWeapons"); + + foreach (var result in ValidationHelpers.ValidateCollection(new ValidationContext(StudentDisciplineIncidentBehaviorAssociationWeapons, validationContext, validationContext.Items.ForCollection("StudentDisciplineIncidentBehaviorAssociationWeapons")))) + { + yield return result; + } + } + // --------------------------- // Validate embedded objects @@ -193953,6 +194550,7 @@ public class StudentDisciplineIncidentBehaviorAssociationPutPostRequestValidator // Declare collection item validators private StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodePutPostRequestValidator _studentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCodesValidator = new (); + private StudentDisciplineIncidentBehaviorAssociationWeaponPutPostRequestValidator _studentDisciplineIncidentBehaviorAssociationWeaponsValidator = new (); protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) { @@ -193987,6 +194585,17 @@ protected override bool PreValidate(FluentValidation.ValidationContext !mappingContract.IsStudentDisciplineIncidentBehaviorAssociationWeaponIncluded(x)); + + if (hasInvalidStudentDisciplineIncidentBehaviorAssociationWeaponsItems) + { + profileName ??= GeneratedArtifactStaticDependencies.ProfileContentTypeContextProvider.Get().ProfileName; + failures.Add(new ValidationFailure("StudentDisciplineIncidentBehaviorAssociationWeapons", $"A supplied 'StudentDisciplineIncidentBehaviorAssociationWeapon' has a descriptor value that does not conform with the filter values defined by profile '{profileName}'.")); + } + } + } if (failures.Any()) @@ -194285,6 +194894,287 @@ protected override bool PreValidate(FluentValidation.ValidationContext + /// A class which represents the edfi.StudentDisciplineIncidentBehaviorAssociationWeapon table of the StudentDisciplineIncidentBehaviorAssociation aggregate in the ODS Database. + /// + [Serializable, DataContract] + [ExcludeFromCodeCoverage] + public class StudentDisciplineIncidentBehaviorAssociationWeapon : Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon, IValidatableObject + { + private static FullName _fullName = new FullName("edfi", "StudentDisciplineIncidentBehaviorAssociationWeapon"); + + // Fluent validator instance (threadsafe) + private static StudentDisciplineIncidentBehaviorAssociationWeaponPutPostRequestValidator _validator = new StudentDisciplineIncidentBehaviorAssociationWeaponPutPostRequestValidator(); + +#pragma warning disable 414 + private bool _SuspendReferenceAssignmentCheck = false; + public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; } +#pragma warning restore 414 + + // ============================================================= + // Constructor + // ------------------------------------------------------------- + + + // ------------------------------------------------------------ + + // ============================================================ + // Unique Identifier + // ------------------------------------------------------------ + // ------------------------------------------------------------ + + // ============================================================= + // References + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + //============================================================== + // Primary Key + // ------------------------------------------------------------- + private Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociation _studentDisciplineIncidentBehaviorAssociation; + + [IgnoreDataMember] + Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociation IStudentDisciplineIncidentBehaviorAssociationWeapon.StudentDisciplineIncidentBehaviorAssociation + { + get { return _studentDisciplineIncidentBehaviorAssociation; } + set { SetStudentDisciplineIncidentBehaviorAssociation(value); } + } + + public Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociation StudentDisciplineIncidentBehaviorAssociation + { + set { SetStudentDisciplineIncidentBehaviorAssociation(value); } + } + + private void SetStudentDisciplineIncidentBehaviorAssociation(Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociation value) + { + _studentDisciplineIncidentBehaviorAssociation = value; + } + + /// + /// Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm. + /// + // NOT in a reference, IS a lookup column + [RequiredWithNonDefault] + [NonDefaultStringLength(306, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText, NoWhitespace] + [DataMember(Name="weaponDescriptor")][DescriptorExists("WeaponDescriptor")] + public string WeaponDescriptor { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Equality + // ------------------------------------------------------------- + + /// + /// Determines equality based on the natural key properties of the resource. + /// + /// + /// A boolean value indicating equality result of the compared resources. + /// + public override bool Equals(object obj) + { + var compareTo = obj as Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon; + + if (ReferenceEquals(this, compareTo)) + return true; + + if (compareTo == null) + return false; + + // Parent Property + if (_studentDisciplineIncidentBehaviorAssociation == null || !_studentDisciplineIncidentBehaviorAssociation.Equals(compareTo.StudentDisciplineIncidentBehaviorAssociation)) + return false; + + + // Standard Property + if (!StringComparer.OrdinalIgnoreCase.Equals((this as Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon).WeaponDescriptor, compareTo.WeaponDescriptor)) + return false; + + + return true; + } + + /// + /// Builds the hash code based on the unique identifying values. + /// + /// + /// A hash code for the resource. + /// + public override int GetHashCode() + { + var hash = new HashCode(); + //Parent Property + if (_studentDisciplineIncidentBehaviorAssociation != null) + hash.Add(_studentDisciplineIncidentBehaviorAssociation); + + // Standard Property + hash.Add((this as Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon).WeaponDescriptor); + + return hash.ToHashCode(); + } + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Properties + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited One-to-one relationships + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Inherited Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Extensions + // ------------------------------------------------------------- + [JsonProperty("_ext")][JsonConverter(typeof(ExtensionsConverter), "StudentDisciplineIncidentBehaviorAssociation", "StudentDisciplineIncidentBehaviorAssociationWeapon")] + public System.Collections.IDictionary Extensions { get; set; } + // ------------------------------------------------------------- + + // ============================================================= + // Collections + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ============================================================= + // Versioning + // ------------------------------------------------------------- + // ------------------------------------------------------------- + + // ------------------------------------------------------------- + // OnDeserialize + // ------------------------------------------------------------- + // ------------------------------------------------------------ + + // ============================================================ + // Data Synchronization + // ------------------------------------------------------------ + bool ISynchronizable.Synchronize(object target) + { + return Entities.Common.EdFi.StudentDisciplineIncidentBehaviorAssociationWeaponMapper.SynchronizeTo(this, (Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon)target); + } + + void IMappable.Map(object target) + { + Entities.Common.EdFi.StudentDisciplineIncidentBehaviorAssociationWeaponMapper.MapTo(this, (Entities.Common.EdFi.IStudentDisciplineIncidentBehaviorAssociationWeapon)target, null); + } + // ------------------------------------------------------------- + + // ================================================================= + // Resource Reference Data + // ----------------------------------------------------------------- + // ----------------------------------------------------------------- + + // ================================== + // Validation + // ---------------------------------- + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + var mappingContractProvider = GeneratedArtifactStaticDependencies.MappingContractProvider; + var mappingContract = mappingContractProvider.GetMappingContract(_fullName); + + var pathBuilder = ValidationHelpers.GetPathBuilder(validationContext); + + int originalLength = pathBuilder.Length; + + try + { + // Prepare builders for validating members + pathBuilder.Append(ValidationHelpers.JsonPathSeparator); + int dotLength = pathBuilder.Length; + + // ---------------------- + // Validate collections + // ---------------------- + + // --------------------------- + // Validate embedded objects + // --------------------------- + + // --------------------- + // Validate Extensions + // --------------------- + if (Extensions != null) + { + // Reset path builder + pathBuilder.Length = dotLength; + pathBuilder.Append(nameof(Extensions)); + + foreach (var result in ValidationHelpers.ValidateExtensions(validationContext, mappingContract)) + { + yield return result; + } + } + + // Execute the resource's fluent validator + var fluentValidationResult = _validator.Validate(this); + + if (!fluentValidationResult.IsValid) + { + foreach (var error in fluentValidationResult.Errors) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage, new[] { error.PropertyName }); + } + } + } + finally + { + // Restore original length + pathBuilder.Length = originalLength; + } + // ---------------------------------- + } + } + + // ================================================================= + // Validators + // ----------------------------------------------------------------- + + [ExcludeFromCodeCoverage] + public class StudentDisciplineIncidentBehaviorAssociationWeaponPutPostRequestValidator : FluentValidation.AbstractValidator + { + protected override bool PreValidate(FluentValidation.ValidationContext context, FluentValidation.Results.ValidationResult result) + { + if (context.InstanceToValidate == null) + { + result.Errors.Add(new ValidationFailure("", "Please ensure a model was supplied.")); + + return false; + } + + var instance = context.InstanceToValidate; + + var failures = new List(); + + if (failures.Any()) + { + foreach (var failure in failures) + { + result.Errors.Add(failure); + } + + return false; + } + + return true; + } + } + // ----------------------------------------------------------------- + } // Aggregate: StudentDisciplineIncidentNonOffenderAssociation @@ -223223,8 +224113,8 @@ public override int GetHashCode() /// // NOT in a reference, IS a lookup column [NonDefaultStringLength(306, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] - [DataMember(Name="section504DisabilityTypeDescriptor")][DescriptorExists("Section504DisabilityTypeDescriptor")] - public string Section504DisabilityTypeDescriptor { get; set; } + [DataMember(Name="section504DisabilityDescriptor")][DescriptorExists("Section504DisabilityDescriptor")] + public string Section504DisabilityDescriptor { get; set; } private bool _section504EligibilityExplicitlyAssigned = false; private bool _section504Eligibility; @@ -223734,6 +224624,39 @@ public StudentSectionAssociation() // References // ------------------------------------------------------------- + private bool _dualCreditEducationOrganizationReferenceExplicitlyAssigned; + private EducationOrganization.EdFi.EducationOrganizationReference _dualCreditEducationOrganizationReference; + private EducationOrganization.EdFi.EducationOrganizationReference ImplicitDualCreditEducationOrganizationReference + { + get + { + // if the Reference is null, it is instantiated unless it has been explicitly assigned to null + if (_dualCreditEducationOrganizationReference == null && !_dualCreditEducationOrganizationReferenceExplicitlyAssigned) + _dualCreditEducationOrganizationReference = new EducationOrganization.EdFi.EducationOrganizationReference(); + + return _dualCreditEducationOrganizationReference; + } + } + + [DataMember(Name="dualCreditEducationOrganizationReference")] + [FullyDefinedReference] + public EducationOrganization.EdFi.EducationOrganizationReference DualCreditEducationOrganizationReference + { + get + { + // Only return the reference if it's non-null, and all its properties have non-default values assigned + if (ImplicitDualCreditEducationOrganizationReference != null + && (_dualCreditEducationOrganizationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitDualCreditEducationOrganizationReference.IsReferenceFullyDefined())) + return ImplicitDualCreditEducationOrganizationReference; + + return null; + } + set + { + _dualCreditEducationOrganizationReferenceExplicitlyAssigned = true; + _dualCreditEducationOrganizationReference = value; + } + } private bool _sectionReferenceExplicitlyAssigned; private Section.EdFi.SectionReference _sectionReference; private Section.EdFi.SectionReference ImplicitSectionReference @@ -224077,6 +225000,63 @@ public override int GetHashCode() [DataMember(Name="attemptStatusDescriptor")][DescriptorExists("AttemptStatusDescriptor")] public string AttemptStatusDescriptor { get; set; } + /// + /// The identifier assigned to an education organization. + /// + // IS in a reference, NOT a lookup column + long? Entities.Common.EdFi.IStudentSectionAssociation.DualCreditEducationOrganizationId + { + get + { + if (ImplicitDualCreditEducationOrganizationReference != null + && (_SuspendReferenceAssignmentCheck || ImplicitDualCreditEducationOrganizationReference.IsReferenceFullyDefined())) + { + return ImplicitDualCreditEducationOrganizationReference.EducationOrganizationId; + } + + return default(long?); + } + set + { + // When a property is assigned, Reference should not be null even if it has been explicitly assigned to null. + // All ExplicitlyAssigned are reset to false in advanced + + // DualCreditEducationOrganization + _dualCreditEducationOrganizationReferenceExplicitlyAssigned = false; + ImplicitDualCreditEducationOrganizationReference.EducationOrganizationId = value.GetValueOrDefault(); + } + } + + /// + /// Indicates whether the student assigned to the section is to receive dual credit upon successful completion. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="dualCreditIndicator")] + public bool? DualCreditIndicator { get; set; } + + /// + /// Descriptor for the postsecondary institution offering college credit. This descriptor may be used to select a postsecondary institution that is not defined as an education organization, and/or select a general type of postsecondary institution. + /// + // NOT in a reference, IS a lookup column + [NonDefaultStringLength(306, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="dualCreditInstitutionDescriptor")][DescriptorExists("DualCreditInstitutionDescriptor")] + public string DualCreditInstitutionDescriptor { get; set; } + + /// + /// For a student taking a dual credit course in a college or high school setting, indicates the type of dual credit program. + /// + // NOT in a reference, IS a lookup column + [NonDefaultStringLength(306, ErrorMessage=ValidationHelpers.StringLengthMessageFormat), NoDangerousText] + [DataMember(Name="dualCreditTypeDescriptor")][DescriptorExists("DualCreditTypeDescriptor")] + public string DualCreditTypeDescriptor { get; set; } + + /// + /// Indicates whether successful completion of the course will result in credits toward high school graduation. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="dualHighSchoolCreditIndicator")] + public bool? DualHighSchoolCreditIndicator { get; set; } + /// /// Month, day, and year of the withdrawal or exit of the student from the section. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines. /// @@ -224209,6 +225189,20 @@ void IMappable.Map(object target) // ================================================================= // Resource Reference Data // ----------------------------------------------------------------- + Guid? Entities.Common.EdFi.IStudentSectionAssociation.DualCreditEducationOrganizationResourceId + { + get { return null; } + set { ImplicitDualCreditEducationOrganizationReference.ResourceId = value ?? default(Guid); } + } + + string Entities.Common.EdFi.IStudentSectionAssociation.DualCreditEducationOrganizationDiscriminator + { + // Not supported for Resources + get { return null; } + set { ImplicitDualCreditEducationOrganizationReference.Discriminator = value; } + } + + Guid? Entities.Common.EdFi.IStudentSectionAssociation.SectionResourceId { get { return null; } @@ -226609,6 +227603,14 @@ public override int GetHashCode() [DataMember(Name="multiplyDisabled")] public bool? MultiplyDisabled { get; set; } + /// + /// Records the number of hours reduced for the shortened school day for the IEP student as compared to peers in regular education. + /// + // NOT in a reference, NOT a lookup column + [Range(typeof(decimal), "-999.99", "999.99", ErrorMessage=ValidationHelpers.RangeMessageFormat)] + [DataMember(Name="reductionInHoursPerWeekComparedToPeers")] + public decimal? ReductionInHoursPerWeekComparedToPeers { get; set; } + /// /// Indicate the total number of hours of instructional time per week for the school that the student attends. /// @@ -226617,6 +227619,13 @@ public override int GetHashCode() [DataMember(Name="schoolHoursPerWeek")] public decimal? SchoolHoursPerWeek { get; set; } + /// + /// Indicator that the student's IEP requires a shortened school day. + /// + // NOT in a reference, NOT a lookup column + [DataMember(Name="shortenedSchoolDayIndicator")] + public bool? ShortenedSchoolDayIndicator { get; set; } + /// /// The month, day and year on which a person stops receiving special education services. /// diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Security_Authorization_EntityAuthorizationContextProviders.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Security_Authorization_EntityAuthorizationContextProviders.generated.approved.cs index 16cbf16a9e..b6d78317e7 100644 --- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Security_Authorization_EntityAuthorizationContextProviders.generated.approved.cs +++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Security_Authorization_EntityAuthorizationContextProviders.generated.approved.cs @@ -11,7 +11,7 @@ using EdFi.Ods.Entities.NHibernate.AccountabilityRatingAggregate.EdFi; using EdFi.Ods.Entities.NHibernate.AssessmentAggregate.EdFi; using EdFi.Ods.Entities.NHibernate.AssessmentAdministrationAggregate.EdFi; -using EdFi.Ods.Entities.NHibernate.AssesssmentAdministrationParticipationAggregate.EdFi; +using EdFi.Ods.Entities.NHibernate.AssessmentAdministrationParticipationAggregate.EdFi; using EdFi.Ods.Entities.NHibernate.BellScheduleAggregate.EdFi; using EdFi.Ods.Entities.NHibernate.CalendarAggregate.EdFi; using EdFi.Ods.Entities.NHibernate.CalendarDateAggregate.EdFi; @@ -301,20 +301,20 @@ public RelationshipsAuthorizationContextData GetContextData(object resource) } /// - /// Creates and returns an instance for making authorization decisions for access to the edfi.AssesssmentAdministrationParticipation table of the AssesssmentAdministrationParticipation aggregate in the Ods Database. + /// Creates and returns an instance for making authorization decisions for access to the edfi.AssessmentAdministrationParticipation table of the AssessmentAdministrationParticipation aggregate in the Ods Database. /// [ExcludeFromCodeCoverage] - public class AssesssmentAdministrationParticipationRelationshipsAuthorizationContextDataProvider : IRelationshipsAuthorizationContextDataProvider + public class AssessmentAdministrationParticipationRelationshipsAuthorizationContextDataProvider : IRelationshipsAuthorizationContextDataProvider { /// /// Creates and returns an instance based on the supplied resource. /// - public RelationshipsAuthorizationContextData GetContextData(IAssesssmentAdministrationParticipation resource) + public RelationshipsAuthorizationContextData GetContextData(IAssessmentAdministrationParticipation resource) { if (resource == null) - throw new ArgumentNullException("resource", "The 'assesssmentAdministrationParticipation' resource for obtaining authorization context data cannot be null."); + throw new ArgumentNullException("resource", "The 'assessmentAdministrationParticipation' resource for obtaining authorization context data cannot be null."); - var entity = resource as AssesssmentAdministrationParticipation; + var entity = resource as AssessmentAdministrationParticipation; var contextData = new RelationshipsAuthorizationContextData(); // AssigningEducationOrganizationId = entity.AssigningEducationOrganizationId, // Primary key property, Role name applied @@ -341,7 +341,7 @@ public string[] GetAuthorizationContextPropertyNames() /// public RelationshipsAuthorizationContextData GetContextData(object resource) { - return GetContextData((AssesssmentAdministrationParticipation) resource); + return GetContextData((AssessmentAdministrationParticipation) resource); } } @@ -3461,6 +3461,8 @@ public RelationshipsAuthorizationContextData GetContextData(IStudentAssessmentRe // AssigningEducationOrganizationId = entity.AssigningEducationOrganizationId, // Primary key property, Role name applied contextData.EducationOrganizationId = entity.EducationOrganizationId == default(long) ? null as long? : entity.EducationOrganizationId; // Primary key property, Only Education Organization Id present // ReportingEducationOrganizationId = entity.ReportingEducationOrganizationId, // Role name applied and not part of primary key + // ScheduledEducationOrganizationId = entity.ScheduledEducationOrganizationId, // Role name applied and not part of primary key + // ScheduledStudentUSI = entity.ScheduledStudentUSI, // Not part of primary key // SchoolId = entity.SchoolId, // Not part of primary key contextData.StudentUSI = entity.StudentUSI == default(int) ? null as int? : entity.StudentUSI; // Primary key property, USI // TestingEducationOrganizationId = entity.TestingEducationOrganizationId, // Role name applied and not part of primary key @@ -3477,6 +3479,8 @@ public string[] GetAuthorizationContextPropertyNames() // "AssigningEducationOrganizationId", "EducationOrganizationId", // "ReportingEducationOrganizationId", + // "ScheduledEducationOrganizationId", + // "ScheduledStudentUSI", // "SchoolId", "StudentUSI", // "TestingEducationOrganizationId", @@ -4666,6 +4670,7 @@ public RelationshipsAuthorizationContextData GetContextData(IStudentSectionAssoc var entity = resource as StudentSectionAssociation; var contextData = new RelationshipsAuthorizationContextData(); + // DualCreditEducationOrganizationId = entity.DualCreditEducationOrganizationId, // Role name applied and not part of primary key contextData.SchoolId = entity.SchoolId == default(long) ? null as long? : entity.SchoolId; // Primary key property, Only Education Organization Id present contextData.StudentUSI = entity.StudentUSI == default(int) ? null as int? : entity.StudentUSI; // Primary key property, USI return contextData; @@ -4678,6 +4683,7 @@ public string[] GetAuthorizationContextPropertyNames() { var properties = new string[] { + // "DualCreditEducationOrganizationId", "SchoolId", "StudentUSI", }; diff --git a/build.githubactions.ps1 b/build.githubactions.ps1 index 1b04313e8e..578e1f79df 100644 --- a/build.githubactions.ps1 +++ b/build.githubactions.ps1 @@ -161,7 +161,24 @@ function Pack { $xml.package.metadata.id = $PackageName $xml.package.metadata.description = $PackageName $xml.Save($NuspecFilePath) - nuget pack $NuspecFilePath -OutputDirectory $packageOutput -Version $version -Properties configuration=$Configuration -Properties copyright=$Copyright -NoPackageAnalysis -NoDefaultExcludes + + if (Get-IsWindows){ + nuget pack $NuspecFilePath -OutputDirectory $packageOutput -Version $version -Properties configuration=$Configuration -Properties copyright=$Copyright -NoPackageAnalysis -NoDefaultExcludes + } + else{ + $params = @{ + PackageDefinitionFile = $NuspecFilePath + Version = $version + PackageId = $PackageName + OutputDirectory = $packageOutput + BuildConfiguration = $Configuration + ProjectFile = $ProjectFile + } + + & "$PSScriptRoot/../Ed-Fi-ODS-Implementation/Initialize-PowershellForDevelopment.ps1" + + New-Package @params | Out-Host + } } if ([string]::IsNullOrWhiteSpace($NuspecFilePath) -and $null -ne $PackageName){ diff --git a/tests/EdFi.Ods.WebApi.IntegrationTests/Controllers/Standard/5.2.0/AggregateDependencyControllerTests.Should_Get_Dependencies.approved.txt b/tests/EdFi.Ods.WebApi.IntegrationTests/Controllers/Standard/5.2.0/AggregateDependencyControllerTests.Should_Get_Dependencies.approved.txt index 8c45387fa2..f53e3062d4 100644 --- a/tests/EdFi.Ods.WebApi.IntegrationTests/Controllers/Standard/5.2.0/AggregateDependencyControllerTests.Should_Get_Dependencies.approved.txt +++ b/tests/EdFi.Ods.WebApi.IntegrationTests/Controllers/Standard/5.2.0/AggregateDependencyControllerTests.Should_Get_Dependencies.approved.txt @@ -503,6 +503,22 @@ "Update" ] }, + { + "resource": "/ed-fi/dualCreditInstitutionDescriptors", + "order": 1, + "operations": [ + "Create", + "Update" + ] + }, + { + "resource": "/ed-fi/dualCreditTypeDescriptors", + "order": 1, + "operations": [ + "Create", + "Update" + ] + }, { "resource": "/ed-fi/educationalEnvironmentDescriptors", "order": 1, @@ -1384,7 +1400,7 @@ ] }, { - "resource": "/ed-fi/section504DisabilityTypeDescriptors", + "resource": "/ed-fi/section504DisabilityDescriptors", "order": 1, "operations": [ "Create", @@ -2690,7 +2706,7 @@ ] }, { - "resource": "/ed-fi/assesssmentAdministrationParticipations", + "resource": "/ed-fi/assessmentAdministrationParticipations", "order": 16, "operations": [ "Create", diff --git a/tests/EdFi.Ods.WebApi.IntegrationTests/Controllers/Standard/5.2.0/AggregateDependencyControllerTests.Should_Get_Dependencies_GraphML.approved.txt b/tests/EdFi.Ods.WebApi.IntegrationTests/Controllers/Standard/5.2.0/AggregateDependencyControllerTests.Should_Get_Dependencies_GraphML.approved.txt index 5b36c2bff7..5ea5d78cc3 100644 --- a/tests/EdFi.Ods.WebApi.IntegrationTests/Controllers/Standard/5.2.0/AggregateDependencyControllerTests.Should_Get_Dependencies_GraphML.approved.txt +++ b/tests/EdFi.Ods.WebApi.IntegrationTests/Controllers/Standard/5.2.0/AggregateDependencyControllerTests.Should_Get_Dependencies_GraphML.approved.txt @@ -14,6 +14,7 @@ + @@ -25,7 +26,6 @@ - @@ -93,6 +93,8 @@ + + @@ -247,7 +249,7 @@ - + @@ -390,7 +392,7 @@ - + @@ -449,9 +451,9 @@ + - @@ -491,6 +493,7 @@ + @@ -499,9 +502,9 @@ + - @@ -541,6 +544,7 @@ + @@ -627,6 +631,8 @@ + + @@ -656,9 +662,9 @@ + - @@ -697,6 +703,7 @@ + @@ -706,9 +713,9 @@ + - @@ -748,6 +755,7 @@ + @@ -917,9 +925,9 @@ + - @@ -959,6 +967,7 @@ + @@ -994,9 +1003,9 @@ + - @@ -1034,6 +1043,7 @@ + @@ -1078,9 +1088,9 @@ + - @@ -1120,6 +1130,7 @@ + @@ -1225,9 +1236,9 @@ + - @@ -1282,6 +1293,7 @@ + @@ -1290,7 +1302,7 @@ - + @@ -1365,9 +1377,9 @@ + - @@ -1408,6 +1420,7 @@ + @@ -1517,5 +1530,6 @@ +