Skip to content

Instantly share code, notes, and snippets.

@sagunji
Created May 28, 2018 10:48
Show Gist options
  • Save sagunji/f3d9a0cf4abaf5cb564442ed0709c365 to your computer and use it in GitHub Desktop.
Save sagunji/f3d9a0cf4abaf5cb564442ed0709c365 to your computer and use it in GitHub Desktop.
Generated Resource code
This file has been truncated, but you can view the full file.
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using System.Net;
using EdFi.Ods.Common.Extensions;
using EdFi.Ods.Common;
using EdFi.Ods.Api.Models;
using EdFi.Ods.Entities.Common;
using Newtonsoft.Json;
// Aggregate: ABC
namespace EdFi.Ods.Api.Models.Resources.ABC
{
/// <summary>
/// Represents a reference to the ABC resource.
/// </summary>
[DataContract]
public class ABCReference
{
[DataMember(Name="abdId"), NaturalKeyMember]
public int ABDId { get; set; }
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { 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 = new Link
{
Rel = "ABC",
Href = "/abcs"
+ "?abdId=" + ABDId
+ "&educationOrganizationId=" + EducationOrganizationId
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return ABDId != default(int)
&& EducationOrganizationId != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the extension.ABC table of the ABC aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ABC : IABC, IHasETag, IABCSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ABC resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _educationOrganizationReferenceExplicitlyAssigned;
private EducationOrganization.EducationOrganizationReference _educationOrganizationReference;
private EducationOrganization.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.EducationOrganizationReference();
return _educationOrganizationReference;
}
}
[DataMember(Name="educationOrganizationReference")][NaturalKeyMember]
public EducationOrganization.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
// -------------------------------------------------------------
/// <summary>
/// ABC here
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="abdId"), NaturalKeyMember]
public int ABDId { get; set; }
/// <summary>
/// The identifier assigned to an education agency by the State Education Agency (SEA). Also known as the State LEA ID.
/// </summary>
// IS in a reference, NOT a lookup column
int IABC.EducationOrganizationId
{
get
{
if (ImplicitEducationOrganizationReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitEducationOrganizationReference.EducationOrganizationId;
return default(int);
}
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;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IABC).ABDId != null)
hash = hash * 23 + (this as IABC).ABDId.GetHashCode();
//Referenced Property
if ((this as IABC).EducationOrganizationId != null)
hash = hash * 23 + (this as IABC).EducationOrganizationId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IABC)target);
}
void IMappable.Map(object target)
{
this.MapTo((IABC) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
}
// Aggregate: AcademicHonorCategoryType
namespace EdFi.Ods.Api.Models.Resources.AcademicHonorCategoryType
{
/// <summary>
/// A class which represents the edfi.AcademicHonorCategoryType table of the AcademicHonorCategoryType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AcademicHonorCategoryType : IAcademicHonorCategoryType, IHasETag, IAcademicHonorCategoryTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AcademicHonorCategoryType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for AcademicHonor
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="academicHonorCategoryTypeId"), NaturalKeyMember]
public int AcademicHonorCategoryTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAcademicHonorCategoryType).AcademicHonorCategoryTypeId != null)
hash = hash * 23 + (this as IAcademicHonorCategoryType).AcademicHonorCategoryTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for academic honors type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the academic honor category type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAcademicHonorCategoryType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAcademicHonorCategoryType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAcademicHonorCategoryTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAcademicHonorCategoryTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAcademicHonorCategoryTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AcademicSubjectDescriptor
namespace EdFi.Ods.Api.Models.Resources.AcademicSubjectDescriptor
{
/// <summary>
/// A class which represents the edfi.AcademicSubjectDescriptor table of the AcademicSubjectDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AcademicSubjectDescriptor : IAcademicSubjectDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IAcademicSubjectDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AcademicSubjectDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="academicSubjectDescriptorId"), NaturalKeyMember]
public int AcademicSubjectDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return AcademicSubjectDescriptorId; }
set { AcademicSubjectDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IAcademicSubjectDescriptor).AcademicSubjectDescriptorId != null)
hash = hash * 23 + (this as IAcademicSubjectDescriptor).AcademicSubjectDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Key for AcademicSubject
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="academicSubjectType")]
public string AcademicSubjectType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAcademicSubjectDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAcademicSubjectDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAcademicSubjectDescriptorSynchronizationSourceSupport.IsAcademicSubjectTypeSupported { get { return true; } set { } }
bool IAcademicSubjectDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAcademicSubjectDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAcademicSubjectDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IAcademicSubjectDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IAcademicSubjectDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAcademicSubjectDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IAcademicSubjectDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AcademicSubjectType
namespace EdFi.Ods.Api.Models.Resources.AcademicSubjectType
{
/// <summary>
/// A class which represents the edfi.AcademicSubjectType table of the AcademicSubjectType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AcademicSubjectType : IAcademicSubjectType, IHasETag, IAcademicSubjectTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AcademicSubjectType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for AcademicSubject
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="academicSubjectTypeId"), NaturalKeyMember]
public int AcademicSubjectTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAcademicSubjectType).AcademicSubjectTypeId != null)
hash = hash * 23 + (this as IAcademicSubjectType).AcademicSubjectTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for academic subject type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// Description for academic subject type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAcademicSubjectType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAcademicSubjectType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAcademicSubjectTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAcademicSubjectTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAcademicSubjectTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AcademicWeek
namespace EdFi.Ods.Api.Models.Resources.AcademicWeek
{
/// <summary>
/// Represents a reference to the AcademicWeek resource.
/// </summary>
[DataContract]
public class AcademicWeekReference
{
[DataMember(Name="schoolId"), NaturalKeyMember]
public int SchoolId { get; set; }
[DataMember(Name="weekIdentifier"), NaturalKeyMember]
public string WeekIdentifier { 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 = new Link
{
Rel = "AcademicWeek",
Href = "/academicWeeks"
+ "?schoolId=" + SchoolId
+ "&weekIdentifier=" + WebUtility.UrlEncode(WeekIdentifier)
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return SchoolId != default(int)
&& WeekIdentifier != default(string)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.AcademicWeek table of the AcademicWeek aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AcademicWeek : IAcademicWeek, IHasETag, IAcademicWeekSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AcademicWeek resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _beginCalendarDateReferenceExplicitlyAssigned;
private CalendarDate.CalendarDateReference _beginCalendarDateReference;
private CalendarDate.CalendarDateReference ImplicitBeginCalendarDateReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_beginCalendarDateReference == null && !_beginCalendarDateReferenceExplicitlyAssigned)
_beginCalendarDateReference = new CalendarDate.CalendarDateReference();
return _beginCalendarDateReference;
}
}
[DataMember(Name="beginCalendarDateReference")]
public CalendarDate.CalendarDateReference BeginCalendarDateReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitBeginCalendarDateReference != null
&& (_beginCalendarDateReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitBeginCalendarDateReference.IsReferenceFullyDefined()))
return ImplicitBeginCalendarDateReference;
return null;
}
set
{
_beginCalendarDateReferenceExplicitlyAssigned = true;
_beginCalendarDateReference = value;
}
}
private bool _endCalendarDateReferenceExplicitlyAssigned;
private CalendarDate.CalendarDateReference _endCalendarDateReference;
private CalendarDate.CalendarDateReference ImplicitEndCalendarDateReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_endCalendarDateReference == null && !_endCalendarDateReferenceExplicitlyAssigned)
_endCalendarDateReference = new CalendarDate.CalendarDateReference();
return _endCalendarDateReference;
}
}
[DataMember(Name="endCalendarDateReference")]
public CalendarDate.CalendarDateReference EndCalendarDateReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitEndCalendarDateReference != null
&& (_endCalendarDateReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitEndCalendarDateReference.IsReferenceFullyDefined()))
return ImplicitEndCalendarDateReference;
return null;
}
set
{
_endCalendarDateReferenceExplicitlyAssigned = true;
_endCalendarDateReference = value;
}
}
private bool _schoolReferenceExplicitlyAssigned;
private School.SchoolReference _schoolReference;
private School.SchoolReference ImplicitSchoolReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_schoolReference == null && !_schoolReferenceExplicitlyAssigned)
_schoolReference = new School.SchoolReference();
return _schoolReference;
}
}
[DataMember(Name="schoolReference")][NaturalKeyMember]
public School.SchoolReference SchoolReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitSchoolReference != null
&& (_schoolReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference;
return null;
}
set
{
_schoolReferenceExplicitlyAssigned = true;
_schoolReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The identifier assigned to a school by the State Education Agency (SEA).
/// </summary>
// IS in a reference, NOT a lookup column
int IAcademicWeek.SchoolId
{
get
{
if (ImplicitBeginCalendarDateReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitBeginCalendarDateReference.IsReferenceFullyDefined()))
return ImplicitBeginCalendarDateReference.SchoolId;
return default(int);
}
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
// BeginCalendarDate
_beginCalendarDateReferenceExplicitlyAssigned = false;
ImplicitBeginCalendarDateReference.SchoolId = value;
// EndCalendarDate
_endCalendarDateReferenceExplicitlyAssigned = false;
ImplicitEndCalendarDateReference.SchoolId = value;
// School
_schoolReferenceExplicitlyAssigned = false;
ImplicitSchoolReference.SchoolId = value;
}
}
/// <summary>
/// The school label for the academic week.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="weekIdentifier"), NaturalKeyMember]
public string WeekIdentifier { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Referenced Property
if ((this as IAcademicWeek).SchoolId != null)
hash = hash * 23 + (this as IAcademicWeek).SchoolId.GetHashCode();
// Standard Property
if ((this as IAcademicWeek).WeekIdentifier != null)
hash = hash * 23 + (this as IAcademicWeek).WeekIdentifier.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The start date for the academic week.
/// </summary>
// IS in a reference, NOT a lookup column
DateTime IAcademicWeek.BeginDate
{
get
{
if (ImplicitBeginCalendarDateReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitBeginCalendarDateReference.IsReferenceFullyDefined()))
return ImplicitBeginCalendarDateReference.Date;
return default(DateTime);
}
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
// BeginCalendarDate
_beginCalendarDateReferenceExplicitlyAssigned = false;
ImplicitBeginCalendarDateReference.Date = value;
}
}
/// <summary>
/// The end date for the academic week.
/// </summary>
// IS in a reference, NOT a lookup column
DateTime IAcademicWeek.EndDate
{
get
{
if (ImplicitEndCalendarDateReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitEndCalendarDateReference.IsReferenceFullyDefined()))
return ImplicitEndCalendarDateReference.Date;
return default(DateTime);
}
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
// EndCalendarDate
_endCalendarDateReferenceExplicitlyAssigned = false;
ImplicitEndCalendarDateReference.Date = value;
}
}
/// <summary>
/// The total instructional days during the academic week.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="totalInstructionalDays")]
public int TotalInstructionalDays { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAcademicWeek)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAcademicWeek) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAcademicWeekSynchronizationSourceSupport.IsBeginDateSupported { get { return true; } set { } }
bool IAcademicWeekSynchronizationSourceSupport.IsEndDateSupported { get { return true; } set { } }
bool IAcademicWeekSynchronizationSourceSupport.IsTotalInstructionalDaysSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AccommodationDescriptor
namespace EdFi.Ods.Api.Models.Resources.AccommodationDescriptor
{
/// <summary>
/// A class which represents the edfi.AccommodationDescriptor table of the AccommodationDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AccommodationDescriptor : IAccommodationDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IAccommodationDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AccommodationDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="accommodationDescriptorId"), NaturalKeyMember]
public int AccommodationDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return AccommodationDescriptorId; }
set { AccommodationDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IAccommodationDescriptor).AccommodationDescriptorId != null)
hash = hash * 23 + (this as IAccommodationDescriptor).AccommodationDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="accommodationType")]
public string AccommodationType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAccommodationDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAccommodationDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAccommodationDescriptorSynchronizationSourceSupport.IsAccommodationTypeSupported { get { return true; } set { } }
bool IAccommodationDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAccommodationDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAccommodationDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IAccommodationDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IAccommodationDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAccommodationDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IAccommodationDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AccommodationType
namespace EdFi.Ods.Api.Models.Resources.AccommodationType
{
/// <summary>
/// A class which represents the edfi.AccommodationType table of the AccommodationType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AccommodationType : IAccommodationType, IHasETag, IAccommodationTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AccommodationType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="accommodationTypeId"), NaturalKeyMember]
public int AccommodationTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAccommodationType).AccommodationTypeId != null)
hash = hash * 23 + (this as IAccommodationType).AccommodationTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for accommodation type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAccommodationType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAccommodationType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAccommodationTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAccommodationTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAccommodationTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: Account
namespace EdFi.Ods.Api.Models.Resources.Account
{
/// <summary>
/// Represents a reference to the Account resource.
/// </summary>
[DataContract]
public class AccountReference
{
[DataMember(Name="number"), NaturalKeyMember]
public string AccountNumber { get; set; }
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { get; set; }
[DataMember(Name="fiscalYear"), NaturalKeyMember]
public int FiscalYear { 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 = new Link
{
Rel = "Account",
Href = "/accounts"
+ "?number=" + WebUtility.UrlEncode(AccountNumber)
+ "&educationOrganizationId=" + EducationOrganizationId
+ "&fiscalYear=" + FiscalYear
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return AccountNumber != default(string)
&& EducationOrganizationId != default(int)
&& FiscalYear != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.Account table of the Account aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class Account : IAccount, IHasETag, IAccountSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public Account()
{
AccountCodes = new List<AccountCode>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the Account resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _educationOrganizationReferenceExplicitlyAssigned;
private EducationOrganization.EducationOrganizationReference _educationOrganizationReference;
private EducationOrganization.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.EducationOrganizationReference();
return _educationOrganizationReference;
}
}
[DataMember(Name="educationOrganizationReference")][NaturalKeyMember]
public EducationOrganization.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
// -------------------------------------------------------------
/// <summary>
/// The alpha-numeric string that identifies the account.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="number"), NaturalKeyMember]
public string AccountNumber { get; set; }
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IAccount.EducationOrganizationId
{
get
{
if (ImplicitEducationOrganizationReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitEducationOrganizationReference.EducationOrganizationId;
return default(int);
}
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;
}
}
/// <summary>
/// The financial accounting year.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="fiscalYear"), NaturalKeyMember]
public int FiscalYear { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAccount).AccountNumber != null)
hash = hash * 23 + (this as IAccount).AccountNumber.GetHashCode();
//Referenced Property
if ((this as IAccount).EducationOrganizationId != null)
hash = hash * 23 + (this as IAccount).EducationOrganizationId.GetHashCode();
// Standard Property
if ((this as IAccount).FiscalYear != null)
hash = hash * 23 + (this as IAccount).FiscalYear.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<AccountCode> _accountCodes;
private IList<IAccountCode> _accountCodesCovariant;
[DataMember(Name="codes")]
public IList<AccountCode> AccountCodes
{
get { return _accountCodes; }
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 ListAdapterWithAddNotifications<AccountCode>(value,
(s, e) => ((IAccountCode)e.Item).Account = this);
_accountCodes = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAccountCode, AccountCode>(value);
covariantList.ItemAdded += (s, e) => ((IAccountCode)e.Item).Account = this;
_accountCodesCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAccountCode> IAccount.AccountCodes
{
get { return _accountCodesCovariant; }
set { AccountCodes = new List<AccountCode>(value.Cast<AccountCode>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_accountCodes != null) foreach (var item in _accountCodes)
{
item.Account = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAccount)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAccount) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAccountSynchronizationSourceSupport.IsAccountCodesSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<IAccountCode, bool> IAccountSynchronizationSourceSupport.IsAccountCodeIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AccountCode table of the Account aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AccountCode : IAccountCode, IAccountCodeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAccount _account;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAccount IAccountCode.Account
{
get { return _account; }
set { _account = value; }
}
internal IAccount Account
{
set { _account = value; }
}
/// <summary>
/// The type of the account code (e.g., fund, function, object)
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="descriptor"), NaturalKeyMember]
public string AccountCodeDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_account != null)
hash = hash * 23 + _account.GetHashCode();
// Standard Property
if ((this as IAccountCode).AccountCodeDescriptor != null)
hash = hash * 23 + (this as IAccountCode).AccountCodeDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAccountCode)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAccountCode) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
}
// Aggregate: AccountabilityRating
namespace EdFi.Ods.Api.Models.Resources.AccountabilityRating
{
/// <summary>
/// Represents a reference to the AccountabilityRating resource.
/// </summary>
[DataContract]
public class AccountabilityRatingReference
{
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { get; set; }
[DataMember(Name="ratingTitle"), NaturalKeyMember]
public string RatingTitle { get; set; }
[DataMember(Name="schoolYear"), NaturalKeyMember]
public short SchoolYear { 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 = new Link
{
Rel = "AccountabilityRating",
Href = "/accountabilityRatings"
+ "?educationOrganizationId=" + EducationOrganizationId
+ "&ratingTitle=" + WebUtility.UrlEncode(RatingTitle)
+ "&schoolYear=" + SchoolYear
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return EducationOrganizationId != default(int)
&& RatingTitle != default(string)
&& SchoolYear != default(short)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.AccountabilityRating table of the AccountabilityRating aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AccountabilityRating : IAccountabilityRating, IHasETag, IAccountabilityRatingSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AccountabilityRating resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _educationOrganizationReferenceExplicitlyAssigned;
private EducationOrganization.EducationOrganizationReference _educationOrganizationReference;
private EducationOrganization.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.EducationOrganizationReference();
return _educationOrganizationReference;
}
}
[DataMember(Name="educationOrganizationReference")][NaturalKeyMember]
public EducationOrganization.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;
}
}
private bool _schoolYearTypeReferenceExplicitlyAssigned;
private SchoolYearType.SchoolYearTypeReference _schoolYearTypeReference;
private SchoolYearType.SchoolYearTypeReference ImplicitSchoolYearTypeReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_schoolYearTypeReference == null && !_schoolYearTypeReferenceExplicitlyAssigned)
_schoolYearTypeReference = new SchoolYearType.SchoolYearTypeReference();
return _schoolYearTypeReference;
}
}
[DataMember(Name="schoolYearTypeReference")][NaturalKeyMember]
public SchoolYearType.SchoolYearTypeReference SchoolYearTypeReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitSchoolYearTypeReference != null
&& (_schoolYearTypeReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitSchoolYearTypeReference.IsReferenceFullyDefined()))
return ImplicitSchoolYearTypeReference;
return null;
}
set
{
_schoolYearTypeReferenceExplicitlyAssigned = true;
_schoolYearTypeReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IAccountabilityRating.EducationOrganizationId
{
get
{
if (ImplicitEducationOrganizationReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitEducationOrganizationReference.EducationOrganizationId;
return default(int);
}
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;
}
}
/// <summary>
/// The title of the rating (e.g., School Rating, Safety Score).
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="ratingTitle"), NaturalKeyMember]
public string RatingTitle { get; set; }
/// <summary>
/// The school year for which the rating was awarded.
/// </summary>
// IS in a reference, NOT a lookup column
short IAccountabilityRating.SchoolYear
{
get
{
if (ImplicitSchoolYearTypeReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSchoolYearTypeReference.IsReferenceFullyDefined()))
return ImplicitSchoolYearTypeReference.SchoolYear;
return default(short);
}
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
// SchoolYearType
_schoolYearTypeReferenceExplicitlyAssigned = false;
ImplicitSchoolYearTypeReference.SchoolYear = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Referenced Property
if ((this as IAccountabilityRating).EducationOrganizationId != null)
hash = hash * 23 + (this as IAccountabilityRating).EducationOrganizationId.GetHashCode();
// Standard Property
if ((this as IAccountabilityRating).RatingTitle != null)
hash = hash * 23 + (this as IAccountabilityRating).RatingTitle.GetHashCode();
//Referenced Property
if ((this as IAccountabilityRating).SchoolYear != null)
hash = hash * 23 + (this as IAccountabilityRating).SchoolYear.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// An accountability rating level, designation, or assessment.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="rating")]
public string Rating { get; set; }
/// <summary>
/// The date the rating was awarded.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="ratingDate")]
public DateTime? RatingDate { get; set; }
/// <summary>
/// The organization assigning the accountability rating.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="ratingOrganization")]
public string RatingOrganization { get; set; }
/// <summary>
/// The rating program (e.g., NCLB).
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="ratingProgram")]
public string RatingProgram { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAccountabilityRating)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAccountabilityRating) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAccountabilityRatingSynchronizationSourceSupport.IsRatingSupported { get { return true; } set { } }
bool IAccountabilityRatingSynchronizationSourceSupport.IsRatingDateSupported { get { return true; } set { } }
bool IAccountabilityRatingSynchronizationSourceSupport.IsRatingOrganizationSupported { get { return true; } set { } }
bool IAccountabilityRatingSynchronizationSourceSupport.IsRatingProgramSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AccountCodeDescriptor
namespace EdFi.Ods.Api.Models.Resources.AccountCodeDescriptor
{
/// <summary>
/// A class which represents the edfi.AccountCodeDescriptor table of the AccountCodeDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AccountCodeDescriptor : IAccountCodeDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IAccountCodeDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AccountCodeDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The ID of the AccountCodeDescriptor
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="accountCodeDescriptorId"), NaturalKeyMember]
public int AccountCodeDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return AccountCodeDescriptorId; }
set { AccountCodeDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IAccountCodeDescriptor).AccountCodeDescriptorId != null)
hash = hash * 23 + (this as IAccountCodeDescriptor).AccountCodeDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The type of the account code (e.g., fund, function, object).
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="accountCodeCategory")]
public string AccountCodeCategory { get; set; }
/// <summary>
/// The first date the account code is valid.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="beginDate")]
public DateTime? BeginDate { get; set; }
/// <summary>
/// The last date the account code is valid.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="endDate")]
public DateTime? EndDate { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAccountCodeDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAccountCodeDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAccountCodeDescriptorSynchronizationSourceSupport.IsAccountCodeCategorySupported { get { return true; } set { } }
bool IAccountCodeDescriptorSynchronizationSourceSupport.IsBeginDateSupported { get { return true; } set { } }
bool IAccountCodeDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAccountCodeDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAccountCodeDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IAccountCodeDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IAccountCodeDescriptorSynchronizationSourceSupport.IsEndDateSupported { get { return true; } set { } }
bool IAccountCodeDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAccountCodeDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IAccountCodeDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AchievementCategoryDescriptor
namespace EdFi.Ods.Api.Models.Resources.AchievementCategoryDescriptor
{
/// <summary>
/// A class which represents the edfi.AchievementCategoryDescriptor table of the AchievementCategoryDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AchievementCategoryDescriptor : IAchievementCategoryDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IAchievementCategoryDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AchievementCategoryDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="achievementCategoryDescriptorId"), NaturalKeyMember]
public int AchievementCategoryDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return AchievementCategoryDescriptorId; }
set { AchievementCategoryDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IAchievementCategoryDescriptor).AchievementCategoryDescriptorId != null)
hash = hash * 23 + (this as IAchievementCategoryDescriptor).AchievementCategoryDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="achievementCategoryType")]
public string AchievementCategoryType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAchievementCategoryDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAchievementCategoryDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAchievementCategoryDescriptorSynchronizationSourceSupport.IsAchievementCategoryTypeSupported { get { return true; } set { } }
bool IAchievementCategoryDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAchievementCategoryDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAchievementCategoryDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IAchievementCategoryDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IAchievementCategoryDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAchievementCategoryDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IAchievementCategoryDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AchievementCategoryType
namespace EdFi.Ods.Api.Models.Resources.AchievementCategoryType
{
/// <summary>
/// A class which represents the edfi.AchievementCategoryType table of the AchievementCategoryType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AchievementCategoryType : IAchievementCategoryType, IHasETag, IAchievementCategoryTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AchievementCategoryType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="achievementCategoryTypeId"), NaturalKeyMember]
public int AchievementCategoryTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAchievementCategoryType).AchievementCategoryTypeId != null)
hash = hash * 23 + (this as IAchievementCategoryType).AchievementCategoryTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for achievement category type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the achievement category type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the achievement category type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAchievementCategoryType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAchievementCategoryType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAchievementCategoryTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAchievementCategoryTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAchievementCategoryTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: Actual
namespace EdFi.Ods.Api.Models.Resources.Actual
{
/// <summary>
/// Represents a reference to the Actual resource.
/// </summary>
[DataContract]
public class ActualReference
{
[DataMember(Name="accountNumber"), NaturalKeyMember]
public string AccountNumber { get; set; }
[DataMember(Name="asOfDate"), NaturalKeyMember]
public DateTime AsOfDate { get; set; }
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { get; set; }
[DataMember(Name="fiscalYear"), NaturalKeyMember]
public int FiscalYear { 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 = new Link
{
Rel = "Actual",
Href = "/actuals"
+ "?accountNumber=" + WebUtility.UrlEncode(AccountNumber)
+ "&asOfDate=" + JsonConvert.SerializeObject(AsOfDate).Replace("\"", string.Empty)
+ "&educationOrganizationId=" + EducationOrganizationId
+ "&fiscalYear=" + FiscalYear
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return AccountNumber != default(string)
&& AsOfDate != default(DateTime)
&& EducationOrganizationId != default(int)
&& FiscalYear != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.Actual table of the Actual aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class Actual : IActual, IHasETag, IActualSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the Actual resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _accountReferenceExplicitlyAssigned;
private Account.AccountReference _accountReference;
private Account.AccountReference ImplicitAccountReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_accountReference == null && !_accountReferenceExplicitlyAssigned)
_accountReference = new Account.AccountReference();
return _accountReference;
}
}
[DataMember(Name="accountReference")][NaturalKeyMember]
public Account.AccountReference AccountReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitAccountReference != null
&& (_accountReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference;
return null;
}
set
{
_accountReferenceExplicitlyAssigned = true;
_accountReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The alpha-numeric string that identifies the account.
/// </summary>
// IS in a reference, NOT a lookup column
string IActual.AccountNumber
{
get
{
if (ImplicitAccountReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference.AccountNumber;
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
// Account
_accountReferenceExplicitlyAssigned = false;
ImplicitAccountReference.AccountNumber = value;
}
}
/// <summary>
/// The date of the reported actual element.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="asOfDate"), NaturalKeyMember]
public DateTime AsOfDate { get; set; }
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IActual.EducationOrganizationId
{
get
{
if (ImplicitAccountReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference.EducationOrganizationId;
return default(int);
}
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
// Account
_accountReferenceExplicitlyAssigned = false;
ImplicitAccountReference.EducationOrganizationId = value;
}
}
/// <summary>
/// The financial accounting year. NEDM: Fiscal Year
/// </summary>
// IS in a reference, NOT a lookup column
int IActual.FiscalYear
{
get
{
if (ImplicitAccountReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference.FiscalYear;
return default(int);
}
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
// Account
_accountReferenceExplicitlyAssigned = false;
ImplicitAccountReference.FiscalYear = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Referenced Property
if ((this as IActual).AccountNumber != null)
hash = hash * 23 + (this as IActual).AccountNumber.GetHashCode();
// Standard Property
if ((this as IActual).AsOfDate != null)
hash = hash * 23 + (this as IActual).AsOfDate.GetHashCode();
//Referenced Property
if ((this as IActual).EducationOrganizationId != null)
hash = hash * 23 + (this as IActual).EducationOrganizationId.GetHashCode();
//Referenced Property
if ((this as IActual).FiscalYear != null)
hash = hash * 23 + (this as IActual).FiscalYear.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Current balance for the account.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="amountToDate")][Range(typeof(decimal), "-922337203685477.5808", "922337203685477.5807")]
public decimal AmountToDate { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IActual)target);
}
void IMappable.Map(object target)
{
this.MapTo((IActual) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IActualSynchronizationSourceSupport.IsAmountToDateSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AdditionalCreditType
namespace EdFi.Ods.Api.Models.Resources.AdditionalCreditType
{
/// <summary>
/// A class which represents the edfi.AdditionalCreditType table of the AdditionalCreditType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AdditionalCreditType : IAdditionalCreditType, IHasETag, IAdditionalCreditTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AdditionalCreditType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="additionalCreditTypeId"), NaturalKeyMember]
public int AdditionalCreditTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAdditionalCreditType).AdditionalCreditTypeId != null)
hash = hash * 23 + (this as IAdditionalCreditType).AdditionalCreditTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for additional credit type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// Description of additional Credit type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the additional credit type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAdditionalCreditType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAdditionalCreditType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAdditionalCreditTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAdditionalCreditTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAdditionalCreditTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AddressType
namespace EdFi.Ods.Api.Models.Resources.AddressType
{
/// <summary>
/// A class which represents the edfi.AddressType table of the AddressType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AddressType : IAddressType, IHasETag, IAddressTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AddressType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for Address
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="addressTypeId"), NaturalKeyMember]
public int AddressTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAddressType).AddressTypeId != null)
hash = hash * 23 + (this as IAddressType).AddressTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for Address type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the address type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAddressType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAddressType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAddressTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAddressTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAddressTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AdministrationEnvironmentType
namespace EdFi.Ods.Api.Models.Resources.AdministrationEnvironmentType
{
/// <summary>
/// A class which represents the edfi.AdministrationEnvironmentType table of the AdministrationEnvironmentType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AdministrationEnvironmentType : IAdministrationEnvironmentType, IHasETag, IAdministrationEnvironmentTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AdministrationEnvironmentType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for AdministrationEnvironment
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="administrationEnvironmentTypeId"), NaturalKeyMember]
public int AdministrationEnvironmentTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAdministrationEnvironmentType).AdministrationEnvironmentTypeId != null)
hash = hash * 23 + (this as IAdministrationEnvironmentType).AdministrationEnvironmentTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for AdministrationEnvironment type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the administration environment type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAdministrationEnvironmentType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAdministrationEnvironmentType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAdministrationEnvironmentTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAdministrationEnvironmentTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAdministrationEnvironmentTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AdministrativeFundingControlDescriptor
namespace EdFi.Ods.Api.Models.Resources.AdministrativeFundingControlDescriptor
{
/// <summary>
/// A class which represents the edfi.AdministrativeFundingControlDescriptor table of the AdministrativeFundingControlDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AdministrativeFundingControlDescriptor : IAdministrativeFundingControlDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IAdministrativeFundingControlDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AdministrativeFundingControlDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="administrativeFundingControlDescriptorId"), NaturalKeyMember]
public int AdministrativeFundingControlDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return AdministrativeFundingControlDescriptorId; }
set { AdministrativeFundingControlDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IAdministrativeFundingControlDescriptor).AdministrativeFundingControlDescriptorId != null)
hash = hash * 23 + (this as IAdministrativeFundingControlDescriptor).AdministrativeFundingControlDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Key for AdministrationFundingControl
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="administrativeFundingControlType")]
public string AdministrativeFundingControlType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAdministrativeFundingControlDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAdministrativeFundingControlDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAdministrativeFundingControlDescriptorSynchronizationSourceSupport.IsAdministrativeFundingControlTypeSupported { get { return true; } set { } }
bool IAdministrativeFundingControlDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAdministrativeFundingControlDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAdministrativeFundingControlDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IAdministrativeFundingControlDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IAdministrativeFundingControlDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAdministrativeFundingControlDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IAdministrativeFundingControlDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AdministrativeFundingControlType
namespace EdFi.Ods.Api.Models.Resources.AdministrativeFundingControlType
{
/// <summary>
/// A class which represents the edfi.AdministrativeFundingControlType table of the AdministrativeFundingControlType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AdministrativeFundingControlType : IAdministrativeFundingControlType, IHasETag, IAdministrativeFundingControlTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AdministrativeFundingControlType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for AdministrationFundingControl
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="administrativeFundingControlTypeId"), NaturalKeyMember]
public int AdministrativeFundingControlTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAdministrativeFundingControlType).AdministrativeFundingControlTypeId != null)
hash = hash * 23 + (this as IAdministrativeFundingControlType).AdministrativeFundingControlTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for AdministrationFundingControl type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAdministrativeFundingControlType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAdministrativeFundingControlType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAdministrativeFundingControlTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAdministrativeFundingControlTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAdministrativeFundingControlTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: ApplicationStatusType
namespace EdFi.Ods.Api.Models.Resources.ApplicationStatusType
{
/// <summary>
/// A class which represents the extension.ApplicationStatusType table of the ApplicationStatusType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ApplicationStatusType : IApplicationStatusType, IHasETag, IApplicationStatusTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ApplicationStatusType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for ApplicationStatus
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="applicationStatusTypeId"), NaturalKeyMember]
public int ApplicationStatusTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IApplicationStatusType).ApplicationStatusTypeId != null)
hash = hash * 23 + (this as IApplicationStatusType).ApplicationStatusTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// This column is deprecated.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description for the ApplicationStatus type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The value for the ApplicationStatus type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IApplicationStatusType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IApplicationStatusType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IApplicationStatusTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IApplicationStatusTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IApplicationStatusTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: ApplyTexasApplication
namespace EdFi.Ods.Api.Models.Resources.ApplyTexasApplication
{
/// <summary>
/// Represents a reference to the ApplyTexasApplication resource.
/// </summary>
[DataContract]
public class ApplyTexasApplicationReference
{
[DataMember(Name="applicationId"), NaturalKeyMember]
public int ApplicationId { get; set; }
[DataMember(Name="eventDate"), NaturalKeyMember]
public DateTime EventDate { get; set; }
[DataMember(Name="postSecondaryEventCategoryType"), NaturalKeyMember]
public string PostSecondaryEventCategoryType { get; set; }
[DataMember(Name="studentUniqueId"), NaturalKeyMember]
public string StudentUniqueId { 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 = new Link
{
Rel = "ApplyTexasApplication",
Href = "/applyTexasApplications"
+ "?applicationId=" + ApplicationId
+ "&eventDate=" + JsonConvert.SerializeObject(EventDate).Replace("\"", string.Empty)
+ "&postSecondaryEventCategoryType=" + WebUtility.UrlEncode(PostSecondaryEventCategoryType)
+ "&studentUniqueId=" + WebUtility.UrlEncode(StudentUniqueId)
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return ApplicationId != default(int)
&& EventDate != default(DateTime)
&& PostSecondaryEventCategoryType != default(string)
&& StudentUniqueId != default(string)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the extension.ApplyTexasApplication table of the ApplyTexasApplication aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ApplyTexasApplication : IApplyTexasApplication, IHasETag, IApplyTexasApplicationSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ApplyTexasApplication resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _postSecondaryEventReferenceExplicitlyAssigned;
private PostSecondaryEvent.PostSecondaryEventReference _postSecondaryEventReference;
private PostSecondaryEvent.PostSecondaryEventReference ImplicitPostSecondaryEventReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_postSecondaryEventReference == null && !_postSecondaryEventReferenceExplicitlyAssigned)
_postSecondaryEventReference = new PostSecondaryEvent.PostSecondaryEventReference();
return _postSecondaryEventReference;
}
}
[DataMember(Name="postSecondaryEventReference")][NaturalKeyMember]
public PostSecondaryEvent.PostSecondaryEventReference PostSecondaryEventReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitPostSecondaryEventReference != null
&& (_postSecondaryEventReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitPostSecondaryEventReference.IsReferenceFullyDefined()))
return ImplicitPostSecondaryEventReference;
return null;
}
set
{
_postSecondaryEventReferenceExplicitlyAssigned = true;
_postSecondaryEventReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Application Identifier.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="applicationId"), NaturalKeyMember]
public int ApplicationId { get; set; }
/// <summary>
/// The date the event occurred or was recorded.
/// </summary>
// IS in a reference, NOT a lookup column
DateTime IApplyTexasApplication.EventDate
{
get
{
if (ImplicitPostSecondaryEventReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitPostSecondaryEventReference.IsReferenceFullyDefined()))
return ImplicitPostSecondaryEventReference.EventDate;
return default(DateTime);
}
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
// PostSecondaryEvent
_postSecondaryEventReferenceExplicitlyAssigned = false;
ImplicitPostSecondaryEventReference.EventDate = value;
}
}
/// <summary>
/// The PostSecondaryEvent that is logged (e.g., FAFSA application, college application, college acceptance).
/// </summary>
// IS in a reference (ApplyTexasApplication.PostSecondaryEventCategoryTypeId), IS a lookup column
string IApplyTexasApplication.PostSecondaryEventCategoryType
{
get
{
if (ImplicitPostSecondaryEventReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitPostSecondaryEventReference.IsReferenceFullyDefined()))
return ImplicitPostSecondaryEventReference.PostSecondaryEventCategoryType;
return null;
}
set
{
ImplicitPostSecondaryEventReference.PostSecondaryEventCategoryType = value;
}
}
/// <summary>
/// A unique alphanumeric code assigned to a student.
/// </summary>
// IS in a reference, NOT a lookup column
string IApplyTexasApplication.StudentUniqueId
{
get
{
if (ImplicitPostSecondaryEventReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitPostSecondaryEventReference.IsReferenceFullyDefined()))
return ImplicitPostSecondaryEventReference.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
// PostSecondaryEvent
_postSecondaryEventReferenceExplicitlyAssigned = false;
ImplicitPostSecondaryEventReference.StudentUniqueId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IApplyTexasApplication).ApplicationId != null)
hash = hash * 23 + (this as IApplyTexasApplication).ApplicationId.GetHashCode();
//Referenced Property
if ((this as IApplyTexasApplication).EventDate != null)
hash = hash * 23 + (this as IApplyTexasApplication).EventDate.GetHashCode();
//Unified Type Property
if ((this as IApplyTexasApplication).PostSecondaryEventCategoryType != null)
hash = hash * 23 + (this as IApplyTexasApplication).PostSecondaryEventCategoryType.GetHashCode();
//Referenced Property
if ((this as IApplyTexasApplication).StudentUniqueId != null)
hash = hash * 23 + (this as IApplyTexasApplication).StudentUniqueId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Date the application is due.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="applicationDeadline")]
public DateTime ApplicationDeadline { get; set; }
/// <summary>
/// Last date the application was modified.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="applicationModified")]
public DateTime ApplicationModified { get; set; }
/// <summary>
/// Current status for the application.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="applicationStatusType")]
public string ApplicationStatusType { get; set; }
/// <summary>
/// Type of the application.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="type")]
public string ApplyTexasApplicationType { get; set; }
/// <summary>
/// Did the student apply for a scholarship from the college? Y indicates applicant has a scholarship application on file associated with this admissions application.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="collegeScholarshipApplication")]
public bool? CollegeScholarshipApplication { get; set; }
/// <summary>
/// What is the current status of the scholarship application
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="collegeScholarshipApplicationStatusType")]
public string CollegeScholarshipApplicationStatusType { get; set; }
/// <summary>
/// When is the scholarship application due
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="collegeScholarshipDeadline")]
public DateTime? CollegeScholarshipDeadline { get; set; }
/// <summary>
/// Number of scholarship pages completed.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="collegeScholarshipPagesComplete")]
public int? CollegeScholarshipPagesComplete { get; set; }
/// <summary>
/// Name of destination college applied for.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="destinationCollege")]
public string DestinationCollege { get; set; }
/// <summary>
/// Status of Essay.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="essaysType")]
public string EssaysType { get; set; }
/// <summary>
/// What session are we applying for.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="session")]
public string Session { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IApplyTexasApplication)target);
}
void IMappable.Map(object target)
{
this.MapTo((IApplyTexasApplication) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IApplyTexasApplicationSynchronizationSourceSupport.IsApplicationDeadlineSupported { get { return true; } set { } }
bool IApplyTexasApplicationSynchronizationSourceSupport.IsApplicationModifiedSupported { get { return true; } set { } }
bool IApplyTexasApplicationSynchronizationSourceSupport.IsApplicationStatusTypeSupported { get { return true; } set { } }
bool IApplyTexasApplicationSynchronizationSourceSupport.IsApplyTexasApplicationTypeSupported { get { return true; } set { } }
bool IApplyTexasApplicationSynchronizationSourceSupport.IsCollegeScholarshipApplicationSupported { get { return true; } set { } }
bool IApplyTexasApplicationSynchronizationSourceSupport.IsCollegeScholarshipApplicationStatusTypeSupported { get { return true; } set { } }
bool IApplyTexasApplicationSynchronizationSourceSupport.IsCollegeScholarshipDeadlineSupported { get { return true; } set { } }
bool IApplyTexasApplicationSynchronizationSourceSupport.IsCollegeScholarshipPagesCompleteSupported { get { return true; } set { } }
bool IApplyTexasApplicationSynchronizationSourceSupport.IsDestinationCollegeSupported { get { return true; } set { } }
bool IApplyTexasApplicationSynchronizationSourceSupport.IsEssaysTypeSupported { get { return true; } set { } }
bool IApplyTexasApplicationSynchronizationSourceSupport.IsSessionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: ApplyTexasApplicationType
namespace EdFi.Ods.Api.Models.Resources.ApplyTexasApplicationType
{
/// <summary>
/// A class which represents the extension.ApplyTexasApplicationType table of the ApplyTexasApplicationType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ApplyTexasApplicationType : IApplyTexasApplicationType, IHasETag, IApplyTexasApplicationTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ApplyTexasApplicationType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for ApplyTexasApplication
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="applyTexasApplicationTypeId"), NaturalKeyMember]
public int ApplyTexasApplicationTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IApplyTexasApplicationType).ApplyTexasApplicationTypeId != null)
hash = hash * 23 + (this as IApplyTexasApplicationType).ApplyTexasApplicationTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// This column is deprecated.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description for the ApplyTexasApplication type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The value for the ApplyTexasApplication type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IApplyTexasApplicationType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IApplyTexasApplicationType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IApplyTexasApplicationTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IApplyTexasApplicationTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IApplyTexasApplicationTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: Assessment
namespace EdFi.Ods.Api.Models.Resources.Assessment
{
/// <summary>
/// Represents a reference to the Assessment resource.
/// </summary>
[DataContract]
public class AssessmentReference
{
[DataMember(Name="academicSubjectDescriptor"), NaturalKeyMember]
public string AcademicSubjectDescriptor { get; set; }
[DataMember(Name="assessedGradeLevelDescriptor"), NaturalKeyMember]
public string AssessedGradeLevelDescriptor { get; set; }
[DataMember(Name="title"), NaturalKeyMember]
public string AssessmentTitle { get; set; }
[DataMember(Name="version"), NaturalKeyMember]
public int Version { 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 = new Link
{
Rel = "Assessment",
Href = "/assessments"
+ "?academicSubjectDescriptor=" + WebUtility.UrlEncode(AcademicSubjectDescriptor)
+ "&assessedGradeLevelDescriptor=" + WebUtility.UrlEncode(AssessedGradeLevelDescriptor)
+ "&title=" + WebUtility.UrlEncode(AssessmentTitle)
+ "&version=" + Version
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return AcademicSubjectDescriptor != default(string)
&& AssessedGradeLevelDescriptor != default(string)
&& AssessmentTitle != default(string)
&& Version != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.Assessment table of the Assessment aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class Assessment : IAssessment, IHasETag, IAssessmentSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public Assessment()
{
AssessmentIdentificationCodes = new List<AssessmentIdentificationCode>();
AssessmentLanguages = new List<AssessmentLanguage>();
AssessmentPerformanceLevels = new List<AssessmentPerformanceLevel>();
AssessmentPrograms = new List<AssessmentProgram>();
AssessmentScores = new List<AssessmentScore>();
AssessmentSections = new List<AssessmentSection>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the Assessment resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _assessmentFamilyReferenceExplicitlyAssigned;
private AssessmentFamily.AssessmentFamilyReference _assessmentFamilyReference;
private AssessmentFamily.AssessmentFamilyReference ImplicitAssessmentFamilyReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_assessmentFamilyReference == null && !_assessmentFamilyReferenceExplicitlyAssigned)
_assessmentFamilyReference = new AssessmentFamily.AssessmentFamilyReference();
return _assessmentFamilyReference;
}
}
[DataMember(Name="assessmentFamilyReference")]
public AssessmentFamily.AssessmentFamilyReference AssessmentFamilyReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitAssessmentFamilyReference != null
&& (_assessmentFamilyReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitAssessmentFamilyReference.IsReferenceFullyDefined()))
return ImplicitAssessmentFamilyReference;
return null;
}
set
{
_assessmentFamilyReferenceExplicitlyAssigned = true;
_assessmentFamilyReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The description of the content or subject area (e.g., arts, mathematics, reading, stenography, or a foreign language) of an assessment. NEDM: Assessment Content, Academic Subject
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="academicSubjectDescriptor"), NaturalKeyMember]
public string AcademicSubjectDescriptor { get; set; }
/// <summary>
/// The typical grade level for which an assessment is designed. If the test assessment spans a range of grades, then this attribute holds the highest grade assessed. If only one grade level is assessed, then only this attribute is used. For example: Adult Prekindergarten First grade Second grade ...
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="assessedGradeLevelDescriptor"), NaturalKeyMember]
public string AssessedGradeLevelDescriptor { get; set; }
/// <summary>
/// The title or name of the assessment. NEDM: Assessment Title
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="title"), NaturalKeyMember]
public string AssessmentTitle { get; set; }
/// <summary>
/// The version identifier for the assessment.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="version"), NaturalKeyMember]
public int Version { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAssessment).AcademicSubjectDescriptor != null)
hash = hash * 23 + (this as IAssessment).AcademicSubjectDescriptor.GetHashCode();
// Standard Property
if ((this as IAssessment).AssessedGradeLevelDescriptor != null)
hash = hash * 23 + (this as IAssessment).AssessedGradeLevelDescriptor.GetHashCode();
// Standard Property
if ((this as IAssessment).AssessmentTitle != null)
hash = hash * 23 + (this as IAssessment).AssessmentTitle.GetHashCode();
// Standard Property
if ((this as IAssessment).Version != null)
hash = hash * 23 + (this as IAssessment).Version.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="categoryDescriptor")]
public string AssessmentCategoryDescriptor { get; set; }
/// <summary>
/// The title or name of the assessment.
/// </summary>
// IS in a reference, NOT a lookup column
string IAssessment.AssessmentFamilyTitle
{
get
{
if (ImplicitAssessmentFamilyReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAssessmentFamilyReference.IsReferenceFullyDefined()))
return ImplicitAssessmentFamilyReference.AssessmentFamilyTitle;
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
// AssessmentFamily
_assessmentFamilyReferenceExplicitlyAssigned = false;
ImplicitAssessmentFamilyReference.AssessmentFamilyTitle = value;
}
}
/// <summary>
/// Identifies the form of the assessment, for example a regular versus makeup form, multiple choice versus constructed response, etc.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="form")]
public string AssessmentForm { get; set; }
/// <summary>
/// The ID of the Assessment Period Descriptor
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="periodDescriptor")]
public string AssessmentPeriodDescriptor { get; set; }
/// <summary>
/// If the test assessment spans a range of grades, then this attribute holds the lowest grade assessed. If only one grade level is assessed, then this attribute is omitted. For example: Adult Prekindergarten First grade Second grade ...
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="lowestAssessedGradeLevelDescriptor")]
public string LowestAssessedGradeLevelDescriptor { get; set; }
/// <summary>
/// The maximum raw score achievable across all assessment items that are correct and scored at the maximum.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="maxRawScore")]
public int? MaxRawScore { get; set; }
/// <summary>
/// Namespace for the Assessment.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// Reflects the common nomenclature for an element.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="nomenclature")]
public string Nomenclature { get; set; }
/// <summary>
/// The month, day, and year that the conceptual design for the assessment was most recently revised substantially.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="revisionDate")]
public DateTime? RevisionDate { get; set; }
// -------------------------------------------------------------
// =============================================================
// One-to-one relationships
// -------------------------------------------------------------
/// <summary>
/// contentStandard
/// </summary>
[DataMember(Name = "contentStandard")]
public AssessmentContentStandard AssessmentContentStandard { get; set; }
IAssessmentContentStandard IAssessment.AssessmentContentStandard
{
get { return AssessmentContentStandard; }
set { AssessmentContentStandard = (AssessmentContentStandard) value; }
}
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<AssessmentIdentificationCode> _assessmentIdentificationCodes;
private IList<IAssessmentIdentificationCode> _assessmentIdentificationCodesCovariant;
[DataMember(Name="identificationCodes")]
public IList<AssessmentIdentificationCode> AssessmentIdentificationCodes
{
get { return _assessmentIdentificationCodes; }
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 ListAdapterWithAddNotifications<AssessmentIdentificationCode>(value,
(s, e) => ((IAssessmentIdentificationCode)e.Item).Assessment = this);
_assessmentIdentificationCodes = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentIdentificationCode, AssessmentIdentificationCode>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentIdentificationCode)e.Item).Assessment = this;
_assessmentIdentificationCodesCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentIdentificationCode> IAssessment.AssessmentIdentificationCodes
{
get { return _assessmentIdentificationCodesCovariant; }
set { AssessmentIdentificationCodes = new List<AssessmentIdentificationCode>(value.Cast<AssessmentIdentificationCode>()); }
}
private IList<AssessmentLanguage> _assessmentLanguages;
private IList<IAssessmentLanguage> _assessmentLanguagesCovariant;
[DataMember(Name="languages")]
public IList<AssessmentLanguage> AssessmentLanguages
{
get { return _assessmentLanguages; }
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 ListAdapterWithAddNotifications<AssessmentLanguage>(value,
(s, e) => ((IAssessmentLanguage)e.Item).Assessment = this);
_assessmentLanguages = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentLanguage, AssessmentLanguage>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentLanguage)e.Item).Assessment = this;
_assessmentLanguagesCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentLanguage> IAssessment.AssessmentLanguages
{
get { return _assessmentLanguagesCovariant; }
set { AssessmentLanguages = new List<AssessmentLanguage>(value.Cast<AssessmentLanguage>()); }
}
private IList<AssessmentPerformanceLevel> _assessmentPerformanceLevels;
private IList<IAssessmentPerformanceLevel> _assessmentPerformanceLevelsCovariant;
[DataMember(Name="performanceLevels")]
public IList<AssessmentPerformanceLevel> AssessmentPerformanceLevels
{
get { return _assessmentPerformanceLevels; }
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 ListAdapterWithAddNotifications<AssessmentPerformanceLevel>(value,
(s, e) => ((IAssessmentPerformanceLevel)e.Item).Assessment = this);
_assessmentPerformanceLevels = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentPerformanceLevel, AssessmentPerformanceLevel>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentPerformanceLevel)e.Item).Assessment = this;
_assessmentPerformanceLevelsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentPerformanceLevel> IAssessment.AssessmentPerformanceLevels
{
get { return _assessmentPerformanceLevelsCovariant; }
set { AssessmentPerformanceLevels = new List<AssessmentPerformanceLevel>(value.Cast<AssessmentPerformanceLevel>()); }
}
private IList<AssessmentProgram> _assessmentPrograms;
private IList<IAssessmentProgram> _assessmentProgramsCovariant;
[DataMember(Name="programs")]
public IList<AssessmentProgram> AssessmentPrograms
{
get { return _assessmentPrograms; }
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 ListAdapterWithAddNotifications<AssessmentProgram>(value,
(s, e) => ((IAssessmentProgram)e.Item).Assessment = this);
_assessmentPrograms = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentProgram, AssessmentProgram>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentProgram)e.Item).Assessment = this;
_assessmentProgramsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentProgram> IAssessment.AssessmentPrograms
{
get { return _assessmentProgramsCovariant; }
set { AssessmentPrograms = new List<AssessmentProgram>(value.Cast<AssessmentProgram>()); }
}
private IList<AssessmentScore> _assessmentScores;
private IList<IAssessmentScore> _assessmentScoresCovariant;
[DataMember(Name="scores")]
public IList<AssessmentScore> AssessmentScores
{
get { return _assessmentScores; }
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 ListAdapterWithAddNotifications<AssessmentScore>(value,
(s, e) => ((IAssessmentScore)e.Item).Assessment = this);
_assessmentScores = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentScore, AssessmentScore>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentScore)e.Item).Assessment = this;
_assessmentScoresCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentScore> IAssessment.AssessmentScores
{
get { return _assessmentScoresCovariant; }
set { AssessmentScores = new List<AssessmentScore>(value.Cast<AssessmentScore>()); }
}
private IList<AssessmentSection> _assessmentSections;
private IList<IAssessmentSection> _assessmentSectionsCovariant;
[DataMember(Name="sections")]
public IList<AssessmentSection> AssessmentSections
{
get { return _assessmentSections; }
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 ListAdapterWithAddNotifications<AssessmentSection>(value,
(s, e) => ((IAssessmentSection)e.Item).Assessment = this);
_assessmentSections = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentSection, AssessmentSection>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentSection)e.Item).Assessment = this;
_assessmentSectionsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentSection> IAssessment.AssessmentSections
{
get { return _assessmentSectionsCovariant; }
set { AssessmentSections = new List<AssessmentSection>(value.Cast<AssessmentSection>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_assessmentIdentificationCodes != null) foreach (var item in _assessmentIdentificationCodes)
{
item.Assessment = this;
}
if (_assessmentLanguages != null) foreach (var item in _assessmentLanguages)
{
item.Assessment = this;
}
if (_assessmentPerformanceLevels != null) foreach (var item in _assessmentPerformanceLevels)
{
item.Assessment = this;
}
if (_assessmentPrograms != null) foreach (var item in _assessmentPrograms)
{
item.Assessment = this;
}
if (_assessmentScores != null) foreach (var item in _assessmentScores)
{
item.Assessment = this;
}
if (_assessmentSections != null) foreach (var item in _assessmentSections)
{
item.Assessment = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessment)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessment) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentSynchronizationSourceSupport.IsAssessmentCategoryDescriptorSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsAssessmentContentStandardSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsAssessmentFamilyTitleSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsAssessmentFormSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsAssessmentIdentificationCodesSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsAssessmentLanguagesSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsAssessmentPerformanceLevelsSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsAssessmentPeriodDescriptorSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsAssessmentProgramsSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsAssessmentScoresSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsAssessmentSectionsSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsLowestAssessedGradeLevelDescriptorSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsMaxRawScoreSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsNomenclatureSupported { get { return true; } set { } }
bool IAssessmentSynchronizationSourceSupport.IsRevisionDateSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<IAssessmentIdentificationCode, bool> IAssessmentSynchronizationSourceSupport.IsAssessmentIdentificationCodeIncluded
{
get { return null; }
set { }
}
Func<IAssessmentLanguage, bool> IAssessmentSynchronizationSourceSupport.IsAssessmentLanguageIncluded
{
get { return null; }
set { }
}
Func<IAssessmentPerformanceLevel, bool> IAssessmentSynchronizationSourceSupport.IsAssessmentPerformanceLevelIncluded
{
get { return null; }
set { }
}
Func<IAssessmentProgram, bool> IAssessmentSynchronizationSourceSupport.IsAssessmentProgramIncluded
{
get { return null; }
set { }
}
Func<IAssessmentScore, bool> IAssessmentSynchronizationSourceSupport.IsAssessmentScoreIncluded
{
get { return null; }
set { }
}
Func<IAssessmentSection, bool> IAssessmentSynchronizationSourceSupport.IsAssessmentSectionIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentContentStandard table of the Assessment aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentContentStandard : IAssessmentContentStandard, IAssessmentContentStandardSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public AssessmentContentStandard()
{
AssessmentContentStandardAuthors = new List<AssessmentContentStandardAuthor>();
}
// -------------------------------------------------------------
// =============================================================
// References
// -------------------------------------------------------------
private bool _mandatingEducationOrganizationReferenceExplicitlyAssigned;
private EducationOrganization.EducationOrganizationReference _mandatingEducationOrganizationReference;
private EducationOrganization.EducationOrganizationReference ImplicitMandatingEducationOrganizationReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_mandatingEducationOrganizationReference == null && !_mandatingEducationOrganizationReferenceExplicitlyAssigned)
_mandatingEducationOrganizationReference = new EducationOrganization.EducationOrganizationReference();
return _mandatingEducationOrganizationReference;
}
}
[DataMember(Name="mandatingEducationOrganizationReference")]
public EducationOrganization.EducationOrganizationReference MandatingEducationOrganizationReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitMandatingEducationOrganizationReference != null
&& (_mandatingEducationOrganizationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitMandatingEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitMandatingEducationOrganizationReference;
return null;
}
set
{
_mandatingEducationOrganizationReferenceExplicitlyAssigned = true;
_mandatingEducationOrganizationReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessment _assessment;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessment IAssessmentContentStandard.Assessment
{
get { return _assessment; }
set { _assessment = value; }
}
internal IAssessment Assessment
{
set { _assessment = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessment != null)
hash = hash * 23 + _assessment.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The beginning of the period during which this learning standard document is intended for use.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="beginDate")]
public DateTime? BeginDate { get; set; }
/// <summary>
/// The end of the period during which this learning standard document is intended for use.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="endDate")]
public DateTime? EndDate { get; set; }
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int? IAssessmentContentStandard.MandatingEducationOrganizationId
{
get
{
if (ImplicitMandatingEducationOrganizationReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitMandatingEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitMandatingEducationOrganizationReference.EducationOrganizationId;
return default(int?);
}
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
// MandatingEducationOrganization
_mandatingEducationOrganizationReferenceExplicitlyAssigned = false;
ImplicitMandatingEducationOrganizationReference.EducationOrganizationId = value.GetValueOrDefault();
}
}
/// <summary>
/// The date on which this content was first published.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="publicationDate")]
public DateTime? PublicationDate { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="publicationStatusType")]
public string PublicationStatusType { get; set; }
/// <summary>
/// The year at which this content was first published.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="publicationYear")]
public short? PublicationYear { get; set; }
/// <summary>
/// The name of the content standard, for example Common Core.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="title")]
public string Title { get; set; }
/// <summary>
/// The public web site address (URL), file, or ftp locator.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="uri")]
public string URI { get; set; }
/// <summary>
/// The version identifier for the content.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="version")]
public string Version { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<AssessmentContentStandardAuthor> _assessmentContentStandardAuthors;
private IList<IAssessmentContentStandardAuthor> _assessmentContentStandardAuthorsCovariant;
[DataMember(Name="authors")]
public IList<AssessmentContentStandardAuthor> AssessmentContentStandardAuthors
{
get { return _assessmentContentStandardAuthors; }
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 ListAdapterWithAddNotifications<AssessmentContentStandardAuthor>(value,
(s, e) => ((IAssessmentContentStandardAuthor)e.Item).AssessmentContentStandard = this);
_assessmentContentStandardAuthors = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentContentStandardAuthor, AssessmentContentStandardAuthor>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentContentStandardAuthor)e.Item).AssessmentContentStandard = this;
_assessmentContentStandardAuthorsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentContentStandardAuthor> IAssessmentContentStandard.AssessmentContentStandardAuthors
{
get { return _assessmentContentStandardAuthorsCovariant; }
set { AssessmentContentStandardAuthors = new List<AssessmentContentStandardAuthor>(value.Cast<AssessmentContentStandardAuthor>()); }
}
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_assessmentContentStandardAuthors != null) foreach (var item in _assessmentContentStandardAuthors)
{
item.AssessmentContentStandard = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentContentStandard)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentContentStandard) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentContentStandardSynchronizationSourceSupport.IsAssessmentContentStandardAuthorsSupported { get { return true; } set { } }
bool IAssessmentContentStandardSynchronizationSourceSupport.IsBeginDateSupported { get { return true; } set { } }
bool IAssessmentContentStandardSynchronizationSourceSupport.IsEndDateSupported { get { return true; } set { } }
bool IAssessmentContentStandardSynchronizationSourceSupport.IsMandatingEducationOrganizationIdSupported { get { return true; } set { } }
bool IAssessmentContentStandardSynchronizationSourceSupport.IsPublicationDateSupported { get { return true; } set { } }
bool IAssessmentContentStandardSynchronizationSourceSupport.IsPublicationStatusTypeSupported { get { return true; } set { } }
bool IAssessmentContentStandardSynchronizationSourceSupport.IsPublicationYearSupported { get { return true; } set { } }
bool IAssessmentContentStandardSynchronizationSourceSupport.IsTitleSupported { get { return true; } set { } }
bool IAssessmentContentStandardSynchronizationSourceSupport.IsURISupported { get { return true; } set { } }
bool IAssessmentContentStandardSynchronizationSourceSupport.IsVersionSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<IAssessmentContentStandardAuthor, bool> IAssessmentContentStandardSynchronizationSourceSupport.IsAssessmentContentStandardAuthorIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentContentStandardAuthor table of the Assessment aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentContentStandardAuthor : IAssessmentContentStandardAuthor, IAssessmentContentStandardAuthorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessmentContentStandard _assessmentContentStandard;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessmentContentStandard IAssessmentContentStandardAuthor.AssessmentContentStandard
{
get { return _assessmentContentStandard; }
set { _assessmentContentStandard = value; }
}
internal IAssessmentContentStandard AssessmentContentStandard
{
set { _assessmentContentStandard = value; }
}
/// <summary>
/// The person or organization chiefly responsible for the intellectual content of the standard.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="author"), NaturalKeyMember]
public string Author { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessmentContentStandard != null)
hash = hash * 23 + _assessmentContentStandard.GetHashCode();
// Standard Property
if ((this as IAssessmentContentStandardAuthor).Author != null)
hash = hash * 23 + (this as IAssessmentContentStandardAuthor).Author.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentContentStandardAuthor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentContentStandardAuthor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentIdentificationCode table of the Assessment aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentIdentificationCode : IAssessmentIdentificationCode, IAssessmentIdentificationCodeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessment _assessment;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessment IAssessmentIdentificationCode.Assessment
{
get { return _assessment; }
set { _assessment = value; }
}
internal IAssessment Assessment
{
set { _assessment = value; }
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="assessmentIdentificationSystemDescriptor"), NaturalKeyMember]
public string AssessmentIdentificationSystemDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessment != null)
hash = hash * 23 + _assessment.GetHashCode();
// Standard Property
if ((this as IAssessmentIdentificationCode).AssessmentIdentificationSystemDescriptor != null)
hash = hash * 23 + (this as IAssessmentIdentificationCode).AssessmentIdentificationSystemDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The organization code or name assigning the assessment identification code.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assigningOrganizationIdentificationCode")]
public string AssigningOrganizationIdentificationCode { get; set; }
/// <summary>
/// A unique number or alphanumeric code assigned to a space, room, site, building, individual, organization, program, or institution by a school, school system, a state, or other agency or entity.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="identificationCode")]
public string IdentificationCode { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentIdentificationCode)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentIdentificationCode) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentIdentificationCodeSynchronizationSourceSupport.IsAssigningOrganizationIdentificationCodeSupported { get { return true; } set { } }
bool IAssessmentIdentificationCodeSynchronizationSourceSupport.IsIdentificationCodeSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentLanguage table of the Assessment aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentLanguage : IAssessmentLanguage, IAssessmentLanguageSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessment _assessment;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessment IAssessmentLanguage.Assessment
{
get { return _assessment; }
set { _assessment = value; }
}
internal IAssessment Assessment
{
set { _assessment = value; }
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="languageDescriptor"), NaturalKeyMember]
public string LanguageDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessment != null)
hash = hash * 23 + _assessment.GetHashCode();
// Standard Property
if ((this as IAssessmentLanguage).LanguageDescriptor != null)
hash = hash * 23 + (this as IAssessmentLanguage).LanguageDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentLanguage)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentLanguage) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentPerformanceLevel table of the Assessment aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentPerformanceLevel : IAssessmentPerformanceLevel, IAssessmentPerformanceLevelSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessment _assessment;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessment IAssessmentPerformanceLevel.Assessment
{
get { return _assessment; }
set { _assessment = value; }
}
internal IAssessment Assessment
{
set { _assessment = value; }
}
/// <summary>
/// Key for AssessmentReportingMethod
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="assessmentReportingMethodType"), NaturalKeyMember]
public string AssessmentReportingMethodType { get; set; }
/// <summary>
/// The performance level(s) defined for the assessment.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="performanceLevelDescriptor"), NaturalKeyMember]
public string PerformanceLevelDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessment != null)
hash = hash * 23 + _assessment.GetHashCode();
// Standard Property
if ((this as IAssessmentPerformanceLevel).AssessmentReportingMethodType != null)
hash = hash * 23 + (this as IAssessmentPerformanceLevel).AssessmentReportingMethodType.GetHashCode();
// Standard Property
if ((this as IAssessmentPerformanceLevel).PerformanceLevelDescriptor != null)
hash = hash * 23 + (this as IAssessmentPerformanceLevel).PerformanceLevelDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The maximum score to make the indicated level of performance.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="maximumScore")]
public string MaximumScore { get; set; }
/// <summary>
/// The minimum score required to make the indicated level of performance.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="minimumScore")]
public string MinimumScore { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="resultDatatypeType")]
public string ResultDatatypeType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentPerformanceLevel)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentPerformanceLevel) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentPerformanceLevelSynchronizationSourceSupport.IsMaximumScoreSupported { get { return true; } set { } }
bool IAssessmentPerformanceLevelSynchronizationSourceSupport.IsMinimumScoreSupported { get { return true; } set { } }
bool IAssessmentPerformanceLevelSynchronizationSourceSupport.IsResultDatatypeTypeSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentProgram table of the Assessment aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentProgram : IAssessmentProgram, IAssessmentProgramSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// References
// -------------------------------------------------------------
private bool _programReferenceExplicitlyAssigned;
private Program.ProgramReference _programReference;
private Program.ProgramReference ImplicitProgramReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_programReference == null && !_programReferenceExplicitlyAssigned)
_programReference = new Program.ProgramReference();
return _programReference;
}
}
[DataMember(Name="programReference")][NaturalKeyMember]
public Program.ProgramReference ProgramReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitProgramReference != null
&& (_programReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitProgramReference.IsReferenceFullyDefined()))
return ImplicitProgramReference;
return null;
}
set
{
_programReferenceExplicitlyAssigned = true;
_programReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessment _assessment;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessment IAssessmentProgram.Assessment
{
get { return _assessment; }
set { _assessment = value; }
}
internal IAssessment Assessment
{
set { _assessment = value; }
}
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IAssessmentProgram.EducationOrganizationId
{
get
{
if (ImplicitProgramReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitProgramReference.IsReferenceFullyDefined()))
return ImplicitProgramReference.EducationOrganizationId;
return default(int);
}
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
// Program
_programReferenceExplicitlyAssigned = false;
ImplicitProgramReference.EducationOrganizationId = value;
}
}
/// <summary>
/// The formal name of the program of instruction, training, services or benefits available through federal, state, or local agencies.
/// </summary>
// IS in a reference, NOT a lookup column
string IAssessmentProgram.ProgramName
{
get
{
if (ImplicitProgramReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitProgramReference.IsReferenceFullyDefined()))
return ImplicitProgramReference.ProgramName;
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
// Program
_programReferenceExplicitlyAssigned = false;
ImplicitProgramReference.ProgramName = value;
}
}
/// <summary>
/// Key for Program
/// </summary>
// IS in a reference (AssessmentProgram.ProgramTypeId), IS a lookup column
string IAssessmentProgram.ProgramType
{
get
{
if (ImplicitProgramReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitProgramReference.IsReferenceFullyDefined()))
return ImplicitProgramReference.ProgramType;
return null;
}
set
{
ImplicitProgramReference.ProgramType = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessment != null)
hash = hash * 23 + _assessment.GetHashCode();
//Referenced Property
if ((this as IAssessmentProgram).EducationOrganizationId != null)
hash = hash * 23 + (this as IAssessmentProgram).EducationOrganizationId.GetHashCode();
//Referenced Property
if ((this as IAssessmentProgram).ProgramName != null)
hash = hash * 23 + (this as IAssessmentProgram).ProgramName.GetHashCode();
//Unified Type Property
if ((this as IAssessmentProgram).ProgramType != null)
hash = hash * 23 + (this as IAssessmentProgram).ProgramType.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentProgram)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentProgram) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentScore table of the Assessment aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentScore : IAssessmentScore, IAssessmentScoreSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessment _assessment;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessment IAssessmentScore.Assessment
{
get { return _assessment; }
set { _assessment = value; }
}
internal IAssessment Assessment
{
set { _assessment = value; }
}
/// <summary>
/// Key for AssessmentReportingMethod
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="assessmentReportingMethodType"), NaturalKeyMember]
public string AssessmentReportingMethodType { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessment != null)
hash = hash * 23 + _assessment.GetHashCode();
// Standard Property
if ((this as IAssessmentScore).AssessmentReportingMethodType != null)
hash = hash * 23 + (this as IAssessmentScore).AssessmentReportingMethodType.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The maximum score possible on the assessment.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="maximumScore")]
public string MaximumScore { get; set; }
/// <summary>
/// The minimum score possible on the assessment.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="minimumScore")]
public string MinimumScore { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="resultDatatypeType")]
public string ResultDatatypeType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentScore)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentScore) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentScoreSynchronizationSourceSupport.IsMaximumScoreSupported { get { return true; } set { } }
bool IAssessmentScoreSynchronizationSourceSupport.IsMinimumScoreSupported { get { return true; } set { } }
bool IAssessmentScoreSynchronizationSourceSupport.IsResultDatatypeTypeSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentSection table of the Assessment aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentSection : IAssessmentSection, IAssessmentSectionSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// References
// -------------------------------------------------------------
private bool _sectionReferenceExplicitlyAssigned;
private Section.SectionReference _sectionReference;
private Section.SectionReference ImplicitSectionReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_sectionReference == null && !_sectionReferenceExplicitlyAssigned)
_sectionReference = new Section.SectionReference();
return _sectionReference;
}
}
[DataMember(Name="sectionReference")][NaturalKeyMember]
public Section.SectionReference SectionReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitSectionReference != null
&& (_sectionReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference;
return null;
}
set
{
_sectionReferenceExplicitlyAssigned = true;
_sectionReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessment _assessment;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessment IAssessmentSection.Assessment
{
get { return _assessment; }
set { _assessment = value; }
}
internal IAssessment Assessment
{
set { _assessment = value; }
}
/// <summary>
/// An indication of the portion of a typical daily session in which students receive instruction in a specified subject (e.g., morning, sixth period, block period, or AB schedules). NEDM: Class Period
/// </summary>
// IS in a reference, NOT a lookup column
string IAssessmentSection.ClassPeriodName
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.ClassPeriodName;
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.ClassPeriodName = value;
}
}
/// <summary>
/// A unique number or alphanumeric code assigned to a room by a school, school system, state, or other agency or entity.
/// </summary>
// IS in a reference, NOT a lookup column
string IAssessmentSection.ClassroomIdentificationCode
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.ClassroomIdentificationCode;
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.ClassroomIdentificationCode = value;
}
}
/// <summary>
/// The local code assigned by the LEA or Campus that identifies the organization of subject matter and related learning experiences provided for the instruction of students.
/// </summary>
// IS in a reference, NOT a lookup column
string IAssessmentSection.LocalCourseCode
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.LocalCourseCode;
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.LocalCourseCode = value;
}
}
/// <summary>
/// School Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IAssessmentSection.SchoolId
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.SchoolId;
return default(int);
}
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.SchoolId = value;
}
}
/// <summary>
/// The identifier for the school year.
/// </summary>
// IS in a reference, NOT a lookup column
short IAssessmentSection.SchoolYear
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.SchoolYear;
return default(short);
}
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.SchoolYear = value;
}
}
/// <summary>
/// When a section is part of a sequence of parts for a course, the number if the sequence. If the course has only onle part, the value of this section attribute should be 1.
/// </summary>
// IS in a reference, NOT a lookup column
int IAssessmentSection.SequenceOfCourse
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.SequenceOfCourse;
return default(int);
}
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.SequenceOfCourse = value;
}
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// IS in a reference (AssessmentSection.TermDescriptorId), IS a lookup column
string IAssessmentSection.TermDescriptor
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.TermDescriptor;
return null;
}
set
{
ImplicitSectionReference.TermDescriptor = value;
}
}
/// <summary>
/// A unique identifier for the section, that is defined for a campus by the classroom, the subjects taught, and the instructors that are assigned. NEDM: Unique Course Code
/// </summary>
// IS in a reference, NOT a lookup column
string IAssessmentSection.UniqueSectionCode
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.UniqueSectionCode;
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.UniqueSectionCode = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessment != null)
hash = hash * 23 + _assessment.GetHashCode();
//Referenced Property
if ((this as IAssessmentSection).ClassPeriodName != null)
hash = hash * 23 + (this as IAssessmentSection).ClassPeriodName.GetHashCode();
//Referenced Property
if ((this as IAssessmentSection).ClassroomIdentificationCode != null)
hash = hash * 23 + (this as IAssessmentSection).ClassroomIdentificationCode.GetHashCode();
//Referenced Property
if ((this as IAssessmentSection).LocalCourseCode != null)
hash = hash * 23 + (this as IAssessmentSection).LocalCourseCode.GetHashCode();
//Referenced Property
if ((this as IAssessmentSection).SchoolId != null)
hash = hash * 23 + (this as IAssessmentSection).SchoolId.GetHashCode();
//Referenced Property
if ((this as IAssessmentSection).SchoolYear != null)
hash = hash * 23 + (this as IAssessmentSection).SchoolYear.GetHashCode();
//Referenced Property
if ((this as IAssessmentSection).SequenceOfCourse != null)
hash = hash * 23 + (this as IAssessmentSection).SequenceOfCourse.GetHashCode();
//Unified Type Property
if ((this as IAssessmentSection).TermDescriptor != null)
hash = hash * 23 + (this as IAssessmentSection).TermDescriptor.GetHashCode();
//Referenced Property
if ((this as IAssessmentSection).UniqueSectionCode != null)
hash = hash * 23 + (this as IAssessmentSection).UniqueSectionCode.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentSection)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentSection) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
}
// Aggregate: AssessmentCategoryDescriptor
namespace EdFi.Ods.Api.Models.Resources.AssessmentCategoryDescriptor
{
/// <summary>
/// A class which represents the edfi.AssessmentCategoryDescriptor table of the AssessmentCategoryDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentCategoryDescriptor : IAssessmentCategoryDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IAssessmentCategoryDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AssessmentCategoryDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assessmentCategoryDescriptorId"), NaturalKeyMember]
public int AssessmentCategoryDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return AssessmentCategoryDescriptorId; }
set { AssessmentCategoryDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IAssessmentCategoryDescriptor).AssessmentCategoryDescriptorId != null)
hash = hash * 23 + (this as IAssessmentCategoryDescriptor).AssessmentCategoryDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Key for AssessmentCategoryType
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="assessmentCategoryType")]
public string AssessmentCategoryType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentCategoryDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentCategoryDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentCategoryDescriptorSynchronizationSourceSupport.IsAssessmentCategoryTypeSupported { get { return true; } set { } }
bool IAssessmentCategoryDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAssessmentCategoryDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAssessmentCategoryDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IAssessmentCategoryDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IAssessmentCategoryDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAssessmentCategoryDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IAssessmentCategoryDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AssessmentCategoryType
namespace EdFi.Ods.Api.Models.Resources.AssessmentCategoryType
{
/// <summary>
/// A class which represents the edfi.AssessmentCategoryType table of the AssessmentCategoryType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentCategoryType : IAssessmentCategoryType, IHasETag, IAssessmentCategoryTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AssessmentCategoryType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for AssessmentCategoryType
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assessmentCategoryTypeId"), NaturalKeyMember]
public int AssessmentCategoryTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAssessmentCategoryType).AssessmentCategoryTypeId != null)
hash = hash * 23 + (this as IAssessmentCategoryType).AssessmentCategoryTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for AssessmentCategoryType type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the assessment category type
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentCategoryType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentCategoryType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentCategoryTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAssessmentCategoryTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAssessmentCategoryTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AssessmentFamily
namespace EdFi.Ods.Api.Models.Resources.AssessmentFamily
{
/// <summary>
/// Represents a reference to the AssessmentFamily resource.
/// </summary>
[DataContract]
public class AssessmentFamilyReference
{
[DataMember(Name="title"), NaturalKeyMember]
public string AssessmentFamilyTitle { 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 = new Link
{
Rel = "AssessmentFamily",
Href = "/assessmentFamilies"
+ "?title=" + WebUtility.UrlEncode(AssessmentFamilyTitle)
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return AssessmentFamilyTitle != default(string)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.AssessmentFamily table of the AssessmentFamily aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentFamily : IAssessmentFamily, IHasETag, IAssessmentFamilySynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public AssessmentFamily()
{
AssessmentFamilyAssessmentPeriods = new List<AssessmentFamilyAssessmentPeriod>();
AssessmentFamilyIdentificationCodes = new List<AssessmentFamilyIdentificationCode>();
AssessmentFamilyLanguages = new List<AssessmentFamilyLanguage>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the AssessmentFamily resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _parentAssessmentFamilyReferenceExplicitlyAssigned;
private AssessmentFamilyReference _parentAssessmentFamilyReference;
private AssessmentFamilyReference ImplicitParentAssessmentFamilyReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_parentAssessmentFamilyReference == null && !_parentAssessmentFamilyReferenceExplicitlyAssigned)
_parentAssessmentFamilyReference = new AssessmentFamilyReference();
return _parentAssessmentFamilyReference;
}
}
[DataMember(Name="parentAssessmentFamilyReference")]
public AssessmentFamilyReference ParentAssessmentFamilyReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitParentAssessmentFamilyReference != null
&& (_parentAssessmentFamilyReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitParentAssessmentFamilyReference.IsReferenceFullyDefined()))
return ImplicitParentAssessmentFamilyReference;
return null;
}
set
{
_parentAssessmentFamilyReferenceExplicitlyAssigned = true;
_parentAssessmentFamilyReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The title or name of the assessment family.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="title"), NaturalKeyMember]
public string AssessmentFamilyTitle { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAssessmentFamily).AssessmentFamilyTitle != null)
hash = hash * 23 + (this as IAssessmentFamily).AssessmentFamilyTitle.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Key for AcademicSubject
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="academicSubjectDescriptor")]
public string AcademicSubjectDescriptor { get; set; }
/// <summary>
/// Key for GradeLevel
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="assessedGradeLevelDescriptor")]
public string AssessedGradeLevelDescriptor { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="assessmentCategoryDescriptor")]
public string AssessmentCategoryDescriptor { get; set; }
/// <summary>
/// Key for GradeLevel
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="lowestAssessedGradeLevelDescriptor")]
public string LowestAssessedGradeLevelDescriptor { get; set; }
/// <summary>
/// Namespace for the Assessments in this AssessmentFamily.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// Reflects the common nomenclature for an element.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="nomenclature")]
public string Nomenclature { get; set; }
/// <summary>
/// The title or name of the assessment family.
/// </summary>
// IS in a reference, NOT a lookup column
string IAssessmentFamily.ParentAssessmentFamilyTitle
{
get
{
if (ImplicitParentAssessmentFamilyReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitParentAssessmentFamilyReference.IsReferenceFullyDefined()))
return ImplicitParentAssessmentFamilyReference.AssessmentFamilyTitle;
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
// ParentAssessmentFamily
_parentAssessmentFamilyReferenceExplicitlyAssigned = false;
ImplicitParentAssessmentFamilyReference.AssessmentFamilyTitle = value;
}
}
/// <summary>
/// The month, day, and year that the conceptual design for the AssessmentFamily was most recently revised substantially.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="revisionDate")]
public DateTime? RevisionDate { get; set; }
/// <summary>
/// The version identifier for the assessment.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="version")]
public int? Version { get; set; }
// -------------------------------------------------------------
// =============================================================
// One-to-one relationships
// -------------------------------------------------------------
/// <summary>
/// contentStandard
/// </summary>
[DataMember(Name = "contentStandard")]
public AssessmentFamilyContentStandard AssessmentFamilyContentStandard { get; set; }
IAssessmentFamilyContentStandard IAssessmentFamily.AssessmentFamilyContentStandard
{
get { return AssessmentFamilyContentStandard; }
set { AssessmentFamilyContentStandard = (AssessmentFamilyContentStandard) value; }
}
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<AssessmentFamilyAssessmentPeriod> _assessmentFamilyAssessmentPeriods;
private IList<IAssessmentFamilyAssessmentPeriod> _assessmentFamilyAssessmentPeriodsCovariant;
[DataMember(Name="assessmentPeriods")]
public IList<AssessmentFamilyAssessmentPeriod> AssessmentFamilyAssessmentPeriods
{
get { return _assessmentFamilyAssessmentPeriods; }
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 ListAdapterWithAddNotifications<AssessmentFamilyAssessmentPeriod>(value,
(s, e) => ((IAssessmentFamilyAssessmentPeriod)e.Item).AssessmentFamily = this);
_assessmentFamilyAssessmentPeriods = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentFamilyAssessmentPeriod, AssessmentFamilyAssessmentPeriod>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentFamilyAssessmentPeriod)e.Item).AssessmentFamily = this;
_assessmentFamilyAssessmentPeriodsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentFamilyAssessmentPeriod> IAssessmentFamily.AssessmentFamilyAssessmentPeriods
{
get { return _assessmentFamilyAssessmentPeriodsCovariant; }
set { AssessmentFamilyAssessmentPeriods = new List<AssessmentFamilyAssessmentPeriod>(value.Cast<AssessmentFamilyAssessmentPeriod>()); }
}
private IList<AssessmentFamilyIdentificationCode> _assessmentFamilyIdentificationCodes;
private IList<IAssessmentFamilyIdentificationCode> _assessmentFamilyIdentificationCodesCovariant;
[DataMember(Name="identificationCodes")]
public IList<AssessmentFamilyIdentificationCode> AssessmentFamilyIdentificationCodes
{
get { return _assessmentFamilyIdentificationCodes; }
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 ListAdapterWithAddNotifications<AssessmentFamilyIdentificationCode>(value,
(s, e) => ((IAssessmentFamilyIdentificationCode)e.Item).AssessmentFamily = this);
_assessmentFamilyIdentificationCodes = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentFamilyIdentificationCode, AssessmentFamilyIdentificationCode>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentFamilyIdentificationCode)e.Item).AssessmentFamily = this;
_assessmentFamilyIdentificationCodesCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentFamilyIdentificationCode> IAssessmentFamily.AssessmentFamilyIdentificationCodes
{
get { return _assessmentFamilyIdentificationCodesCovariant; }
set { AssessmentFamilyIdentificationCodes = new List<AssessmentFamilyIdentificationCode>(value.Cast<AssessmentFamilyIdentificationCode>()); }
}
private IList<AssessmentFamilyLanguage> _assessmentFamilyLanguages;
private IList<IAssessmentFamilyLanguage> _assessmentFamilyLanguagesCovariant;
[DataMember(Name="languages")]
public IList<AssessmentFamilyLanguage> AssessmentFamilyLanguages
{
get { return _assessmentFamilyLanguages; }
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 ListAdapterWithAddNotifications<AssessmentFamilyLanguage>(value,
(s, e) => ((IAssessmentFamilyLanguage)e.Item).AssessmentFamily = this);
_assessmentFamilyLanguages = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentFamilyLanguage, AssessmentFamilyLanguage>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentFamilyLanguage)e.Item).AssessmentFamily = this;
_assessmentFamilyLanguagesCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentFamilyLanguage> IAssessmentFamily.AssessmentFamilyLanguages
{
get { return _assessmentFamilyLanguagesCovariant; }
set { AssessmentFamilyLanguages = new List<AssessmentFamilyLanguage>(value.Cast<AssessmentFamilyLanguage>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_assessmentFamilyAssessmentPeriods != null) foreach (var item in _assessmentFamilyAssessmentPeriods)
{
item.AssessmentFamily = this;
}
if (_assessmentFamilyIdentificationCodes != null) foreach (var item in _assessmentFamilyIdentificationCodes)
{
item.AssessmentFamily = this;
}
if (_assessmentFamilyLanguages != null) foreach (var item in _assessmentFamilyLanguages)
{
item.AssessmentFamily = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentFamily)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentFamily) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentFamilySynchronizationSourceSupport.IsAcademicSubjectDescriptorSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsAssessedGradeLevelDescriptorSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsAssessmentCategoryDescriptorSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsAssessmentFamilyAssessmentPeriodsSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsAssessmentFamilyContentStandardSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsAssessmentFamilyIdentificationCodesSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsAssessmentFamilyLanguagesSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsLowestAssessedGradeLevelDescriptorSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsNomenclatureSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsParentAssessmentFamilyTitleSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsRevisionDateSupported { get { return true; } set { } }
bool IAssessmentFamilySynchronizationSourceSupport.IsVersionSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<IAssessmentFamilyAssessmentPeriod, bool> IAssessmentFamilySynchronizationSourceSupport.IsAssessmentFamilyAssessmentPeriodIncluded
{
get { return null; }
set { }
}
Func<IAssessmentFamilyIdentificationCode, bool> IAssessmentFamilySynchronizationSourceSupport.IsAssessmentFamilyIdentificationCodeIncluded
{
get { return null; }
set { }
}
Func<IAssessmentFamilyLanguage, bool> IAssessmentFamilySynchronizationSourceSupport.IsAssessmentFamilyLanguageIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentFamilyAssessmentPeriod table of the AssessmentFamily aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentFamilyAssessmentPeriod : IAssessmentFamilyAssessmentPeriod, IAssessmentFamilyAssessmentPeriodSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessmentFamily _assessmentFamily;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessmentFamily IAssessmentFamilyAssessmentPeriod.AssessmentFamily
{
get { return _assessmentFamily; }
set { _assessmentFamily = value; }
}
internal IAssessmentFamily AssessmentFamily
{
set { _assessmentFamily = value; }
}
/// <summary>
/// The period or window in which an assessment is supposed to be administered.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="assessmentPeriodDescriptor"), NaturalKeyMember]
public string AssessmentPeriodDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessmentFamily != null)
hash = hash * 23 + _assessmentFamily.GetHashCode();
// Standard Property
if ((this as IAssessmentFamilyAssessmentPeriod).AssessmentPeriodDescriptor != null)
hash = hash * 23 + (this as IAssessmentFamilyAssessmentPeriod).AssessmentPeriodDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentFamilyAssessmentPeriod)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentFamilyAssessmentPeriod) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentFamilyContentStandard table of the AssessmentFamily aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentFamilyContentStandard : IAssessmentFamilyContentStandard, IAssessmentFamilyContentStandardSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public AssessmentFamilyContentStandard()
{
AssessmentFamilyContentStandardAuthors = new List<AssessmentFamilyContentStandardAuthor>();
}
// -------------------------------------------------------------
// =============================================================
// References
// -------------------------------------------------------------
private bool _mandatingEducationOrganizationReferenceExplicitlyAssigned;
private EducationOrganization.EducationOrganizationReference _mandatingEducationOrganizationReference;
private EducationOrganization.EducationOrganizationReference ImplicitMandatingEducationOrganizationReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_mandatingEducationOrganizationReference == null && !_mandatingEducationOrganizationReferenceExplicitlyAssigned)
_mandatingEducationOrganizationReference = new EducationOrganization.EducationOrganizationReference();
return _mandatingEducationOrganizationReference;
}
}
[DataMember(Name="mandatingEducationOrganizationReference")]
public EducationOrganization.EducationOrganizationReference MandatingEducationOrganizationReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitMandatingEducationOrganizationReference != null
&& (_mandatingEducationOrganizationReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitMandatingEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitMandatingEducationOrganizationReference;
return null;
}
set
{
_mandatingEducationOrganizationReferenceExplicitlyAssigned = true;
_mandatingEducationOrganizationReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessmentFamily _assessmentFamily;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessmentFamily IAssessmentFamilyContentStandard.AssessmentFamily
{
get { return _assessmentFamily; }
set { _assessmentFamily = value; }
}
internal IAssessmentFamily AssessmentFamily
{
set { _assessmentFamily = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessmentFamily != null)
hash = hash * 23 + _assessmentFamily.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The beginning of the period during which this learning standard document is intended for use.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="beginDate")]
public DateTime? BeginDate { get; set; }
/// <summary>
/// The end of the period during which this learning standard document is intended for use.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="endDate")]
public DateTime? EndDate { get; set; }
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int? IAssessmentFamilyContentStandard.MandatingEducationOrganizationId
{
get
{
if (ImplicitMandatingEducationOrganizationReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitMandatingEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitMandatingEducationOrganizationReference.EducationOrganizationId;
return default(int?);
}
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
// MandatingEducationOrganization
_mandatingEducationOrganizationReferenceExplicitlyAssigned = false;
ImplicitMandatingEducationOrganizationReference.EducationOrganizationId = value.GetValueOrDefault();
}
}
/// <summary>
/// The date on which this content was first published.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="publicationDate")]
public DateTime? PublicationDate { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="publicationStatusType")]
public string PublicationStatusType { get; set; }
/// <summary>
/// The year at which this content was first published.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="publicationYear")]
public short? PublicationYear { get; set; }
/// <summary>
/// The name of the content standard, for example Common Core.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="title")]
public string Title { get; set; }
/// <summary>
/// The public web site address (URL), file, or ftp locator.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="uri")]
public string URI { get; set; }
/// <summary>
/// The version identifier for the content.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="version")]
public string Version { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<AssessmentFamilyContentStandardAuthor> _assessmentFamilyContentStandardAuthors;
private IList<IAssessmentFamilyContentStandardAuthor> _assessmentFamilyContentStandardAuthorsCovariant;
[DataMember(Name="authors")]
public IList<AssessmentFamilyContentStandardAuthor> AssessmentFamilyContentStandardAuthors
{
get { return _assessmentFamilyContentStandardAuthors; }
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 ListAdapterWithAddNotifications<AssessmentFamilyContentStandardAuthor>(value,
(s, e) => ((IAssessmentFamilyContentStandardAuthor)e.Item).AssessmentFamilyContentStandard = this);
_assessmentFamilyContentStandardAuthors = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentFamilyContentStandardAuthor, AssessmentFamilyContentStandardAuthor>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentFamilyContentStandardAuthor)e.Item).AssessmentFamilyContentStandard = this;
_assessmentFamilyContentStandardAuthorsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentFamilyContentStandardAuthor> IAssessmentFamilyContentStandard.AssessmentFamilyContentStandardAuthors
{
get { return _assessmentFamilyContentStandardAuthorsCovariant; }
set { AssessmentFamilyContentStandardAuthors = new List<AssessmentFamilyContentStandardAuthor>(value.Cast<AssessmentFamilyContentStandardAuthor>()); }
}
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_assessmentFamilyContentStandardAuthors != null) foreach (var item in _assessmentFamilyContentStandardAuthors)
{
item.AssessmentFamilyContentStandard = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentFamilyContentStandard)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentFamilyContentStandard) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsAssessmentFamilyContentStandardAuthorsSupported { get { return true; } set { } }
bool IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsBeginDateSupported { get { return true; } set { } }
bool IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsEndDateSupported { get { return true; } set { } }
bool IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsMandatingEducationOrganizationIdSupported { get { return true; } set { } }
bool IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsPublicationDateSupported { get { return true; } set { } }
bool IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsPublicationStatusTypeSupported { get { return true; } set { } }
bool IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsPublicationYearSupported { get { return true; } set { } }
bool IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsTitleSupported { get { return true; } set { } }
bool IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsURISupported { get { return true; } set { } }
bool IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsVersionSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<IAssessmentFamilyContentStandardAuthor, bool> IAssessmentFamilyContentStandardSynchronizationSourceSupport.IsAssessmentFamilyContentStandardAuthorIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentFamilyContentStandardAuthor table of the AssessmentFamily aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentFamilyContentStandardAuthor : IAssessmentFamilyContentStandardAuthor, IAssessmentFamilyContentStandardAuthorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessmentFamilyContentStandard _assessmentFamilyContentStandard;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessmentFamilyContentStandard IAssessmentFamilyContentStandardAuthor.AssessmentFamilyContentStandard
{
get { return _assessmentFamilyContentStandard; }
set { _assessmentFamilyContentStandard = value; }
}
internal IAssessmentFamilyContentStandard AssessmentFamilyContentStandard
{
set { _assessmentFamilyContentStandard = value; }
}
/// <summary>
/// The person or organization chiefly responsible for the intellectual content of the standard.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="author"), NaturalKeyMember]
public string Author { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessmentFamilyContentStandard != null)
hash = hash * 23 + _assessmentFamilyContentStandard.GetHashCode();
// Standard Property
if ((this as IAssessmentFamilyContentStandardAuthor).Author != null)
hash = hash * 23 + (this as IAssessmentFamilyContentStandardAuthor).Author.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentFamilyContentStandardAuthor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentFamilyContentStandardAuthor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentFamilyIdentificationCode table of the AssessmentFamily aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentFamilyIdentificationCode : IAssessmentFamilyIdentificationCode, IAssessmentFamilyIdentificationCodeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessmentFamily _assessmentFamily;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessmentFamily IAssessmentFamilyIdentificationCode.AssessmentFamily
{
get { return _assessmentFamily; }
set { _assessmentFamily = value; }
}
internal IAssessmentFamily AssessmentFamily
{
set { _assessmentFamily = value; }
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="assessmentIdentificationSystemDescriptor"), NaturalKeyMember]
public string AssessmentIdentificationSystemDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessmentFamily != null)
hash = hash * 23 + _assessmentFamily.GetHashCode();
// Standard Property
if ((this as IAssessmentFamilyIdentificationCode).AssessmentIdentificationSystemDescriptor != null)
hash = hash * 23 + (this as IAssessmentFamilyIdentificationCode).AssessmentIdentificationSystemDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The organization code or name assigning the assessment identification code.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assigningOrganizationIdentificationCode")]
public string AssigningOrganizationIdentificationCode { get; set; }
/// <summary>
/// A unique number or alphanumeric code assigned to a space, room, site, building, individual, organization, program, or institution by a school, school system, a state, or other agency or entity.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="identificationCode")]
public string IdentificationCode { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentFamilyIdentificationCode)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentFamilyIdentificationCode) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentFamilyIdentificationCodeSynchronizationSourceSupport.IsAssigningOrganizationIdentificationCodeSupported { get { return true; } set { } }
bool IAssessmentFamilyIdentificationCodeSynchronizationSourceSupport.IsIdentificationCodeSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentFamilyLanguage table of the AssessmentFamily aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentFamilyLanguage : IAssessmentFamilyLanguage, IAssessmentFamilyLanguageSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IAssessmentFamily _assessmentFamily;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessmentFamily IAssessmentFamilyLanguage.AssessmentFamily
{
get { return _assessmentFamily; }
set { _assessmentFamily = value; }
}
internal IAssessmentFamily AssessmentFamily
{
set { _assessmentFamily = value; }
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="languageDescriptor"), NaturalKeyMember]
public string LanguageDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessmentFamily != null)
hash = hash * 23 + _assessmentFamily.GetHashCode();
// Standard Property
if ((this as IAssessmentFamilyLanguage).LanguageDescriptor != null)
hash = hash * 23 + (this as IAssessmentFamilyLanguage).LanguageDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentFamilyLanguage)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentFamilyLanguage) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
}
// Aggregate: AssessmentIdentificationSystemDescriptor
namespace EdFi.Ods.Api.Models.Resources.AssessmentIdentificationSystemDescriptor
{
/// <summary>
/// A class which represents the edfi.AssessmentIdentificationSystemDescriptor table of the AssessmentIdentificationSystemDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentIdentificationSystemDescriptor : IAssessmentIdentificationSystemDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IAssessmentIdentificationSystemDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AssessmentIdentificationSystemDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assessmentIdentificationSystemDescriptorId"), NaturalKeyMember]
public int AssessmentIdentificationSystemDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return AssessmentIdentificationSystemDescriptorId; }
set { AssessmentIdentificationSystemDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IAssessmentIdentificationSystemDescriptor).AssessmentIdentificationSystemDescriptorId != null)
hash = hash * 23 + (this as IAssessmentIdentificationSystemDescriptor).AssessmentIdentificationSystemDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Key for AssessmentIdentificationSystem
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="assessmentIdentificationSystemType")]
public string AssessmentIdentificationSystemType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentIdentificationSystemDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentIdentificationSystemDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentIdentificationSystemDescriptorSynchronizationSourceSupport.IsAssessmentIdentificationSystemTypeSupported { get { return true; } set { } }
bool IAssessmentIdentificationSystemDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAssessmentIdentificationSystemDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAssessmentIdentificationSystemDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IAssessmentIdentificationSystemDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IAssessmentIdentificationSystemDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAssessmentIdentificationSystemDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IAssessmentIdentificationSystemDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AssessmentIdentificationSystemType
namespace EdFi.Ods.Api.Models.Resources.AssessmentIdentificationSystemType
{
/// <summary>
/// A class which represents the edfi.AssessmentIdentificationSystemType table of the AssessmentIdentificationSystemType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentIdentificationSystemType : IAssessmentIdentificationSystemType, IHasETag, IAssessmentIdentificationSystemTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AssessmentIdentificationSystemType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for AssessmentIdentificationSystem
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assessmentIdentificationSystemTypeId"), NaturalKeyMember]
public int AssessmentIdentificationSystemTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAssessmentIdentificationSystemType).AssessmentIdentificationSystemTypeId != null)
hash = hash * 23 + (this as IAssessmentIdentificationSystemType).AssessmentIdentificationSystemTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for AssessmentIdentificationSystem type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the assessment identification system type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentIdentificationSystemType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentIdentificationSystemType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentIdentificationSystemTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAssessmentIdentificationSystemTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAssessmentIdentificationSystemTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AssessmentItem
namespace EdFi.Ods.Api.Models.Resources.AssessmentItem
{
/// <summary>
/// Represents a reference to the AssessmentItem resource.
/// </summary>
[DataContract]
public class AssessmentItemReference
{
[DataMember(Name="academicSubjectDescriptor"), NaturalKeyMember]
public string AcademicSubjectDescriptor { get; set; }
[DataMember(Name="assessedGradeLevelDescriptor"), NaturalKeyMember]
public string AssessedGradeLevelDescriptor { get; set; }
[DataMember(Name="assessmentTitle"), NaturalKeyMember]
public string AssessmentTitle { get; set; }
[DataMember(Name="identificationCode"), NaturalKeyMember]
public string IdentificationCode { get; set; }
[DataMember(Name="version"), NaturalKeyMember]
public int Version { 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 = new Link
{
Rel = "AssessmentItem",
Href = "/assessmentItems"
+ "?academicSubjectDescriptor=" + WebUtility.UrlEncode(AcademicSubjectDescriptor)
+ "&assessedGradeLevelDescriptor=" + WebUtility.UrlEncode(AssessedGradeLevelDescriptor)
+ "&assessmentTitle=" + WebUtility.UrlEncode(AssessmentTitle)
+ "&identificationCode=" + WebUtility.UrlEncode(IdentificationCode)
+ "&version=" + Version
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return AcademicSubjectDescriptor != default(string)
&& AssessedGradeLevelDescriptor != default(string)
&& AssessmentTitle != default(string)
&& IdentificationCode != default(string)
&& Version != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.AssessmentItem table of the AssessmentItem aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentItem : IAssessmentItem, IHasETag, IAssessmentItemSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public AssessmentItem()
{
AssessmentItemLearningStandards = new List<AssessmentItemLearningStandard>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the AssessmentItem resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _assessmentReferenceExplicitlyAssigned;
private Assessment.AssessmentReference _assessmentReference;
private Assessment.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.AssessmentReference();
return _assessmentReference;
}
}
[DataMember(Name="assessmentReference")][NaturalKeyMember]
public Assessment.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;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The description of the content or subject area (e.g., arts, mathematics, reading, stenography, or a foreign language) of an assessment. NEDM: Assessment Content, Academic Subject
/// </summary>
// IS in a reference (AssessmentItem.AcademicSubjectDescriptorId), IS a lookup column
string IAssessmentItem.AcademicSubjectDescriptor
{
get
{
if (ImplicitAssessmentReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAssessmentReference.IsReferenceFullyDefined()))
return ImplicitAssessmentReference.AcademicSubjectDescriptor;
return null;
}
set
{
ImplicitAssessmentReference.AcademicSubjectDescriptor = value;
}
}
/// <summary>
/// The typical grade level for which an assessment is designed. If the test assessment spans a range of grades, then this attribute holds the highest grade assessed. If only one grade level is assessed, then only this attribute is used. For example: Adult Prekindergarten First grade Second grade ...
/// </summary>
// IS in a reference (AssessmentItem.AssessedGradeLevelDescriptorId), IS a lookup column
string IAssessmentItem.AssessedGradeLevelDescriptor
{
get
{
if (ImplicitAssessmentReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAssessmentReference.IsReferenceFullyDefined()))
return ImplicitAssessmentReference.AssessedGradeLevelDescriptor;
return null;
}
set
{
ImplicitAssessmentReference.AssessedGradeLevelDescriptor = value;
}
}
/// <summary>
/// The title or name of the assessment. NEDM: Assessment Title
/// </summary>
// IS in a reference, NOT a lookup column
string IAssessmentItem.AssessmentTitle
{
get
{
if (ImplicitAssessmentReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAssessmentReference.IsReferenceFullyDefined()))
return ImplicitAssessmentReference.AssessmentTitle;
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.AssessmentTitle = value;
}
}
/// <summary>
/// A unique number or alphanumeric code assigned to a space, room, site, building, individual, organization, program, or institution by a school, school system, a state, or other agency or entity.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="identificationCode"), NaturalKeyMember]
public string IdentificationCode { get; set; }
/// <summary>
/// The version identifier for the test assessment. NEDM: Assessment Version
/// </summary>
// IS in a reference, NOT a lookup column
int IAssessmentItem.Version
{
get
{
if (ImplicitAssessmentReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAssessmentReference.IsReferenceFullyDefined()))
return ImplicitAssessmentReference.Version;
return default(int);
}
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.Version = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Unified Type Property
if ((this as IAssessmentItem).AcademicSubjectDescriptor != null)
hash = hash * 23 + (this as IAssessmentItem).AcademicSubjectDescriptor.GetHashCode();
//Unified Type Property
if ((this as IAssessmentItem).AssessedGradeLevelDescriptor != null)
hash = hash * 23 + (this as IAssessmentItem).AssessedGradeLevelDescriptor.GetHashCode();
//Referenced Property
if ((this as IAssessmentItem).AssessmentTitle != null)
hash = hash * 23 + (this as IAssessmentItem).AssessmentTitle.GetHashCode();
// Standard Property
if ((this as IAssessmentItem).IdentificationCode != null)
hash = hash * 23 + (this as IAssessmentItem).IdentificationCode.GetHashCode();
//Referenced Property
if ((this as IAssessmentItem).Version != null)
hash = hash * 23 + (this as IAssessmentItem).Version.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Category or type of the assessment item. For example: Multiple choice Analytic Prose ....
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="categoryType")]
public string AssessmentItemCategoryType { get; set; }
/// <summary>
/// The correct response for the assessment item.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="correctResponse")]
public string CorrectResponse { get; set; }
/// <summary>
/// The duration of time allotted for the AssessmentItem.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="expectedTimeAssessed")]
public string ExpectedTimeAssessed { get; set; }
/// <summary>
/// The maximum raw score achievable across all assessment items that are correct and scored at the maximum.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="maxRawScore")]
public int? MaxRawScore { get; set; }
/// <summary>
/// Reflects the common nomenclature for an element.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="nomenclature")]
public string Nomenclature { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<AssessmentItemLearningStandard> _assessmentItemLearningStandards;
private IList<IAssessmentItemLearningStandard> _assessmentItemLearningStandardsCovariant;
[DataMember(Name="learningStandards")]
public IList<AssessmentItemLearningStandard> AssessmentItemLearningStandards
{
get { return _assessmentItemLearningStandards; }
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 ListAdapterWithAddNotifications<AssessmentItemLearningStandard>(value,
(s, e) => ((IAssessmentItemLearningStandard)e.Item).AssessmentItem = this);
_assessmentItemLearningStandards = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IAssessmentItemLearningStandard, AssessmentItemLearningStandard>(value);
covariantList.ItemAdded += (s, e) => ((IAssessmentItemLearningStandard)e.Item).AssessmentItem = this;
_assessmentItemLearningStandardsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IAssessmentItemLearningStandard> IAssessmentItem.AssessmentItemLearningStandards
{
get { return _assessmentItemLearningStandardsCovariant; }
set { AssessmentItemLearningStandards = new List<AssessmentItemLearningStandard>(value.Cast<AssessmentItemLearningStandard>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_assessmentItemLearningStandards != null) foreach (var item in _assessmentItemLearningStandards)
{
item.AssessmentItem = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentItem)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentItem) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentItemSynchronizationSourceSupport.IsAssessmentItemCategoryTypeSupported { get { return true; } set { } }
bool IAssessmentItemSynchronizationSourceSupport.IsAssessmentItemLearningStandardsSupported { get { return true; } set { } }
bool IAssessmentItemSynchronizationSourceSupport.IsCorrectResponseSupported { get { return true; } set { } }
bool IAssessmentItemSynchronizationSourceSupport.IsExpectedTimeAssessedSupported { get { return true; } set { } }
bool IAssessmentItemSynchronizationSourceSupport.IsMaxRawScoreSupported { get { return true; } set { } }
bool IAssessmentItemSynchronizationSourceSupport.IsNomenclatureSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<IAssessmentItemLearningStandard, bool> IAssessmentItemSynchronizationSourceSupport.IsAssessmentItemLearningStandardIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.AssessmentItemLearningStandard table of the AssessmentItem aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentItemLearningStandard : IAssessmentItemLearningStandard, IAssessmentItemLearningStandardSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// References
// -------------------------------------------------------------
private bool _learningStandardReferenceExplicitlyAssigned;
private LearningStandard.LearningStandardReference _learningStandardReference;
private LearningStandard.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.LearningStandardReference();
return _learningStandardReference;
}
}
[DataMember(Name="learningStandardReference")][NaturalKeyMember]
public LearningStandard.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 IAssessmentItem _assessmentItem;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IAssessmentItem IAssessmentItemLearningStandard.AssessmentItem
{
get { return _assessmentItem; }
set { _assessmentItem = value; }
}
internal IAssessmentItem AssessmentItem
{
set { _assessmentItem = value; }
}
/// <summary>
/// The Identifier for the specific learning standard (e.g., 111.15.3.1.A)
/// </summary>
// IS in a reference, NOT a lookup column
string IAssessmentItemLearningStandard.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
// LearningStandard
_learningStandardReferenceExplicitlyAssigned = false;
ImplicitLearningStandardReference.LearningStandardId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_assessmentItem != null)
hash = hash * 23 + _assessmentItem.GetHashCode();
//Referenced Property
if ((this as IAssessmentItemLearningStandard).LearningStandardId != null)
hash = hash * 23 + (this as IAssessmentItemLearningStandard).LearningStandardId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentItemLearningStandard)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentItemLearningStandard) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
}
// Aggregate: AssessmentItemCategoryType
namespace EdFi.Ods.Api.Models.Resources.AssessmentItemCategoryType
{
/// <summary>
/// A class which represents the edfi.AssessmentItemCategoryType table of the AssessmentItemCategoryType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentItemCategoryType : IAssessmentItemCategoryType, IHasETag, IAssessmentItemCategoryTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AssessmentItemCategoryType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for ItemCategory
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assessmentItemCategoryTypeId"), NaturalKeyMember]
public int AssessmentItemCategoryTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAssessmentItemCategoryType).AssessmentItemCategoryTypeId != null)
hash = hash * 23 + (this as IAssessmentItemCategoryType).AssessmentItemCategoryTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for ItemCategory type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the assessment item category type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentItemCategoryType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentItemCategoryType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentItemCategoryTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAssessmentItemCategoryTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAssessmentItemCategoryTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AssessmentItemResultType
namespace EdFi.Ods.Api.Models.Resources.AssessmentItemResultType
{
/// <summary>
/// A class which represents the edfi.AssessmentItemResultType table of the AssessmentItemResultType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentItemResultType : IAssessmentItemResultType, IHasETag, IAssessmentItemResultTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AssessmentItemResultType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for AssessmentItemResult
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assessmentItemResultTypeId"), NaturalKeyMember]
public int AssessmentItemResultTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAssessmentItemResultType).AssessmentItemResultTypeId != null)
hash = hash * 23 + (this as IAssessmentItemResultType).AssessmentItemResultTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for AssessmentItemResult type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the assessment item result type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentItemResultType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentItemResultType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentItemResultTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAssessmentItemResultTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAssessmentItemResultTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AssessmentPeriodDescriptor
namespace EdFi.Ods.Api.Models.Resources.AssessmentPeriodDescriptor
{
/// <summary>
/// A class which represents the edfi.AssessmentPeriodDescriptor table of the AssessmentPeriodDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentPeriodDescriptor : IAssessmentPeriodDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IAssessmentPeriodDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AssessmentPeriodDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The ID of the Assessment Period Descriptor
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assessmentPeriodDescriptorId"), NaturalKeyMember]
public int AssessmentPeriodDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return AssessmentPeriodDescriptorId; }
set { AssessmentPeriodDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IAssessmentPeriodDescriptor).AssessmentPeriodDescriptorId != null)
hash = hash * 23 + (this as IAssessmentPeriodDescriptor).AssessmentPeriodDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The first date the assessment is to be administered.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="beginDate")]
public DateTime? BeginDate { get; set; }
/// <summary>
/// The last date the assessment is to be administered.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="endDate")]
public DateTime? EndDate { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentPeriodDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentPeriodDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentPeriodDescriptorSynchronizationSourceSupport.IsBeginDateSupported { get { return true; } set { } }
bool IAssessmentPeriodDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAssessmentPeriodDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAssessmentPeriodDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IAssessmentPeriodDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IAssessmentPeriodDescriptorSynchronizationSourceSupport.IsEndDateSupported { get { return true; } set { } }
bool IAssessmentPeriodDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAssessmentPeriodDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IAssessmentPeriodDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AssessmentReportingMethodType
namespace EdFi.Ods.Api.Models.Resources.AssessmentReportingMethodType
{
/// <summary>
/// A class which represents the edfi.AssessmentReportingMethodType table of the AssessmentReportingMethodType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AssessmentReportingMethodType : IAssessmentReportingMethodType, IHasETag, IAssessmentReportingMethodTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AssessmentReportingMethodType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for AssessmentReportingMethod
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assessmentReportingMethodTypeId"), NaturalKeyMember]
public int AssessmentReportingMethodTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAssessmentReportingMethodType).AssessmentReportingMethodTypeId != null)
hash = hash * 23 + (this as IAssessmentReportingMethodType).AssessmentReportingMethodTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for AssessmentReportingMethod type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the assessment reporting method type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAssessmentReportingMethodType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAssessmentReportingMethodType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAssessmentReportingMethodTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAssessmentReportingMethodTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAssessmentReportingMethodTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AttendanceEventCategoryDescriptor
namespace EdFi.Ods.Api.Models.Resources.AttendanceEventCategoryDescriptor
{
/// <summary>
/// A class which represents the edfi.AttendanceEventCategoryDescriptor table of the AttendanceEventCategoryDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AttendanceEventCategoryDescriptor : IAttendanceEventCategoryDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IAttendanceEventCategoryDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AttendanceEventCategoryDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="attendanceEventCategoryDescriptorId"), NaturalKeyMember]
public int AttendanceEventCategoryDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return AttendanceEventCategoryDescriptorId; }
set { AttendanceEventCategoryDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IAttendanceEventCategoryDescriptor).AttendanceEventCategoryDescriptorId != null)
hash = hash * 23 + (this as IAttendanceEventCategoryDescriptor).AttendanceEventCategoryDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Key for AttendanceEventCategoryType
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="attendanceEventCategoryType")]
public string AttendanceEventCategoryType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAttendanceEventCategoryDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAttendanceEventCategoryDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAttendanceEventCategoryDescriptorSynchronizationSourceSupport.IsAttendanceEventCategoryTypeSupported { get { return true; } set { } }
bool IAttendanceEventCategoryDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAttendanceEventCategoryDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAttendanceEventCategoryDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IAttendanceEventCategoryDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IAttendanceEventCategoryDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IAttendanceEventCategoryDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IAttendanceEventCategoryDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: AttendanceEventCategoryType
namespace EdFi.Ods.Api.Models.Resources.AttendanceEventCategoryType
{
/// <summary>
/// A class which represents the edfi.AttendanceEventCategoryType table of the AttendanceEventCategoryType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class AttendanceEventCategoryType : IAttendanceEventCategoryType, IHasETag, IAttendanceEventCategoryTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the AttendanceEventCategoryType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for AttendanceEventCategoryType
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="attendanceEventCategoryTypeId"), NaturalKeyMember]
public int AttendanceEventCategoryTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IAttendanceEventCategoryType).AttendanceEventCategoryTypeId != null)
hash = hash * 23 + (this as IAttendanceEventCategoryType).AttendanceEventCategoryTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for AttendanceEventCategory Type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// Description for AttendanceEventCategory type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IAttendanceEventCategoryType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IAttendanceEventCategoryType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IAttendanceEventCategoryTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IAttendanceEventCategoryTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IAttendanceEventCategoryTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: BehaviorDescriptor
namespace EdFi.Ods.Api.Models.Resources.BehaviorDescriptor
{
/// <summary>
/// A class which represents the edfi.BehaviorDescriptor table of the BehaviorDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class BehaviorDescriptor : IBehaviorDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IBehaviorDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the BehaviorDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The ID of the Behavior Descriptor
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="behaviorDescriptorId"), NaturalKeyMember]
public int BehaviorDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return BehaviorDescriptorId; }
set { BehaviorDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IBehaviorDescriptor).BehaviorDescriptorId != null)
hash = hash * 23 + (this as IBehaviorDescriptor).BehaviorDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="behaviorType")]
public string BehaviorType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IBehaviorDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IBehaviorDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IBehaviorDescriptorSynchronizationSourceSupport.IsBehaviorTypeSupported { get { return true; } set { } }
bool IBehaviorDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IBehaviorDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IBehaviorDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IBehaviorDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IBehaviorDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IBehaviorDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IBehaviorDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: BehaviorType
namespace EdFi.Ods.Api.Models.Resources.BehaviorType
{
/// <summary>
/// A class which represents the edfi.BehaviorType table of the BehaviorType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class BehaviorType : IBehaviorType, IHasETag, IBehaviorTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the BehaviorType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for BehaviorCategoryType.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="behaviorTypeId"), NaturalKeyMember]
public int BehaviorTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IBehaviorType).BehaviorTypeId != null)
hash = hash * 23 + (this as IBehaviorType).BehaviorTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for BehaviorCategoryType.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// Description for BehaviorCategory type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IBehaviorType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IBehaviorType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IBehaviorTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IBehaviorTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IBehaviorTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: BellSchedule
namespace EdFi.Ods.Api.Models.Resources.BellSchedule
{
/// <summary>
/// Represents a reference to the BellSchedule resource.
/// </summary>
[DataContract]
public class BellScheduleReference
{
[DataMember(Name="name"), NaturalKeyMember]
public string BellScheduleName { get; set; }
[DataMember(Name="date"), NaturalKeyMember]
public DateTime Date { get; set; }
[DataMember(Name="gradeLevelDescriptor"), NaturalKeyMember]
public string GradeLevelDescriptor { get; set; }
[DataMember(Name="schoolId"), NaturalKeyMember]
public int SchoolId { 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 = new Link
{
Rel = "BellSchedule",
Href = "/bellSchedules"
+ "?name=" + WebUtility.UrlEncode(BellScheduleName)
+ "&date=" + JsonConvert.SerializeObject(Date).Replace("\"", string.Empty)
+ "&gradeLevelDescriptor=" + WebUtility.UrlEncode(GradeLevelDescriptor)
+ "&schoolId=" + SchoolId
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return BellScheduleName != default(string)
&& Date != default(DateTime)
&& GradeLevelDescriptor != default(string)
&& SchoolId != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.BellSchedule table of the BellSchedule aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class BellSchedule : IBellSchedule, IHasETag, IBellScheduleSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public BellSchedule()
{
BellScheduleMeetingTimes = new List<BellScheduleMeetingTime>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the BellSchedule resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _calendarDateReferenceExplicitlyAssigned;
private CalendarDate.CalendarDateReference _calendarDateReference;
private CalendarDate.CalendarDateReference ImplicitCalendarDateReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_calendarDateReference == null && !_calendarDateReferenceExplicitlyAssigned)
_calendarDateReference = new CalendarDate.CalendarDateReference();
return _calendarDateReference;
}
}
[DataMember(Name="calendarDateReference")][NaturalKeyMember]
public CalendarDate.CalendarDateReference CalendarDateReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitCalendarDateReference != null
&& (_calendarDateReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitCalendarDateReference.IsReferenceFullyDefined()))
return ImplicitCalendarDateReference;
return null;
}
set
{
_calendarDateReferenceExplicitlyAssigned = true;
_calendarDateReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Name or title of the bell schedule.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="name"), NaturalKeyMember]
public string BellScheduleName { get; set; }
/// <summary>
/// Month, day, and year of the first day of the grading period.
/// </summary>
// IS in a reference, NOT a lookup column
DateTime IBellSchedule.Date
{
get
{
if (ImplicitCalendarDateReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitCalendarDateReference.IsReferenceFullyDefined()))
return ImplicitCalendarDateReference.Date;
return default(DateTime);
}
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
// CalendarDate
_calendarDateReferenceExplicitlyAssigned = false;
ImplicitCalendarDateReference.Date = value;
}
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="gradeLevelDescriptor"), NaturalKeyMember]
public string GradeLevelDescriptor { get; set; }
/// <summary>
/// School Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IBellSchedule.SchoolId
{
get
{
if (ImplicitCalendarDateReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitCalendarDateReference.IsReferenceFullyDefined()))
return ImplicitCalendarDateReference.SchoolId;
return default(int);
}
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
// CalendarDate
_calendarDateReferenceExplicitlyAssigned = false;
ImplicitCalendarDateReference.SchoolId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IBellSchedule).BellScheduleName != null)
hash = hash * 23 + (this as IBellSchedule).BellScheduleName.GetHashCode();
//Referenced Property
if ((this as IBellSchedule).Date != null)
hash = hash * 23 + (this as IBellSchedule).Date.GetHashCode();
// Standard Property
if ((this as IBellSchedule).GradeLevelDescriptor != null)
hash = hash * 23 + (this as IBellSchedule).GradeLevelDescriptor.GetHashCode();
//Referenced Property
if ((this as IBellSchedule).SchoolId != null)
hash = hash * 23 + (this as IBellSchedule).SchoolId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<BellScheduleMeetingTime> _bellScheduleMeetingTimes;
private IList<IBellScheduleMeetingTime> _bellScheduleMeetingTimesCovariant;
[DataMember(Name="meetingTimes")]
public IList<BellScheduleMeetingTime> BellScheduleMeetingTimes
{
get { return _bellScheduleMeetingTimes; }
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 ListAdapterWithAddNotifications<BellScheduleMeetingTime>(value,
(s, e) => ((IBellScheduleMeetingTime)e.Item).BellSchedule = this);
_bellScheduleMeetingTimes = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IBellScheduleMeetingTime, BellScheduleMeetingTime>(value);
covariantList.ItemAdded += (s, e) => ((IBellScheduleMeetingTime)e.Item).BellSchedule = this;
_bellScheduleMeetingTimesCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IBellScheduleMeetingTime> IBellSchedule.BellScheduleMeetingTimes
{
get { return _bellScheduleMeetingTimesCovariant; }
set { BellScheduleMeetingTimes = new List<BellScheduleMeetingTime>(value.Cast<BellScheduleMeetingTime>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_bellScheduleMeetingTimes != null) foreach (var item in _bellScheduleMeetingTimes)
{
item.BellSchedule = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IBellSchedule)target);
}
void IMappable.Map(object target)
{
this.MapTo((IBellSchedule) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IBellScheduleSynchronizationSourceSupport.IsBellScheduleMeetingTimesSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<IBellScheduleMeetingTime, bool> IBellScheduleSynchronizationSourceSupport.IsBellScheduleMeetingTimeIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// Represents a reference from the BellScheduleMeetingTime entity to the ClassPeriod resource.
/// </summary>
[DataContract]
public class BellScheduleMeetingTimeToClassPeriodReference
{
private IBellScheduleMeetingTime backReference;
// Parameterless constructor for deserialization
public BellScheduleMeetingTimeToClassPeriodReference() { }
// Constructor for inline initialization in parent
public BellScheduleMeetingTimeToClassPeriodReference(IBellScheduleMeetingTime backReference)
{
this.backReference = backReference;
}
// Expose back reference internally for access after JSON deserialization to enable link generation
internal IBellScheduleMeetingTime BackReference
{
get { return backReference; }
set { backReference = value; }
}
[DataMember(Name="name"), NaturalKeyMember]
public string ClassPeriodName { get; set; }
private Link _link;
[DataMember(Name="link")]
public Link Link
{
get
{
if (_link == null)
{
// Can't generate a link without the back reference
if (backReference == null)
return null;
// Only generate links when all values are present
if (IsReferenceFullyDefined())
{
_link = new Link
{
Rel = "ClassPeriod",
Href = "/classPeriods"
+ "?name=" + WebUtility.UrlEncode(ClassPeriodName)
+ "&schoolId=" + backReference.BellSchedule.SchoolId
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return ClassPeriodName != default(string)
&& backReference.BellSchedule != null && backReference.BellSchedule.SchoolId != default(int)
;
}
}
/// <summary>
/// A class which represents the edfi.BellScheduleMeetingTime table of the BellSchedule aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class BellScheduleMeetingTime : IBellScheduleMeetingTime, IBellScheduleMeetingTimeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// References
// -------------------------------------------------------------
private bool _classPeriodReferenceExplicitlyAssigned;
private BellScheduleMeetingTimeToClassPeriodReference _classPeriodReference;
private BellScheduleMeetingTimeToClassPeriodReference ImplicitClassPeriodReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_classPeriodReference == null && !_classPeriodReferenceExplicitlyAssigned)
_classPeriodReference = new BellScheduleMeetingTimeToClassPeriodReference(this);
return _classPeriodReference;
}
}
[DataMember(Name="classPeriodReference")][NaturalKeyMember]
public BellScheduleMeetingTimeToClassPeriodReference ClassPeriodReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitClassPeriodReference != null
&& (_classPeriodReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitClassPeriodReference.IsReferenceFullyDefined()))
return ImplicitClassPeriodReference;
return null;
}
set
{
_classPeriodReferenceExplicitlyAssigned = true;
_classPeriodReference = value;
_classPeriodReference.BackReference = this; }
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IBellSchedule _bellSchedule;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IBellSchedule IBellScheduleMeetingTime.BellSchedule
{
get { return _bellSchedule; }
set { _bellSchedule = value; }
}
internal IBellSchedule BellSchedule
{
set { _bellSchedule = value; }
}
/// <summary>
/// An indication of the portion of a typical daily session in which students receive instruction in a specified subject (e.g., morning, sixth period, block period or AB schedules).
/// </summary>
// IS in a reference, NOT a lookup column
string IBellScheduleMeetingTime.ClassPeriodName
{
get
{
if (ImplicitClassPeriodReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitClassPeriodReference.IsReferenceFullyDefined()))
return ImplicitClassPeriodReference.ClassPeriodName;
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
// ClassPeriod
_classPeriodReferenceExplicitlyAssigned = false;
ImplicitClassPeriodReference.ClassPeriodName = value;
}
}
/// <summary>
/// An indication of the time of day the class begins.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="startTime"), NaturalKeyMember][JsonConverter(typeof(UtcTimeConverter))]
public TimeSpan StartTime { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_bellSchedule != null)
hash = hash * 23 + _bellSchedule.GetHashCode();
//Referenced Property
if ((this as IBellScheduleMeetingTime).ClassPeriodName != null)
hash = hash * 23 + (this as IBellScheduleMeetingTime).ClassPeriodName.GetHashCode();
// Standard Property
if ((this as IBellScheduleMeetingTime).StartTime != null)
hash = hash * 23 + (this as IBellScheduleMeetingTime).StartTime.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// used for the bell schedule, another name for day (e.g., Blue day, Red day).
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="alternateDayName")]
public string AlternateDayName { get; set; }
/// <summary>
/// An indication of the time of day the class ends.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="endTime")][JsonConverter(typeof(UtcTimeConverter))]
public TimeSpan EndTime { get; set; }
/// <summary>
/// Indicator of whether this meeting time is used for official daily attendance.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="officialAttendancePeriod")]
public bool? OfficialAttendancePeriod { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_classPeriodReference != null)
_classPeriodReference.BackReference = this;
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IBellScheduleMeetingTime)target);
}
void IMappable.Map(object target)
{
this.MapTo((IBellScheduleMeetingTime) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IBellScheduleMeetingTimeSynchronizationSourceSupport.IsAlternateDayNameSupported { get { return true; } set { } }
bool IBellScheduleMeetingTimeSynchronizationSourceSupport.IsEndTimeSupported { get { return true; } set { } }
bool IBellScheduleMeetingTimeSynchronizationSourceSupport.IsOfficialAttendancePeriodSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: Budget
namespace EdFi.Ods.Api.Models.Resources.Budget
{
/// <summary>
/// Represents a reference to the Budget resource.
/// </summary>
[DataContract]
public class BudgetReference
{
[DataMember(Name="accountNumber"), NaturalKeyMember]
public string AccountNumber { get; set; }
[DataMember(Name="asOfDate"), NaturalKeyMember]
public DateTime AsOfDate { get; set; }
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { get; set; }
[DataMember(Name="fiscalYear"), NaturalKeyMember]
public int FiscalYear { 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 = new Link
{
Rel = "Budget",
Href = "/budgets"
+ "?accountNumber=" + WebUtility.UrlEncode(AccountNumber)
+ "&asOfDate=" + JsonConvert.SerializeObject(AsOfDate).Replace("\"", string.Empty)
+ "&educationOrganizationId=" + EducationOrganizationId
+ "&fiscalYear=" + FiscalYear
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return AccountNumber != default(string)
&& AsOfDate != default(DateTime)
&& EducationOrganizationId != default(int)
&& FiscalYear != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.Budget table of the Budget aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class Budget : IBudget, IHasETag, IBudgetSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the Budget resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _accountReferenceExplicitlyAssigned;
private Account.AccountReference _accountReference;
private Account.AccountReference ImplicitAccountReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_accountReference == null && !_accountReferenceExplicitlyAssigned)
_accountReference = new Account.AccountReference();
return _accountReference;
}
}
[DataMember(Name="accountReference")][NaturalKeyMember]
public Account.AccountReference AccountReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitAccountReference != null
&& (_accountReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference;
return null;
}
set
{
_accountReferenceExplicitlyAssigned = true;
_accountReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Account with which the Budget is associated.
/// </summary>
// IS in a reference, NOT a lookup column
string IBudget.AccountNumber
{
get
{
if (ImplicitAccountReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference.AccountNumber;
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
// Account
_accountReferenceExplicitlyAssigned = false;
ImplicitAccountReference.AccountNumber = value;
}
}
/// <summary>
/// The date of the reported budget element.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="asOfDate"), NaturalKeyMember]
public DateTime AsOfDate { get; set; }
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IBudget.EducationOrganizationId
{
get
{
if (ImplicitAccountReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference.EducationOrganizationId;
return default(int);
}
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
// Account
_accountReferenceExplicitlyAssigned = false;
ImplicitAccountReference.EducationOrganizationId = value;
}
}
/// <summary>
/// The financial accounting year. NEDM: Fiscal Year
/// </summary>
// IS in a reference, NOT a lookup column
int IBudget.FiscalYear
{
get
{
if (ImplicitAccountReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference.FiscalYear;
return default(int);
}
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
// Account
_accountReferenceExplicitlyAssigned = false;
ImplicitAccountReference.FiscalYear = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Referenced Property
if ((this as IBudget).AccountNumber != null)
hash = hash * 23 + (this as IBudget).AccountNumber.GetHashCode();
// Standard Property
if ((this as IBudget).AsOfDate != null)
hash = hash * 23 + (this as IBudget).AsOfDate.GetHashCode();
//Referenced Property
if ((this as IBudget).EducationOrganizationId != null)
hash = hash * 23 + (this as IBudget).EducationOrganizationId.GetHashCode();
//Referenced Property
if ((this as IBudget).FiscalYear != null)
hash = hash * 23 + (this as IBudget).FiscalYear.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Amount budgeted for the account for this fiscal year.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="amount")][Range(typeof(decimal), "-922337203685477.5808", "922337203685477.5807")]
public decimal Amount { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IBudget)target);
}
void IMappable.Map(object target)
{
this.MapTo((IBudget) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IBudgetSynchronizationSourceSupport.IsAmountSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CalendarDate
namespace EdFi.Ods.Api.Models.Resources.CalendarDate
{
/// <summary>
/// Represents a reference to the CalendarDate resource.
/// </summary>
[DataContract]
public class CalendarDateReference
{
[DataMember(Name="date"), NaturalKeyMember]
public DateTime Date { get; set; }
[DataMember(Name="schoolId"), NaturalKeyMember]
public int SchoolId { 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 = new Link
{
Rel = "CalendarDate",
Href = "/calendarDates"
+ "?date=" + JsonConvert.SerializeObject(Date).Replace("\"", string.Empty)
+ "&schoolId=" + SchoolId
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return Date != default(DateTime)
&& SchoolId != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.CalendarDate table of the CalendarDate aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CalendarDate : ICalendarDate, IHasETag, ICalendarDateSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public CalendarDate()
{
CalendarDateCalendarEvents = new List<CalendarDateCalendarEvent>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the CalendarDate resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _schoolReferenceExplicitlyAssigned;
private School.SchoolReference _schoolReference;
private School.SchoolReference ImplicitSchoolReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_schoolReference == null && !_schoolReferenceExplicitlyAssigned)
_schoolReference = new School.SchoolReference();
return _schoolReference;
}
}
[DataMember(Name="schoolReference")][NaturalKeyMember]
public School.SchoolReference SchoolReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitSchoolReference != null
&& (_schoolReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference;
return null;
}
set
{
_schoolReferenceExplicitlyAssigned = true;
_schoolReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The month, day, and year of the CalendarDate.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="date"), NaturalKeyMember]
public DateTime Date { get; set; }
/// <summary>
/// The identifier assigned to a school by the State Education Agency (SEA).
/// </summary>
// IS in a reference, NOT a lookup column
int ICalendarDate.SchoolId
{
get
{
if (ImplicitSchoolReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference.SchoolId;
return default(int);
}
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
// School
_schoolReferenceExplicitlyAssigned = false;
ImplicitSchoolReference.SchoolId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICalendarDate).Date != null)
hash = hash * 23 + (this as ICalendarDate).Date.GetHashCode();
//Referenced Property
if ((this as ICalendarDate).SchoolId != null)
hash = hash * 23 + (this as ICalendarDate).SchoolId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<CalendarDateCalendarEvent> _calendarDateCalendarEvents;
private IList<ICalendarDateCalendarEvent> _calendarDateCalendarEventsCovariant;
[DataMember(Name="calendarEvents")]
public IList<CalendarDateCalendarEvent> CalendarDateCalendarEvents
{
get { return _calendarDateCalendarEvents; }
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 ListAdapterWithAddNotifications<CalendarDateCalendarEvent>(value,
(s, e) => ((ICalendarDateCalendarEvent)e.Item).CalendarDate = this);
_calendarDateCalendarEvents = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<ICalendarDateCalendarEvent, CalendarDateCalendarEvent>(value);
covariantList.ItemAdded += (s, e) => ((ICalendarDateCalendarEvent)e.Item).CalendarDate = this;
_calendarDateCalendarEventsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<ICalendarDateCalendarEvent> ICalendarDate.CalendarDateCalendarEvents
{
get { return _calendarDateCalendarEventsCovariant; }
set { CalendarDateCalendarEvents = new List<CalendarDateCalendarEvent>(value.Cast<CalendarDateCalendarEvent>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_calendarDateCalendarEvents != null) foreach (var item in _calendarDateCalendarEvents)
{
item.CalendarDate = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICalendarDate)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICalendarDate) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICalendarDateSynchronizationSourceSupport.IsCalendarDateCalendarEventsSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<ICalendarDateCalendarEvent, bool> ICalendarDateSynchronizationSourceSupport.IsCalendarDateCalendarEventIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.CalendarDateCalendarEvent table of the CalendarDate aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CalendarDateCalendarEvent : ICalendarDateCalendarEvent, ICalendarDateCalendarEventSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private ICalendarDate _calendarDate;
[IgnoreDataMember] // Don't modify back references during acceptance testing
ICalendarDate ICalendarDateCalendarEvent.CalendarDate
{
get { return _calendarDate; }
set { _calendarDate = value; }
}
internal ICalendarDate CalendarDate
{
set { _calendarDate = value; }
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="calendarEventDescriptor"), NaturalKeyMember]
public string CalendarEventDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_calendarDate != null)
hash = hash * 23 + _calendarDate.GetHashCode();
// Standard Property
if ((this as ICalendarDateCalendarEvent).CalendarEventDescriptor != null)
hash = hash * 23 + (this as ICalendarDateCalendarEvent).CalendarEventDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The amount of time for the event as recognized by the school: 1 day = 1, 1/2 day = 0.5, 1/3 day = 0.33.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="eventDuration")][Range(typeof(decimal), "-9.99", "9.99")]
public decimal EventDuration { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICalendarDateCalendarEvent)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICalendarDateCalendarEvent) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICalendarDateCalendarEventSynchronizationSourceSupport.IsEventDurationSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CalendarEventDescriptor
namespace EdFi.Ods.Api.Models.Resources.CalendarEventDescriptor
{
/// <summary>
/// A class which represents the edfi.CalendarEventDescriptor table of the CalendarEventDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CalendarEventDescriptor : ICalendarEventDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, ICalendarEventDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CalendarEventDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="calendarEventDescriptorId"), NaturalKeyMember]
public int CalendarEventDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return CalendarEventDescriptorId; }
set { CalendarEventDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as ICalendarEventDescriptor).CalendarEventDescriptorId != null)
hash = hash * 23 + (this as ICalendarEventDescriptor).CalendarEventDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Key for CalendarEvent
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="calendarEventType")]
public string CalendarEventType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICalendarEventDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICalendarEventDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICalendarEventDescriptorSynchronizationSourceSupport.IsCalendarEventTypeSupported { get { return true; } set { } }
bool ICalendarEventDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICalendarEventDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICalendarEventDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool ICalendarEventDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool ICalendarEventDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool ICalendarEventDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool ICalendarEventDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CalendarEventType
namespace EdFi.Ods.Api.Models.Resources.CalendarEventType
{
/// <summary>
/// A class which represents the edfi.CalendarEventType table of the CalendarEventType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CalendarEventType : ICalendarEventType, IHasETag, ICalendarEventTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CalendarEventType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CalendarEvent
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="calendarEventTypeId"), NaturalKeyMember]
public int CalendarEventTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICalendarEventType).CalendarEventTypeId != null)
hash = hash * 23 + (this as ICalendarEventType).CalendarEventTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for CalendarEvent type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the calendar event type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICalendarEventType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICalendarEventType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICalendarEventTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICalendarEventTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICalendarEventTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CareerPathwayType
namespace EdFi.Ods.Api.Models.Resources.CareerPathwayType
{
/// <summary>
/// A class which represents the edfi.CareerPathwayType table of the CareerPathwayType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CareerPathwayType : ICareerPathwayType, IHasETag, ICareerPathwayTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CareerPathwayType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CareerPathway
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="careerPathwayTypeId"), NaturalKeyMember]
public int CareerPathwayTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICareerPathwayType).CareerPathwayTypeId != null)
hash = hash * 23 + (this as ICareerPathwayType).CareerPathwayTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for CareerPathway type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the career pathway type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICareerPathwayType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICareerPathwayType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICareerPathwayTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICareerPathwayTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICareerPathwayTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CharterApprovalAgencyType
namespace EdFi.Ods.Api.Models.Resources.CharterApprovalAgencyType
{
/// <summary>
/// A class which represents the edfi.CharterApprovalAgencyType table of the CharterApprovalAgencyType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CharterApprovalAgencyType : ICharterApprovalAgencyType, IHasETag, ICharterApprovalAgencyTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CharterApprovalAgencyType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for MagnetSpecialProgramEmphasisSchool
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="charterApprovalAgencyTypeId"), NaturalKeyMember]
public int CharterApprovalAgencyTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICharterApprovalAgencyType).CharterApprovalAgencyTypeId != null)
hash = hash * 23 + (this as ICharterApprovalAgencyType).CharterApprovalAgencyTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for MagnetSpecialProgramEmphasisSchool type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the charter approval agency type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICharterApprovalAgencyType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICharterApprovalAgencyType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICharterApprovalAgencyTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICharterApprovalAgencyTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICharterApprovalAgencyTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CharterStatusType
namespace EdFi.Ods.Api.Models.Resources.CharterStatusType
{
/// <summary>
/// A class which represents the edfi.CharterStatusType table of the CharterStatusType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CharterStatusType : ICharterStatusType, IHasETag, ICharterStatusTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CharterStatusType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CharterStatus
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="charterStatusTypeId"), NaturalKeyMember]
public int CharterStatusTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICharterStatusType).CharterStatusTypeId != null)
hash = hash * 23 + (this as ICharterStatusType).CharterStatusTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for CharterStatus type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the charter status type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICharterStatusType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICharterStatusType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICharterStatusTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICharterStatusTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICharterStatusTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CitizenshipStatusType
namespace EdFi.Ods.Api.Models.Resources.CitizenshipStatusType
{
/// <summary>
/// A class which represents the edfi.CitizenshipStatusType table of the CitizenshipStatusType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CitizenshipStatusType : ICitizenshipStatusType, IHasETag, ICitizenshipStatusTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CitizenshipStatusType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="citizenshipStatusTypeId"), NaturalKeyMember]
public int CitizenshipStatusTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICitizenshipStatusType).CitizenshipStatusTypeId != null)
hash = hash * 23 + (this as ICitizenshipStatusType).CitizenshipStatusTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICitizenshipStatusType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICitizenshipStatusType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICitizenshipStatusTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICitizenshipStatusTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICitizenshipStatusTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: ClassPeriod
namespace EdFi.Ods.Api.Models.Resources.ClassPeriod
{
/// <summary>
/// Represents a reference to the ClassPeriod resource.
/// </summary>
[DataContract]
public class ClassPeriodReference
{
[DataMember(Name="name"), NaturalKeyMember]
public string ClassPeriodName { get; set; }
[DataMember(Name="schoolId"), NaturalKeyMember]
public int SchoolId { 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 = new Link
{
Rel = "ClassPeriod",
Href = "/classPeriods"
+ "?name=" + WebUtility.UrlEncode(ClassPeriodName)
+ "&schoolId=" + SchoolId
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return ClassPeriodName != default(string)
&& SchoolId != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.ClassPeriod table of the ClassPeriod aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ClassPeriod : IClassPeriod, IHasETag, IClassPeriodSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ClassPeriod resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _schoolReferenceExplicitlyAssigned;
private School.SchoolReference _schoolReference;
private School.SchoolReference ImplicitSchoolReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_schoolReference == null && !_schoolReferenceExplicitlyAssigned)
_schoolReference = new School.SchoolReference();
return _schoolReference;
}
}
[DataMember(Name="schoolReference")][NaturalKeyMember]
public School.SchoolReference SchoolReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitSchoolReference != null
&& (_schoolReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference;
return null;
}
set
{
_schoolReferenceExplicitlyAssigned = true;
_schoolReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// An indication of the portion of a typical daily session in which students receive instruction in a specified subject (e.g., morning, sixth period, block period, or AB schedules). NEDM: Class Period
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="name"), NaturalKeyMember]
public string ClassPeriodName { get; set; }
/// <summary>
/// School Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IClassPeriod.SchoolId
{
get
{
if (ImplicitSchoolReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference.SchoolId;
return default(int);
}
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
// School
_schoolReferenceExplicitlyAssigned = false;
ImplicitSchoolReference.SchoolId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IClassPeriod).ClassPeriodName != null)
hash = hash * 23 + (this as IClassPeriod).ClassPeriodName.GetHashCode();
//Referenced Property
if ((this as IClassPeriod).SchoolId != null)
hash = hash * 23 + (this as IClassPeriod).SchoolId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IClassPeriod)target);
}
void IMappable.Map(object target)
{
this.MapTo((IClassPeriod) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
}
// Aggregate: ClassroomPositionDescriptor
namespace EdFi.Ods.Api.Models.Resources.ClassroomPositionDescriptor
{
/// <summary>
/// A class which represents the edfi.ClassroomPositionDescriptor table of the ClassroomPositionDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ClassroomPositionDescriptor : IClassroomPositionDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IClassroomPositionDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ClassroomPositionDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="classroomPositionDescriptorId"), NaturalKeyMember]
public int ClassroomPositionDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return ClassroomPositionDescriptorId; }
set { ClassroomPositionDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IClassroomPositionDescriptor).ClassroomPositionDescriptorId != null)
hash = hash * 23 + (this as IClassroomPositionDescriptor).ClassroomPositionDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Key for ClassroomPosition
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="classroomPositionType")]
public string ClassroomPositionType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IClassroomPositionDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IClassroomPositionDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IClassroomPositionDescriptorSynchronizationSourceSupport.IsClassroomPositionTypeSupported { get { return true; } set { } }
bool IClassroomPositionDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IClassroomPositionDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IClassroomPositionDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IClassroomPositionDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IClassroomPositionDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IClassroomPositionDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IClassroomPositionDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: ClassroomPositionType
namespace EdFi.Ods.Api.Models.Resources.ClassroomPositionType
{
/// <summary>
/// A class which represents the edfi.ClassroomPositionType table of the ClassroomPositionType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ClassroomPositionType : IClassroomPositionType, IHasETag, IClassroomPositionTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ClassroomPositionType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for ClassroomPosition
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="classroomPositionTypeId"), NaturalKeyMember]
public int ClassroomPositionTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IClassroomPositionType).ClassroomPositionTypeId != null)
hash = hash * 23 + (this as IClassroomPositionType).ClassroomPositionTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for ClassroomPosition type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the classroom position type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IClassroomPositionType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IClassroomPositionType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IClassroomPositionTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IClassroomPositionTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IClassroomPositionTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: Cohort
namespace EdFi.Ods.Api.Models.Resources.Cohort
{
/// <summary>
/// Represents a reference to the Cohort resource.
/// </summary>
[DataContract]
public class CohortReference
{
[DataMember(Name="identifier"), NaturalKeyMember]
public string CohortIdentifier { get; set; }
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { 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 = new Link
{
Rel = "Cohort",
Href = "/cohorts"
+ "?identifier=" + WebUtility.UrlEncode(CohortIdentifier)
+ "&educationOrganizationId=" + EducationOrganizationId
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return CohortIdentifier != default(string)
&& EducationOrganizationId != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.Cohort table of the Cohort aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class Cohort : ICohort, IHasETag, ICohortSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public Cohort()
{
CohortPrograms = new List<CohortProgram>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the Cohort resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _educationOrganizationReferenceExplicitlyAssigned;
private EducationOrganization.EducationOrganizationReference _educationOrganizationReference;
private EducationOrganization.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.EducationOrganizationReference();
return _educationOrganizationReference;
}
}
[DataMember(Name="educationOrganizationReference")][NaturalKeyMember]
public EducationOrganization.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
// -------------------------------------------------------------
/// <summary>
/// The name or ID for the cohort.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="identifier"), NaturalKeyMember]
public string CohortIdentifier { get; set; }
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int ICohort.EducationOrganizationId
{
get
{
if (ImplicitEducationOrganizationReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitEducationOrganizationReference.EducationOrganizationId;
return default(int);
}
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;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICohort).CohortIdentifier != null)
hash = hash * 23 + (this as ICohort).CohortIdentifier.GetHashCode();
//Referenced Property
if ((this as ICohort).EducationOrganizationId != null)
hash = hash * 23 + (this as ICohort).EducationOrganizationId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The subject for an academic intervention (e.g., science, mathematics).
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="academicSubjectDescriptor")]
public string AcademicSubjectDescriptor { get; set; }
/// <summary>
/// The description of he cohort and its purpose.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string CohortDescription { get; set; }
/// <summary>
/// The scope of cohort (e.g., campus, district, classroom).
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="scopeType")]
public string CohortScopeType { get; set; }
/// <summary>
/// The type of the cohort (academic intervention, attendance intervention, discipline intervention, breakout session, etc.).
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="type")]
public string CohortType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<CohortProgram> _cohortPrograms;
private IList<ICohortProgram> _cohortProgramsCovariant;
[DataMember(Name="programs")]
public IList<CohortProgram> CohortPrograms
{
get { return _cohortPrograms; }
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 ListAdapterWithAddNotifications<CohortProgram>(value,
(s, e) => ((ICohortProgram)e.Item).Cohort = this);
_cohortPrograms = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<ICohortProgram, CohortProgram>(value);
covariantList.ItemAdded += (s, e) => ((ICohortProgram)e.Item).Cohort = this;
_cohortProgramsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<ICohortProgram> ICohort.CohortPrograms
{
get { return _cohortProgramsCovariant; }
set { CohortPrograms = new List<CohortProgram>(value.Cast<CohortProgram>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_cohortPrograms != null) foreach (var item in _cohortPrograms)
{
item.Cohort = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICohort)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICohort) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICohortSynchronizationSourceSupport.IsAcademicSubjectDescriptorSupported { get { return true; } set { } }
bool ICohortSynchronizationSourceSupport.IsCohortDescriptionSupported { get { return true; } set { } }
bool ICohortSynchronizationSourceSupport.IsCohortProgramsSupported { get { return true; } set { } }
bool ICohortSynchronizationSourceSupport.IsCohortScopeTypeSupported { get { return true; } set { } }
bool ICohortSynchronizationSourceSupport.IsCohortTypeSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<ICohortProgram, bool> ICohortSynchronizationSourceSupport.IsCohortProgramIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.CohortProgram table of the Cohort aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CohortProgram : ICohortProgram, ICohortProgramSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// References
// -------------------------------------------------------------
private bool _programReferenceExplicitlyAssigned;
private Program.ProgramReference _programReference;
private Program.ProgramReference ImplicitProgramReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_programReference == null && !_programReferenceExplicitlyAssigned)
_programReference = new Program.ProgramReference();
return _programReference;
}
}
[DataMember(Name="programReference")][NaturalKeyMember]
public Program.ProgramReference ProgramReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitProgramReference != null
&& (_programReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitProgramReference.IsReferenceFullyDefined()))
return ImplicitProgramReference;
return null;
}
set
{
_programReferenceExplicitlyAssigned = true;
_programReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
private ICohort _cohort;
[IgnoreDataMember] // Don't modify back references during acceptance testing
ICohort ICohortProgram.Cohort
{
get { return _cohort; }
set { _cohort = value; }
}
internal ICohort Cohort
{
set { _cohort = value; }
}
/// <summary>
/// The EducationOrganization of the program
/// </summary>
// IS in a reference, NOT a lookup column
int ICohortProgram.ProgramEducationOrganizationId
{
get
{
if (ImplicitProgramReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitProgramReference.IsReferenceFullyDefined()))
return ImplicitProgramReference.EducationOrganizationId;
return default(int);
}
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
// Program
_programReferenceExplicitlyAssigned = false;
ImplicitProgramReference.EducationOrganizationId = value;
}
}
/// <summary>
/// The formal name of the program of instruction, training, services or benefits available through federal, state, or local agencies.
/// </summary>
// IS in a reference, NOT a lookup column
string ICohortProgram.ProgramName
{
get
{
if (ImplicitProgramReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitProgramReference.IsReferenceFullyDefined()))
return ImplicitProgramReference.ProgramName;
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
// Program
_programReferenceExplicitlyAssigned = false;
ImplicitProgramReference.ProgramName = value;
}
}
/// <summary>
/// Key for Program
/// </summary>
// IS in a reference (CohortProgram.ProgramTypeId), IS a lookup column
string ICohortProgram.ProgramType
{
get
{
if (ImplicitProgramReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitProgramReference.IsReferenceFullyDefined()))
return ImplicitProgramReference.ProgramType;
return null;
}
set
{
ImplicitProgramReference.ProgramType = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_cohort != null)
hash = hash * 23 + _cohort.GetHashCode();
//Referenced Property
if ((this as ICohortProgram).ProgramEducationOrganizationId != null)
hash = hash * 23 + (this as ICohortProgram).ProgramEducationOrganizationId.GetHashCode();
//Referenced Property
if ((this as ICohortProgram).ProgramName != null)
hash = hash * 23 + (this as ICohortProgram).ProgramName.GetHashCode();
//Unified Type Property
if ((this as ICohortProgram).ProgramType != null)
hash = hash * 23 + (this as ICohortProgram).ProgramType.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICohortProgram)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICohortProgram) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
}
// Aggregate: CohortScopeType
namespace EdFi.Ods.Api.Models.Resources.CohortScopeType
{
/// <summary>
/// A class which represents the edfi.CohortScopeType table of the CohortScopeType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CohortScopeType : ICohortScopeType, IHasETag, ICohortScopeTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CohortScopeType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CohortScope
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="cohortScopeTypeId"), NaturalKeyMember]
public int CohortScopeTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICohortScopeType).CohortScopeTypeId != null)
hash = hash * 23 + (this as ICohortScopeType).CohortScopeTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for CohortScope
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the cohort scope type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICohortScopeType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICohortScopeType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICohortScopeTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICohortScopeTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICohortScopeTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CohortType
namespace EdFi.Ods.Api.Models.Resources.CohortType
{
/// <summary>
/// A class which represents the edfi.CohortType table of the CohortType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CohortType : ICohortType, IHasETag, ICohortTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CohortType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for Cohort
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="cohortTypeId"), NaturalKeyMember]
public int CohortTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICohortType).CohortTypeId != null)
hash = hash * 23 + (this as ICohortType).CohortTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for Cohort type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the cohort type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICohortType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICohortType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICohortTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICohortTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICohortTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CohortYearType
namespace EdFi.Ods.Api.Models.Resources.CohortYearType
{
/// <summary>
/// A class which represents the edfi.CohortYearType table of the CohortYearType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CohortYearType : ICohortYearType, IHasETag, ICohortYearTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CohortYearType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CohortYear
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="cohortYearTypeId"), NaturalKeyMember]
public int CohortYearTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICohortYearType).CohortYearTypeId != null)
hash = hash * 23 + (this as ICohortYearType).CohortYearTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for CohortYear type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the cohort year type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICohortYearType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICohortYearType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICohortYearTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICohortYearTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICohortYearTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: College
namespace EdFi.Ods.Api.Models.Resources.College
{
/// <summary>
/// Represents a reference to the College resource.
/// </summary>
[DataContract]
public class CollegeReference
{
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { get; set; }
[DataMember(Name="fsaId"), NaturalKeyMember]
public string FSAId { 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 = new Link
{
Rel = "College",
Href = "/colleges"
+ "?educationOrganizationId=" + EducationOrganizationId
+ "&fsaId=" + WebUtility.UrlEncode(FSAId)
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return EducationOrganizationId != default(int)
&& FSAId != default(string)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the extension.College table of the College aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class College : ICollege, IHasETag, ICollegeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the College resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _educationOrganizationReferenceExplicitlyAssigned;
private EducationOrganization.EducationOrganizationReference _educationOrganizationReference;
private EducationOrganization.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.EducationOrganizationReference();
return _educationOrganizationReference;
}
}
[DataMember(Name="educationOrganizationReference")][NaturalKeyMember]
public EducationOrganization.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
// -------------------------------------------------------------
/// <summary>
/// The identifier assigned to an education agency by the State Education Agency (SEA). Also known as the State LEA ID.
/// </summary>
// IS in a reference, NOT a lookup column
int ICollege.EducationOrganizationId
{
get
{
if (ImplicitEducationOrganizationReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitEducationOrganizationReference.EducationOrganizationId;
return default(int);
}
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;
}
}
/// <summary>
/// FSA Identity.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="fsaId"), NaturalKeyMember]
public string FSAId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Referenced Property
if ((this as ICollege).EducationOrganizationId != null)
hash = hash * 23 + (this as ICollege).EducationOrganizationId.GetHashCode();
// Standard Property
if ((this as ICollege).FSAId != null)
hash = hash * 23 + (this as ICollege).FSAId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Carnegie Classification
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="carnegieClassification")]
public string CarnegieClassification { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICollege)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICollege) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICollegeSynchronizationSourceSupport.IsCarnegieClassificationSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CollegeMajorType
namespace EdFi.Ods.Api.Models.Resources.CollegeMajorType
{
/// <summary>
/// A class which represents the extension.CollegeMajorType table of the CollegeMajorType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CollegeMajorType : ICollegeMajorType, IHasETag, ICollegeMajorTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CollegeMajorType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CollegeMajor
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="collegeMajorTypeId"), NaturalKeyMember]
public int CollegeMajorTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICollegeMajorType).CollegeMajorTypeId != null)
hash = hash * 23 + (this as ICollegeMajorType).CollegeMajorTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// This column is deprecated.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description for the CollegeMajor type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The value for the CollegeMajor type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICollegeMajorType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICollegeMajorType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICollegeMajorTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICollegeMajorTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICollegeMajorTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CollegeScholarshipApplicationStatusType
namespace EdFi.Ods.Api.Models.Resources.CollegeScholarshipApplicationStatusType
{
/// <summary>
/// A class which represents the extension.CollegeScholarshipApplicationStatusType table of the CollegeScholarshipApplicationStatusType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CollegeScholarshipApplicationStatusType : ICollegeScholarshipApplicationStatusType, IHasETag, ICollegeScholarshipApplicationStatusTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CollegeScholarshipApplicationStatusType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CollegeScholarshipApplicationStatus
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="collegeScholarshipApplicationStatusTypeId"), NaturalKeyMember]
public int CollegeScholarshipApplicationStatusTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICollegeScholarshipApplicationStatusType).CollegeScholarshipApplicationStatusTypeId != null)
hash = hash * 23 + (this as ICollegeScholarshipApplicationStatusType).CollegeScholarshipApplicationStatusTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// This column is deprecated.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description for the CollegeScholarshipApplicationStatus type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The value for the CollegeScholarshipApplicationStatus type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICollegeScholarshipApplicationStatusType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICollegeScholarshipApplicationStatusType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICollegeScholarshipApplicationStatusTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICollegeScholarshipApplicationStatusTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICollegeScholarshipApplicationStatusTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CollegeSection
namespace EdFi.Ods.Api.Models.Resources.CollegeSection
{
/// <summary>
/// Represents a reference to the CollegeSection resource.
/// </summary>
[DataContract]
public class CollegeSectionReference
{
[DataMember(Name="classPeriodName"), NaturalKeyMember]
public string ClassPeriodName { get; set; }
[DataMember(Name="classroomIdentificationCode"), NaturalKeyMember]
public string ClassroomIdentificationCode { get; set; }
[DataMember(Name="localCourseCode"), NaturalKeyMember]
public string LocalCourseCode { get; set; }
[DataMember(Name="schoolId"), NaturalKeyMember]
public int SchoolId { get; set; }
[DataMember(Name="schoolYear"), NaturalKeyMember]
public short SchoolYear { get; set; }
[DataMember(Name="sequenceOfCourse"), NaturalKeyMember]
public int SequenceOfCourse { get; set; }
[DataMember(Name="termDescriptor"), NaturalKeyMember]
public string TermDescriptor { get; set; }
[DataMember(Name="uniqueSectionCode"), NaturalKeyMember]
public string UniqueSectionCode { 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 = new Link
{
Rel = "CollegeSection",
Href = "/collegeSections"
+ "?classPeriodName=" + WebUtility.UrlEncode(ClassPeriodName)
+ "&classroomIdentificationCode=" + WebUtility.UrlEncode(ClassroomIdentificationCode)
+ "&localCourseCode=" + WebUtility.UrlEncode(LocalCourseCode)
+ "&schoolId=" + SchoolId
+ "&schoolYear=" + SchoolYear
+ "&sequenceOfCourse=" + SequenceOfCourse
+ "&termDescriptor=" + WebUtility.UrlEncode(TermDescriptor)
+ "&uniqueSectionCode=" + WebUtility.UrlEncode(UniqueSectionCode)
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return ClassPeriodName != default(string)
&& ClassroomIdentificationCode != default(string)
&& LocalCourseCode != default(string)
&& SchoolId != default(int)
&& SchoolYear != default(short)
&& SequenceOfCourse != default(int)
&& TermDescriptor != default(string)
&& UniqueSectionCode != default(string)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the extension.CollegeSection table of the CollegeSection aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CollegeSection : ICollegeSection, IHasETag, ICollegeSectionSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CollegeSection resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _sectionReferenceExplicitlyAssigned;
private Section.SectionReference _sectionReference;
private Section.SectionReference ImplicitSectionReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_sectionReference == null && !_sectionReferenceExplicitlyAssigned)
_sectionReference = new Section.SectionReference();
return _sectionReference;
}
}
[DataMember(Name="sectionReference")][NaturalKeyMember]
public Section.SectionReference SectionReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitSectionReference != null
&& (_sectionReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference;
return null;
}
set
{
_sectionReferenceExplicitlyAssigned = true;
_sectionReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// An indication of the portion of a typical daily session in which students receive instruction in a specified subject (e.g., morning, sixth period, block period, or AB schedules).
/// </summary>
// IS in a reference, NOT a lookup column
string ICollegeSection.ClassPeriodName
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.ClassPeriodName;
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.ClassPeriodName = value;
}
}
/// <summary>
/// A unique number or alphanumeric code assigned to a room by a school, school system, state, or other agency or entity.
/// </summary>
// IS in a reference, NOT a lookup column
string ICollegeSection.ClassroomIdentificationCode
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.ClassroomIdentificationCode;
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.ClassroomIdentificationCode = value;
}
}
/// <summary>
/// The local code assigned by the School that identifies the course offering provided for the instruction of students.
/// </summary>
// IS in a reference, NOT a lookup column
string ICollegeSection.LocalCourseCode
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.LocalCourseCode;
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.LocalCourseCode = value;
}
}
/// <summary>
/// The identifier assigned to a school by the State Education Agency (SEA).
/// </summary>
// IS in a reference, NOT a lookup column
int ICollegeSection.SchoolId
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.SchoolId;
return default(int);
}
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.SchoolId = value;
}
}
/// <summary>
/// The identifier for the school year.
/// </summary>
// IS in a reference, NOT a lookup column
short ICollegeSection.SchoolYear
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.SchoolYear;
return default(short);
}
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.SchoolYear = value;
}
}
/// <summary>
/// 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.
/// </summary>
// IS in a reference, NOT a lookup column
int ICollegeSection.SequenceOfCourse
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.SequenceOfCourse;
return default(int);
}
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.SequenceOfCourse = value;
}
}
/// <summary>
/// The term for the Session during the school year.
/// </summary>
// IS in a reference (CollegeSection.TermDescriptorId), IS a lookup column
string ICollegeSection.TermDescriptor
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.TermDescriptor;
return null;
}
set
{
ImplicitSectionReference.TermDescriptor = value;
}
}
/// <summary>
/// A unique identifier for the Section that is defined by the classroom, the subjects taught, and the instructors who are assigned.
/// </summary>
// IS in a reference, NOT a lookup column
string ICollegeSection.UniqueSectionCode
{
get
{
if (ImplicitSectionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSectionReference.IsReferenceFullyDefined()))
return ImplicitSectionReference.UniqueSectionCode;
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
// Section
_sectionReferenceExplicitlyAssigned = false;
ImplicitSectionReference.UniqueSectionCode = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Referenced Property
if ((this as ICollegeSection).ClassPeriodName != null)
hash = hash * 23 + (this as ICollegeSection).ClassPeriodName.GetHashCode();
//Referenced Property
if ((this as ICollegeSection).ClassroomIdentificationCode != null)
hash = hash * 23 + (this as ICollegeSection).ClassroomIdentificationCode.GetHashCode();
//Referenced Property
if ((this as ICollegeSection).LocalCourseCode != null)
hash = hash * 23 + (this as ICollegeSection).LocalCourseCode.GetHashCode();
//Referenced Property
if ((this as ICollegeSection).SchoolId != null)
hash = hash * 23 + (this as ICollegeSection).SchoolId.GetHashCode();
//Referenced Property
if ((this as ICollegeSection).SchoolYear != null)
hash = hash * 23 + (this as ICollegeSection).SchoolYear.GetHashCode();
//Referenced Property
if ((this as ICollegeSection).SequenceOfCourse != null)
hash = hash * 23 + (this as ICollegeSection).SequenceOfCourse.GetHashCode();
//Unified Type Property
if ((this as ICollegeSection).TermDescriptor != null)
hash = hash * 23 + (this as ICollegeSection).TermDescriptor.GetHashCode();
//Referenced Property
if ((this as ICollegeSection).UniqueSectionCode != null)
hash = hash * 23 + (this as ICollegeSection).UniqueSectionCode.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// This is documentation.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="availableCredits")][Range(typeof(decimal), "-99.999", "99.999")]
public decimal? AvailableCredits { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICollegeSection)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICollegeSection) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICollegeSectionSynchronizationSourceSupport.IsAvailableCreditsSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CompetencyLevelDescriptor
namespace EdFi.Ods.Api.Models.Resources.CompetencyLevelDescriptor
{
/// <summary>
/// A class which represents the edfi.CompetencyLevelDescriptor table of the CompetencyLevelDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CompetencyLevelDescriptor : ICompetencyLevelDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, ICompetencyLevelDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CompetencyLevelDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The ID of the Competency Level Descriptor
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="competencyLevelDescriptorId"), NaturalKeyMember]
public int CompetencyLevelDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return CompetencyLevelDescriptorId; }
set { CompetencyLevelDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as ICompetencyLevelDescriptor).CompetencyLevelDescriptorId != null)
hash = hash * 23 + (this as ICompetencyLevelDescriptor).CompetencyLevelDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="performanceBaseConversionType")]
public string PerformanceBaseConversionType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICompetencyLevelDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICompetencyLevelDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICompetencyLevelDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICompetencyLevelDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICompetencyLevelDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool ICompetencyLevelDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool ICompetencyLevelDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool ICompetencyLevelDescriptorSynchronizationSourceSupport.IsPerformanceBaseConversionTypeSupported { get { return true; } set { } }
bool ICompetencyLevelDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool ICompetencyLevelDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CompetencyObjective
namespace EdFi.Ods.Api.Models.Resources.CompetencyObjective
{
/// <summary>
/// Represents a reference to the CompetencyObjective resource.
/// </summary>
[DataContract]
public class CompetencyObjectiveReference
{
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { get; set; }
[DataMember(Name="objective"), NaturalKeyMember]
public string Objective { get; set; }
[DataMember(Name="objectiveGradeLevelDescriptor"), NaturalKeyMember]
public string ObjectiveGradeLevelDescriptor { 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 = new Link
{
Rel = "CompetencyObjective",
Href = "/competencyObjectives"
+ "?educationOrganizationId=" + EducationOrganizationId
+ "&objective=" + WebUtility.UrlEncode(Objective)
+ "&objectiveGradeLevelDescriptor=" + WebUtility.UrlEncode(ObjectiveGradeLevelDescriptor)
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return EducationOrganizationId != default(int)
&& Objective != default(string)
&& ObjectiveGradeLevelDescriptor != default(string)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.CompetencyObjective table of the CompetencyObjective aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CompetencyObjective : ICompetencyObjective, IHasETag, ICompetencyObjectiveSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CompetencyObjective resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _educationOrganizationReferenceExplicitlyAssigned;
private EducationOrganization.EducationOrganizationReference _educationOrganizationReference;
private EducationOrganization.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.EducationOrganizationReference();
return _educationOrganizationReference;
}
}
[DataMember(Name="educationOrganizationReference")][NaturalKeyMember]
public EducationOrganization.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
// -------------------------------------------------------------
/// <summary>
/// The education organization that defined the competency objective
/// </summary>
// IS in a reference, NOT a lookup column
int ICompetencyObjective.EducationOrganizationId
{
get
{
if (ImplicitEducationOrganizationReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitEducationOrganizationReference.EducationOrganizationId;
return default(int);
}
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;
}
}
/// <summary>
/// The designated title of the learning objective.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="objective"), NaturalKeyMember]
public string Objective { get; set; }
/// <summary>
/// The grade level for which the competency objective is targeted,
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="objectiveGradeLevelDescriptor"), NaturalKeyMember]
public string ObjectiveGradeLevelDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Referenced Property
if ((this as ICompetencyObjective).EducationOrganizationId != null)
hash = hash * 23 + (this as ICompetencyObjective).EducationOrganizationId.GetHashCode();
// Standard Property
if ((this as ICompetencyObjective).Objective != null)
hash = hash * 23 + (this as ICompetencyObjective).Objective.GetHashCode();
// Standard Property
if ((this as ICompetencyObjective).ObjectiveGradeLevelDescriptor != null)
hash = hash * 23 + (this as ICompetencyObjective).ObjectiveGradeLevelDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The Identifier for the CompetencyObjective.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="competencyObjectiveId")]
public string CompetencyObjectiveId { get; set; }
/// <summary>
/// A detailed description of the entity.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// One or more statements that describes the criteria used by teachers and students to check for attainment of a competency objective. This criteria gives clear indications as to the degree to which learning is moving through the Zone or Proximal Development toward independent achievement of the CompetencyObjective.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="successCriteria")]
public string SuccessCriteria { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICompetencyObjective)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICompetencyObjective) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICompetencyObjectiveSynchronizationSourceSupport.IsCompetencyObjectiveIdSupported { get { return true; } set { } }
bool ICompetencyObjectiveSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICompetencyObjectiveSynchronizationSourceSupport.IsSuccessCriteriaSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: ContentClassType
namespace EdFi.Ods.Api.Models.Resources.ContentClassType
{
/// <summary>
/// A class which represents the edfi.ContentClassType table of the ContentClassType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ContentClassType : IContentClassType, IHasETag, IContentClassTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ContentClassType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="contentClassTypeId"), NaturalKeyMember]
public int ContentClassTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IContentClassType).ContentClassTypeId != null)
hash = hash * 23 + (this as IContentClassType).ContentClassTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IContentClassType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IContentClassType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IContentClassTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IContentClassTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IContentClassTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: ContinuationOfServicesReasonDescriptor
namespace EdFi.Ods.Api.Models.Resources.ContinuationOfServicesReasonDescriptor
{
/// <summary>
/// A class which represents the edfi.ContinuationOfServicesReasonDescriptor table of the ContinuationOfServicesReasonDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ContinuationOfServicesReasonDescriptor : IContinuationOfServicesReasonDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IContinuationOfServicesReasonDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ContinuationOfServicesReasonDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="continuationOfServicesReasonDescriptorId"), NaturalKeyMember]
public int ContinuationOfServicesReasonDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return ContinuationOfServicesReasonDescriptorId; }
set { ContinuationOfServicesReasonDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IContinuationOfServicesReasonDescriptor).ContinuationOfServicesReasonDescriptorId != null)
hash = hash * 23 + (this as IContinuationOfServicesReasonDescriptor).ContinuationOfServicesReasonDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="continuationOfServicesReasonType")]
public string ContinuationOfServicesReasonType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IContinuationOfServicesReasonDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IContinuationOfServicesReasonDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IContinuationOfServicesReasonDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IContinuationOfServicesReasonDescriptorSynchronizationSourceSupport.IsContinuationOfServicesReasonTypeSupported { get { return true; } set { } }
bool IContinuationOfServicesReasonDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IContinuationOfServicesReasonDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IContinuationOfServicesReasonDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IContinuationOfServicesReasonDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IContinuationOfServicesReasonDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IContinuationOfServicesReasonDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: ContinuationOfServicesReasonType
namespace EdFi.Ods.Api.Models.Resources.ContinuationOfServicesReasonType
{
/// <summary>
/// A class which represents the edfi.ContinuationOfServicesReasonType table of the ContinuationOfServicesReasonType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ContinuationOfServicesReasonType : IContinuationOfServicesReasonType, IHasETag, IContinuationOfServicesReasonTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ContinuationOfServicesReasonType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="continuationOfServicesReasonTypeId"), NaturalKeyMember]
public int ContinuationOfServicesReasonTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IContinuationOfServicesReasonType).ContinuationOfServicesReasonTypeId != null)
hash = hash * 23 + (this as IContinuationOfServicesReasonType).ContinuationOfServicesReasonTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IContinuationOfServicesReasonType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IContinuationOfServicesReasonType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IContinuationOfServicesReasonTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IContinuationOfServicesReasonTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IContinuationOfServicesReasonTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: ContractedStaff
namespace EdFi.Ods.Api.Models.Resources.ContractedStaff
{
/// <summary>
/// Represents a reference to the ContractedStaff resource.
/// </summary>
[DataContract]
public class ContractedStaffReference
{
[DataMember(Name="accountNumber"), NaturalKeyMember]
public string AccountNumber { get; set; }
[DataMember(Name="asOfDate"), NaturalKeyMember]
public DateTime AsOfDate { get; set; }
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { get; set; }
[DataMember(Name="fiscalYear"), NaturalKeyMember]
public int FiscalYear { get; set; }
[DataMember(Name="staffUniqueId"), NaturalKeyMember]
public string StaffUniqueId { 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 = new Link
{
Rel = "ContractedStaff",
Href = "/contractedStaffs"
+ "?accountNumber=" + WebUtility.UrlEncode(AccountNumber)
+ "&asOfDate=" + JsonConvert.SerializeObject(AsOfDate).Replace("\"", string.Empty)
+ "&educationOrganizationId=" + EducationOrganizationId
+ "&fiscalYear=" + FiscalYear
+ "&staffUniqueId=" + WebUtility.UrlEncode(StaffUniqueId)
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return AccountNumber != default(string)
&& AsOfDate != default(DateTime)
&& EducationOrganizationId != default(int)
&& FiscalYear != default(int)
&& StaffUniqueId != default(string)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.ContractedStaff table of the ContractedStaff aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class ContractedStaff : IContractedStaff, IHasETag, IContractedStaffSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the ContractedStaff resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _accountReferenceExplicitlyAssigned;
private Account.AccountReference _accountReference;
private Account.AccountReference ImplicitAccountReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_accountReference == null && !_accountReferenceExplicitlyAssigned)
_accountReference = new Account.AccountReference();
return _accountReference;
}
}
[DataMember(Name="accountReference")][NaturalKeyMember]
public Account.AccountReference AccountReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitAccountReference != null
&& (_accountReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference;
return null;
}
set
{
_accountReferenceExplicitlyAssigned = true;
_accountReference = value;
}
}
private bool _staffReferenceExplicitlyAssigned;
private Staff.StaffReference _staffReference;
private Staff.StaffReference ImplicitStaffReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_staffReference == null && !_staffReferenceExplicitlyAssigned)
_staffReference = new Staff.StaffReference();
return _staffReference;
}
}
[DataMember(Name="staffReference")][NaturalKeyMember]
public Staff.StaffReference StaffReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitStaffReference != null
&& (_staffReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitStaffReference.IsReferenceFullyDefined()))
return ImplicitStaffReference;
return null;
}
set
{
_staffReferenceExplicitlyAssigned = true;
_staffReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Account with which the Contracted Staff expense is associated.
/// </summary>
// IS in a reference, NOT a lookup column
string IContractedStaff.AccountNumber
{
get
{
if (ImplicitAccountReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference.AccountNumber;
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
// Account
_accountReferenceExplicitlyAssigned = false;
ImplicitAccountReference.AccountNumber = value;
}
}
/// <summary>
/// The date of the reported contracted staff element.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="asOfDate"), NaturalKeyMember]
public DateTime AsOfDate { get; set; }
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IContractedStaff.EducationOrganizationId
{
get
{
if (ImplicitAccountReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference.EducationOrganizationId;
return default(int);
}
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
// Account
_accountReferenceExplicitlyAssigned = false;
ImplicitAccountReference.EducationOrganizationId = value;
}
}
/// <summary>
/// The financial accounting year. NEDM: Fiscal Year
/// </summary>
// IS in a reference, NOT a lookup column
int IContractedStaff.FiscalYear
{
get
{
if (ImplicitAccountReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAccountReference.IsReferenceFullyDefined()))
return ImplicitAccountReference.FiscalYear;
return default(int);
}
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
// Account
_accountReferenceExplicitlyAssigned = false;
ImplicitAccountReference.FiscalYear = value;
}
}
/// <summary>
/// A unique alphanumeric code assigned to a staff.
/// </summary>
// IS in a reference, NOT a lookup column
string IContractedStaff.StaffUniqueId
{
get
{
if (ImplicitStaffReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitStaffReference.IsReferenceFullyDefined()))
return ImplicitStaffReference.StaffUniqueId;
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
// Staff
_staffReferenceExplicitlyAssigned = false;
ImplicitStaffReference.StaffUniqueId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Referenced Property
if ((this as IContractedStaff).AccountNumber != null)
hash = hash * 23 + (this as IContractedStaff).AccountNumber.GetHashCode();
// Standard Property
if ((this as IContractedStaff).AsOfDate != null)
hash = hash * 23 + (this as IContractedStaff).AsOfDate.GetHashCode();
//Referenced Property
if ((this as IContractedStaff).EducationOrganizationId != null)
hash = hash * 23 + (this as IContractedStaff).EducationOrganizationId.GetHashCode();
//Referenced Property
if ((this as IContractedStaff).FiscalYear != null)
hash = hash * 23 + (this as IContractedStaff).FiscalYear.GetHashCode();
//Referenced Property
if ((this as IContractedStaff).StaffUniqueId != null)
hash = hash * 23 + (this as IContractedStaff).StaffUniqueId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Current balance (amount paid to contractor) for account for the fiscal year.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="amountToDate")][Range(typeof(decimal), "-922337203685477.5808", "922337203685477.5807")]
public decimal AmountToDate { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IContractedStaff)target);
}
void IMappable.Map(object target)
{
this.MapTo((IContractedStaff) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IContractedStaffSynchronizationSourceSupport.IsAmountToDateSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CostRateType
namespace EdFi.Ods.Api.Models.Resources.CostRateType
{
/// <summary>
/// A class which represents the edfi.CostRateType table of the CostRateType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CostRateType : ICostRateType, IHasETag, ICostRateTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CostRateType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="costRateTypeId"), NaturalKeyMember]
public int CostRateTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICostRateType).CostRateTypeId != null)
hash = hash * 23 + (this as ICostRateType).CostRateTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for cost rate type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// Description of cost rate type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The rate by which the cost applies, e.g. Flat Fee, Per Student
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICostRateType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICostRateType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICostRateTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICostRateTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICostRateTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CountryDescriptor
namespace EdFi.Ods.Api.Models.Resources.CountryDescriptor
{
/// <summary>
/// A class which represents the edfi.CountryDescriptor table of the CountryDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CountryDescriptor : ICountryDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, ICountryDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CountryDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="countryDescriptorId"), NaturalKeyMember]
public int CountryDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return CountryDescriptorId; }
set { CountryDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as ICountryDescriptor).CountryDescriptorId != null)
hash = hash * 23 + (this as ICountryDescriptor).CountryDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICountryDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICountryDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICountryDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICountryDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICountryDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool ICountryDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool ICountryDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool ICountryDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool ICountryDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: Course
namespace EdFi.Ods.Api.Models.Resources.Course
{
/// <summary>
/// Represents a reference to the Course resource.
/// </summary>
[DataContract]
public class CourseReference
{
[DataMember(Name="code"), NaturalKeyMember]
public string CourseCode { get; set; }
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { 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 = new Link
{
Rel = "Course",
Href = "/courses"
+ "?code=" + WebUtility.UrlEncode(CourseCode)
+ "&educationOrganizationId=" + EducationOrganizationId
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return CourseCode != default(string)
&& EducationOrganizationId != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.Course table of the Course aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class Course : ICourse, IHasETag, ICourseSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public Course()
{
CourseCompetencyLevels = new List<CourseCompetencyLevel>();
CourseIdentificationCodes = new List<CourseIdentificationCode>();
CourseLearningObjectives = new List<CourseLearningObjective>();
CourseLearningStandards = new List<CourseLearningStandard>();
CourseLevelCharacteristics = new List<CourseLevelCharacteristic>();
CourseOfferedGradeLevels = new List<CourseOfferedGradeLevel>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the Course resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _educationOrganizationReferenceExplicitlyAssigned;
private EducationOrganization.EducationOrganizationReference _educationOrganizationReference;
private EducationOrganization.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.EducationOrganizationReference();
return _educationOrganizationReference;
}
}
[DataMember(Name="educationOrganizationReference")][NaturalKeyMember]
public EducationOrganization.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
// -------------------------------------------------------------
/// <summary>
/// TThe actual code that identifies the organization of subject matter and related learning experiences provided for the instruction of students.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="code"), NaturalKeyMember]
public string CourseCode { get; set; }
/// <summary>
/// The Education Organization that defines the curriculum and courses offered - often the LEA or school.
/// </summary>
// IS in a reference, NOT a lookup column
int ICourse.EducationOrganizationId
{
get
{
if (ImplicitEducationOrganizationReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitEducationOrganizationReference.IsReferenceFullyDefined()))
return ImplicitEducationOrganizationReference.EducationOrganizationId;
return default(int);
}
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;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICourse).CourseCode != null)
hash = hash * 23 + (this as ICourse).CourseCode.GetHashCode();
//Referenced Property
if ((this as ICourse).EducationOrganizationId != null)
hash = hash * 23 + (this as ICourse).EducationOrganizationId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The intended major subject area of the course. NEDM: Secondary Course Subject Area
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="academicSubjectDescriptor")]
public string AcademicSubjectDescriptor { get; set; }
/// <summary>
/// Key for CareerPathway
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="careerPathwayType")]
public string CareerPathwayType { get; set; }
/// <summary>
/// Key for CourseDefinedByType.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="definedByType")]
public string CourseDefinedByType { get; set; }
/// <summary>
/// A description of the content standards and goals covered in the course. Reference may be made to state or national content standards. NEDM: Course Description
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string CourseDescription { get; set; }
/// <summary>
/// An indicator of whether or not this course being described is included in the computation of the student's Grade Point Average, and if so, if it weighted differently from regular courses.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="gpaApplicabilityType")]
public string CourseGPAApplicabilityType { get; set; }
/// <summary>
/// The descriptive name given to a course of study offered in a school or other institution or organization. In departmentalized classes at the elementary, secondary, and postsecondary levels (and for staff development activities), this refers to the name by which a course is identified (e.g., American History, English III). For elementary and other non-departmentalized classes, it refers to any portion of the instruction for which a grade or report is assigned (e.g., reading, composition, spelling, and language arts).
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="title")]
public string CourseTitle { get; set; }
/// <summary>
/// Date the course was adopted by the education agency.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="dateCourseAdopted")]
public DateTime? DateCourseAdopted { get; set; }
/// <summary>
/// An indication that this course may satisfy high school graduation requirements in the course's subject area.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="highSchoolCourseRequirement")]
public bool? HighSchoolCourseRequirement { get; set; }
/// <summary>
/// Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="maximumAvailableCreditConversion")][Range(typeof(decimal), "-9999999.99", "9999999.99")]
public decimal? MaximumAvailableCreditConversion { get; set; }
/// <summary>
/// The maximum amount of credit available to a student who successfully completes the course
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="maximumAvailableCredits")][Range(typeof(decimal), "-9999999.99", "9999999.99")]
public decimal? MaximumAvailableCredits { get; set; }
/// <summary>
/// Key for Credit
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="maximumAvailableCreditType")]
public string MaximumAvailableCreditType { get; set; }
/// <summary>
/// Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="minimumAvailableCreditConversion")][Range(typeof(decimal), "-9999999.99", "9999999.99")]
public decimal? MinimumAvailableCreditConversion { get; set; }
/// <summary>
/// The minimum amount of credit available to a student who successfully completes the course
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="minimumAvailableCredits")][Range(typeof(decimal), "-9999999.99", "9999999.99")]
public decimal? MinimumAvailableCredits { get; set; }
/// <summary>
/// Key for Credit
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="minimumAvailableCreditType")]
public string MinimumAvailableCreditType { get; set; }
/// <summary>
/// The number of parts identified for a course.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="numberOfParts")]
public int NumberOfParts { get; set; }
/// <summary>
/// The actual or estimated number of clock minutes required for class completion. This number is especially important for career and technical education classes and may represent (in minutes) the clock hour requirement of the class.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="timeRequiredForCompletion")]
public int? TimeRequiredForCompletion { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<CourseCompetencyLevel> _courseCompetencyLevels;
private IList<ICourseCompetencyLevel> _courseCompetencyLevelsCovariant;
[DataMember(Name="competencyLevels")]
public IList<CourseCompetencyLevel> CourseCompetencyLevels
{
get { return _courseCompetencyLevels; }
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 ListAdapterWithAddNotifications<CourseCompetencyLevel>(value,
(s, e) => ((ICourseCompetencyLevel)e.Item).Course = this);
_courseCompetencyLevels = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<ICourseCompetencyLevel, CourseCompetencyLevel>(value);
covariantList.ItemAdded += (s, e) => ((ICourseCompetencyLevel)e.Item).Course = this;
_courseCompetencyLevelsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<ICourseCompetencyLevel> ICourse.CourseCompetencyLevels
{
get { return _courseCompetencyLevelsCovariant; }
set { CourseCompetencyLevels = new List<CourseCompetencyLevel>(value.Cast<CourseCompetencyLevel>()); }
}
private IList<CourseIdentificationCode> _courseIdentificationCodes;
private IList<ICourseIdentificationCode> _courseIdentificationCodesCovariant;
[DataMember(Name="identificationCodes")]
public IList<CourseIdentificationCode> CourseIdentificationCodes
{
get { return _courseIdentificationCodes; }
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 ListAdapterWithAddNotifications<CourseIdentificationCode>(value,
(s, e) => ((ICourseIdentificationCode)e.Item).Course = this);
_courseIdentificationCodes = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<ICourseIdentificationCode, CourseIdentificationCode>(value);
covariantList.ItemAdded += (s, e) => ((ICourseIdentificationCode)e.Item).Course = this;
_courseIdentificationCodesCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<ICourseIdentificationCode> ICourse.CourseIdentificationCodes
{
get { return _courseIdentificationCodesCovariant; }
set { CourseIdentificationCodes = new List<CourseIdentificationCode>(value.Cast<CourseIdentificationCode>()); }
}
private IList<CourseLearningObjective> _courseLearningObjectives;
private IList<ICourseLearningObjective> _courseLearningObjectivesCovariant;
[DataMember(Name="learningObjectives")]
public IList<CourseLearningObjective> CourseLearningObjectives
{
get { return _courseLearningObjectives; }
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 ListAdapterWithAddNotifications<CourseLearningObjective>(value,
(s, e) => ((ICourseLearningObjective)e.Item).Course = this);
_courseLearningObjectives = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<ICourseLearningObjective, CourseLearningObjective>(value);
covariantList.ItemAdded += (s, e) => ((ICourseLearningObjective)e.Item).Course = this;
_courseLearningObjectivesCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<ICourseLearningObjective> ICourse.CourseLearningObjectives
{
get { return _courseLearningObjectivesCovariant; }
set { CourseLearningObjectives = new List<CourseLearningObjective>(value.Cast<CourseLearningObjective>()); }
}
private IList<CourseLearningStandard> _courseLearningStandards;
private IList<ICourseLearningStandard> _courseLearningStandardsCovariant;
[DataMember(Name="learningStandards")]
public IList<CourseLearningStandard> CourseLearningStandards
{
get { return _courseLearningStandards; }
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 ListAdapterWithAddNotifications<CourseLearningStandard>(value,
(s, e) => ((ICourseLearningStandard)e.Item).Course = this);
_courseLearningStandards = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<ICourseLearningStandard, CourseLearningStandard>(value);
covariantList.ItemAdded += (s, e) => ((ICourseLearningStandard)e.Item).Course = this;
_courseLearningStandardsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<ICourseLearningStandard> ICourse.CourseLearningStandards
{
get { return _courseLearningStandardsCovariant; }
set { CourseLearningStandards = new List<CourseLearningStandard>(value.Cast<CourseLearningStandard>()); }
}
private IList<CourseLevelCharacteristic> _courseLevelCharacteristics;
private IList<ICourseLevelCharacteristic> _courseLevelCharacteristicsCovariant;
[DataMember(Name="levelCharacteristics")]
public IList<CourseLevelCharacteristic> CourseLevelCharacteristics
{
get { return _courseLevelCharacteristics; }
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 ListAdapterWithAddNotifications<CourseLevelCharacteristic>(value,
(s, e) => ((ICourseLevelCharacteristic)e.Item).Course = this);
_courseLevelCharacteristics = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<ICourseLevelCharacteristic, CourseLevelCharacteristic>(value);
covariantList.ItemAdded += (s, e) => ((ICourseLevelCharacteristic)e.Item).Course = this;
_courseLevelCharacteristicsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<ICourseLevelCharacteristic> ICourse.CourseLevelCharacteristics
{
get { return _courseLevelCharacteristicsCovariant; }
set { CourseLevelCharacteristics = new List<CourseLevelCharacteristic>(value.Cast<CourseLevelCharacteristic>()); }
}
private IList<CourseOfferedGradeLevel> _courseOfferedGradeLevels;
private IList<ICourseOfferedGradeLevel> _courseOfferedGradeLevelsCovariant;
[DataMember(Name="offeredGradeLevels")]
public IList<CourseOfferedGradeLevel> CourseOfferedGradeLevels
{
get { return _courseOfferedGradeLevels; }
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 ListAdapterWithAddNotifications<CourseOfferedGradeLevel>(value,
(s, e) => ((ICourseOfferedGradeLevel)e.Item).Course = this);
_courseOfferedGradeLevels = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<ICourseOfferedGradeLevel, CourseOfferedGradeLevel>(value);
covariantList.ItemAdded += (s, e) => ((ICourseOfferedGradeLevel)e.Item).Course = this;
_courseOfferedGradeLevelsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<ICourseOfferedGradeLevel> ICourse.CourseOfferedGradeLevels
{
get { return _courseOfferedGradeLevelsCovariant; }
set { CourseOfferedGradeLevels = new List<CourseOfferedGradeLevel>(value.Cast<CourseOfferedGradeLevel>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_courseCompetencyLevels != null) foreach (var item in _courseCompetencyLevels)
{
item.Course = this;
}
if (_courseIdentificationCodes != null) foreach (var item in _courseIdentificationCodes)
{
item.Course = this;
}
if (_courseLearningObjectives != null) foreach (var item in _courseLearningObjectives)
{
item.Course = this;
}
if (_courseLearningStandards != null) foreach (var item in _courseLearningStandards)
{
item.Course = this;
}
if (_courseLevelCharacteristics != null) foreach (var item in _courseLevelCharacteristics)
{
item.Course = this;
}
if (_courseOfferedGradeLevels != null) foreach (var item in _courseOfferedGradeLevels)
{
item.Course = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourse)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourse) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseSynchronizationSourceSupport.IsAcademicSubjectDescriptorSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCareerPathwayTypeSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCourseCompetencyLevelsSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCourseDefinedByTypeSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCourseDescriptionSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCourseGPAApplicabilityTypeSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCourseIdentificationCodesSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCourseLearningObjectivesSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCourseLearningStandardsSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCourseLevelCharacteristicsSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCourseOfferedGradeLevelsSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsCourseTitleSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsDateCourseAdoptedSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsHighSchoolCourseRequirementSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsMaximumAvailableCreditConversionSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsMaximumAvailableCreditsSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsMaximumAvailableCreditTypeSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsMinimumAvailableCreditConversionSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsMinimumAvailableCreditsSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsMinimumAvailableCreditTypeSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsNumberOfPartsSupported { get { return true; } set { } }
bool ICourseSynchronizationSourceSupport.IsTimeRequiredForCompletionSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<ICourseCompetencyLevel, bool> ICourseSynchronizationSourceSupport.IsCourseCompetencyLevelIncluded
{
get { return null; }
set { }
}
Func<ICourseIdentificationCode, bool> ICourseSynchronizationSourceSupport.IsCourseIdentificationCodeIncluded
{
get { return null; }
set { }
}
Func<ICourseLearningObjective, bool> ICourseSynchronizationSourceSupport.IsCourseLearningObjectiveIncluded
{
get { return null; }
set { }
}
Func<ICourseLearningStandard, bool> ICourseSynchronizationSourceSupport.IsCourseLearningStandardIncluded
{
get { return null; }
set { }
}
Func<ICourseLevelCharacteristic, bool> ICourseSynchronizationSourceSupport.IsCourseLevelCharacteristicIncluded
{
get { return null; }
set { }
}
Func<ICourseOfferedGradeLevel, bool> ICourseSynchronizationSourceSupport.IsCourseOfferedGradeLevelIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.CourseCompetencyLevel table of the Course aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseCompetencyLevel : ICourseCompetencyLevel, ICourseCompetencyLevelSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private ICourse _course;
[IgnoreDataMember] // Don't modify back references during acceptance testing
ICourse ICourseCompetencyLevel.Course
{
get { return _course; }
set { _course = value; }
}
internal ICourse Course
{
set { _course = value; }
}
/// <summary>
/// The ID of the Competency Level Descriptor
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="competencyLevelDescriptor"), NaturalKeyMember]
public string CompetencyLevelDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_course != null)
hash = hash * 23 + _course.GetHashCode();
// Standard Property
if ((this as ICourseCompetencyLevel).CompetencyLevelDescriptor != null)
hash = hash * 23 + (this as ICourseCompetencyLevel).CompetencyLevelDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseCompetencyLevel)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseCompetencyLevel) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.CourseIdentificationCode table of the Course aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseIdentificationCode : ICourseIdentificationCode, ICourseIdentificationCodeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private ICourse _course;
[IgnoreDataMember] // Don't modify back references during acceptance testing
ICourse ICourseIdentificationCode.Course
{
get { return _course; }
set { _course = value; }
}
internal ICourse Course
{
set { _course = value; }
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="courseIdentificationSystemDescriptor"), NaturalKeyMember]
public string CourseIdentificationSystemDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_course != null)
hash = hash * 23 + _course.GetHashCode();
// Standard Property
if ((this as ICourseIdentificationCode).CourseIdentificationSystemDescriptor != null)
hash = hash * 23 + (this as ICourseIdentificationCode).CourseIdentificationSystemDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The organization code or name assigning the staff Identification Code.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="assigningOrganizationIdentificationCode")]
public string AssigningOrganizationIdentificationCode { get; set; }
/// <summary>
/// A unique number or alphanumeric code assigned to a space, room, site, building, individual, organization, program, or institution by a school, school system, a state, or other agency or entity.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="identificationCode")]
public string IdentificationCode { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseIdentificationCode)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseIdentificationCode) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseIdentificationCodeSynchronizationSourceSupport.IsAssigningOrganizationIdentificationCodeSupported { get { return true; } set { } }
bool ICourseIdentificationCodeSynchronizationSourceSupport.IsIdentificationCodeSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.CourseLearningObjective table of the Course aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseLearningObjective : ICourseLearningObjective, ICourseLearningObjectiveSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// References
// -------------------------------------------------------------
private bool _learningObjectiveReferenceExplicitlyAssigned;
private LearningObjective.LearningObjectiveReference _learningObjectiveReference;
private LearningObjective.LearningObjectiveReference ImplicitLearningObjectiveReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_learningObjectiveReference == null && !_learningObjectiveReferenceExplicitlyAssigned)
_learningObjectiveReference = new LearningObjective.LearningObjectiveReference();
return _learningObjectiveReference;
}
}
[DataMember(Name="learningObjectiveReference")][NaturalKeyMember]
public LearningObjective.LearningObjectiveReference LearningObjectiveReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitLearningObjectiveReference != null
&& (_learningObjectiveReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitLearningObjectiveReference.IsReferenceFullyDefined()))
return ImplicitLearningObjectiveReference;
return null;
}
set
{
_learningObjectiveReferenceExplicitlyAssigned = true;
_learningObjectiveReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
private ICourse _course;
[IgnoreDataMember] // Don't modify back references during acceptance testing
ICourse ICourseLearningObjective.Course
{
get { return _course; }
set { _course = value; }
}
internal ICourse Course
{
set { _course = value; }
}
/// <summary>
/// The description of the content or subject area (e.g., arts, mathematics, reading, stenography, or a foreign language) of an assessment.
/// </summary>
// IS in a reference (CourseLearningObjective.AcademicSubjectDescriptorId), IS a lookup column
string ICourseLearningObjective.AcademicSubjectDescriptor
{
get
{
if (ImplicitLearningObjectiveReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitLearningObjectiveReference.IsReferenceFullyDefined()))
return ImplicitLearningObjectiveReference.AcademicSubjectDescriptor;
return null;
}
set
{
ImplicitLearningObjectiveReference.AcademicSubjectDescriptor = value;
}
}
/// <summary>
/// The designated title of the learning objective.
/// </summary>
// IS in a reference, NOT a lookup column
string ICourseLearningObjective.Objective
{
get
{
if (ImplicitLearningObjectiveReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitLearningObjectiveReference.IsReferenceFullyDefined()))
return ImplicitLearningObjectiveReference.Objective;
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
// LearningObjective
_learningObjectiveReferenceExplicitlyAssigned = false;
ImplicitLearningObjectiveReference.Objective = value;
}
}
/// <summary>
/// The grade level for which the learning objective is targeted,
/// </summary>
// IS in a reference (CourseLearningObjective.ObjectiveGradeLevelDescriptorId), IS a lookup column
string ICourseLearningObjective.ObjectiveGradeLevelDescriptor
{
get
{
if (ImplicitLearningObjectiveReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitLearningObjectiveReference.IsReferenceFullyDefined()))
return ImplicitLearningObjectiveReference.ObjectiveGradeLevelDescriptor;
return null;
}
set
{
ImplicitLearningObjectiveReference.ObjectiveGradeLevelDescriptor = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_course != null)
hash = hash * 23 + _course.GetHashCode();
//Unified Type Property
if ((this as ICourseLearningObjective).AcademicSubjectDescriptor != null)
hash = hash * 23 + (this as ICourseLearningObjective).AcademicSubjectDescriptor.GetHashCode();
//Referenced Property
if ((this as ICourseLearningObjective).Objective != null)
hash = hash * 23 + (this as ICourseLearningObjective).Objective.GetHashCode();
//Unified Type Property
if ((this as ICourseLearningObjective).ObjectiveGradeLevelDescriptor != null)
hash = hash * 23 + (this as ICourseLearningObjective).ObjectiveGradeLevelDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseLearningObjective)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseLearningObjective) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.CourseLearningStandard table of the Course aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseLearningStandard : ICourseLearningStandard, ICourseLearningStandardSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// References
// -------------------------------------------------------------
private bool _learningStandardReferenceExplicitlyAssigned;
private LearningStandard.LearningStandardReference _learningStandardReference;
private LearningStandard.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.LearningStandardReference();
return _learningStandardReference;
}
}
[DataMember(Name="learningStandardReference")][NaturalKeyMember]
public LearningStandard.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 ICourse _course;
[IgnoreDataMember] // Don't modify back references during acceptance testing
ICourse ICourseLearningStandard.Course
{
get { return _course; }
set { _course = value; }
}
internal ICourse Course
{
set { _course = value; }
}
/// <summary>
/// The Identifier for the specific learning standard (e.g., 111.15.3.1.A)
/// </summary>
// IS in a reference, NOT a lookup column
string ICourseLearningStandard.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
// LearningStandard
_learningStandardReferenceExplicitlyAssigned = false;
ImplicitLearningStandardReference.LearningStandardId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_course != null)
hash = hash * 23 + _course.GetHashCode();
//Referenced Property
if ((this as ICourseLearningStandard).LearningStandardId != null)
hash = hash * 23 + (this as ICourseLearningStandard).LearningStandardId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseLearningStandard)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseLearningStandard) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.CourseLevelCharacteristic table of the Course aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseLevelCharacteristic : ICourseLevelCharacteristic, ICourseLevelCharacteristicSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private ICourse _course;
[IgnoreDataMember] // Don't modify back references during acceptance testing
ICourse ICourseLevelCharacteristic.Course
{
get { return _course; }
set { _course = value; }
}
internal ICourse Course
{
set { _course = value; }
}
/// <summary>
/// Specification of the specific program or designation associated with the course. For example: Ap, IB, Dual Credit, CTE, etc.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="type"), NaturalKeyMember]
public string CourseLevelCharacteristicType { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_course != null)
hash = hash * 23 + _course.GetHashCode();
// Standard Property
if ((this as ICourseLevelCharacteristic).CourseLevelCharacteristicType != null)
hash = hash * 23 + (this as ICourseLevelCharacteristic).CourseLevelCharacteristicType.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseLevelCharacteristic)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseLevelCharacteristic) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.CourseOfferedGradeLevel table of the Course aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseOfferedGradeLevel : ICourseOfferedGradeLevel, ICourseOfferedGradeLevelSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private ICourse _course;
[IgnoreDataMember] // Don't modify back references during acceptance testing
ICourse ICourseOfferedGradeLevel.Course
{
get { return _course; }
set { _course = value; }
}
internal ICourse Course
{
set { _course = value; }
}
/// <summary>
/// The grade levels in which the course is offered.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="gradeLevelDescriptor"), NaturalKeyMember]
public string GradeLevelDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_course != null)
hash = hash * 23 + _course.GetHashCode();
// Standard Property
if ((this as ICourseOfferedGradeLevel).GradeLevelDescriptor != null)
hash = hash * 23 + (this as ICourseOfferedGradeLevel).GradeLevelDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseOfferedGradeLevel)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseOfferedGradeLevel) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
}
// Aggregate: CourseAttemptResultType
namespace EdFi.Ods.Api.Models.Resources.CourseAttemptResultType
{
/// <summary>
/// A class which represents the edfi.CourseAttemptResultType table of the CourseAttemptResultType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseAttemptResultType : ICourseAttemptResultType, IHasETag, ICourseAttemptResultTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CourseAttemptResultType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CourseAttemptResult
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="courseAttemptResultTypeId"), NaturalKeyMember]
public int CourseAttemptResultTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICourseAttemptResultType).CourseAttemptResultTypeId != null)
hash = hash * 23 + (this as ICourseAttemptResultType).CourseAttemptResultTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for CourseAttemptResult type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the course attempt result type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseAttemptResultType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseAttemptResultType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseAttemptResultTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICourseAttemptResultTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICourseAttemptResultTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CourseDefinedByType
namespace EdFi.Ods.Api.Models.Resources.CourseDefinedByType
{
/// <summary>
/// A class which represents the edfi.CourseDefinedByType table of the CourseDefinedByType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseDefinedByType : ICourseDefinedByType, IHasETag, ICourseDefinedByTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CourseDefinedByType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CourseDefinedByType.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="courseDefinedByTypeId"), NaturalKeyMember]
public int CourseDefinedByTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICourseDefinedByType).CourseDefinedByTypeId != null)
hash = hash * 23 + (this as ICourseDefinedByType).CourseDefinedByTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code value for the course defined by type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the course defined by type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseDefinedByType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseDefinedByType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseDefinedByTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICourseDefinedByTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICourseDefinedByTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CourseGPAApplicabilityType
namespace EdFi.Ods.Api.Models.Resources.CourseGPAApplicabilityType
{
/// <summary>
/// A class which represents the edfi.CourseGPAApplicabilityType table of the CourseGPAApplicabilityType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseGPAApplicabilityType : ICourseGPAApplicabilityType, IHasETag, ICourseGPAApplicabilityTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CourseGPAApplicabilityType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CourseGPAApplicability
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="courseGPAApplicabilityTypeId"), NaturalKeyMember]
public int CourseGPAApplicabilityTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICourseGPAApplicabilityType).CourseGPAApplicabilityTypeId != null)
hash = hash * 23 + (this as ICourseGPAApplicabilityType).CourseGPAApplicabilityTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for CourseGPAApplicability type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the course GPA applicability type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseGPAApplicabilityType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseGPAApplicabilityType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseGPAApplicabilityTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICourseGPAApplicabilityTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICourseGPAApplicabilityTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CourseIdentificationSystemDescriptor
namespace EdFi.Ods.Api.Models.Resources.CourseIdentificationSystemDescriptor
{
/// <summary>
/// A class which represents the edfi.CourseIdentificationSystemDescriptor table of the CourseIdentificationSystemDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseIdentificationSystemDescriptor : ICourseIdentificationSystemDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, ICourseIdentificationSystemDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CourseIdentificationSystemDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="courseIdentificationSystemDescriptorId"), NaturalKeyMember]
public int CourseIdentificationSystemDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return CourseIdentificationSystemDescriptorId; }
set { CourseIdentificationSystemDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as ICourseIdentificationSystemDescriptor).CourseIdentificationSystemDescriptorId != null)
hash = hash * 23 + (this as ICourseIdentificationSystemDescriptor).CourseIdentificationSystemDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Key for CourseCodeSystem
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="courseIdentificationSystemType")]
public string CourseIdentificationSystemType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseIdentificationSystemDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseIdentificationSystemDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseIdentificationSystemDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICourseIdentificationSystemDescriptorSynchronizationSourceSupport.IsCourseIdentificationSystemTypeSupported { get { return true; } set { } }
bool ICourseIdentificationSystemDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICourseIdentificationSystemDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool ICourseIdentificationSystemDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool ICourseIdentificationSystemDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool ICourseIdentificationSystemDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool ICourseIdentificationSystemDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CourseIdentificationSystemType
namespace EdFi.Ods.Api.Models.Resources.CourseIdentificationSystemType
{
/// <summary>
/// A class which represents the edfi.CourseIdentificationSystemType table of the CourseIdentificationSystemType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseIdentificationSystemType : ICourseIdentificationSystemType, IHasETag, ICourseIdentificationSystemTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CourseIdentificationSystemType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CourseCodeSystem
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="courseIdentificationSystemTypeId"), NaturalKeyMember]
public int CourseIdentificationSystemTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICourseIdentificationSystemType).CourseIdentificationSystemTypeId != null)
hash = hash * 23 + (this as ICourseIdentificationSystemType).CourseIdentificationSystemTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for CourseCodeSystem type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the course identification system type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseIdentificationSystemType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseIdentificationSystemType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseIdentificationSystemTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICourseIdentificationSystemTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICourseIdentificationSystemTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CourseLevelCharacteristicType
namespace EdFi.Ods.Api.Models.Resources.CourseLevelCharacteristicType
{
/// <summary>
/// A class which represents the edfi.CourseLevelCharacteristicType table of the CourseLevelCharacteristicType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseLevelCharacteristicType : ICourseLevelCharacteristicType, IHasETag, ICourseLevelCharacteristicTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CourseLevelCharacteristicType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Code for CourseLevelCharacteristics type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="courseLevelCharacteristicTypeId"), NaturalKeyMember]
public int CourseLevelCharacteristicTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICourseLevelCharacteristicType).CourseLevelCharacteristicTypeId != null)
hash = hash * 23 + (this as ICourseLevelCharacteristicType).CourseLevelCharacteristicTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for CourseLevelCharacteristics type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the course level characteristic type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseLevelCharacteristicType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseLevelCharacteristicType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseLevelCharacteristicTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICourseLevelCharacteristicTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICourseLevelCharacteristicTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CourseOffering
namespace EdFi.Ods.Api.Models.Resources.CourseOffering
{
/// <summary>
/// Represents a reference to the CourseOffering resource.
/// </summary>
[DataContract]
public class CourseOfferingReference
{
[DataMember(Name="localCourseCode"), NaturalKeyMember]
public string LocalCourseCode { get; set; }
[DataMember(Name="schoolId"), NaturalKeyMember]
public int SchoolId { get; set; }
[DataMember(Name="schoolYear"), NaturalKeyMember]
public short SchoolYear { get; set; }
[DataMember(Name="termDescriptor"), NaturalKeyMember]
public string TermDescriptor { 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 = new Link
{
Rel = "CourseOffering",
Href = "/courseOfferings"
+ "?localCourseCode=" + WebUtility.UrlEncode(LocalCourseCode)
+ "&schoolId=" + SchoolId
+ "&schoolYear=" + SchoolYear
+ "&termDescriptor=" + WebUtility.UrlEncode(TermDescriptor)
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return LocalCourseCode != default(string)
&& SchoolId != default(int)
&& SchoolYear != default(short)
&& TermDescriptor != default(string)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.CourseOffering table of the CourseOffering aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseOffering : ICourseOffering, IHasETag, ICourseOfferingSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public CourseOffering()
{
CourseOfferingCurriculumUseds = new List<CourseOfferingCurriculumUsed>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the CourseOffering resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _courseReferenceExplicitlyAssigned;
private Course.CourseReference _courseReference;
private Course.CourseReference ImplicitCourseReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_courseReference == null && !_courseReferenceExplicitlyAssigned)
_courseReference = new Course.CourseReference();
return _courseReference;
}
}
[DataMember(Name="courseReference")]
public Course.CourseReference CourseReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitCourseReference != null
&& (_courseReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitCourseReference.IsReferenceFullyDefined()))
return ImplicitCourseReference;
return null;
}
set
{
_courseReferenceExplicitlyAssigned = true;
_courseReference = value;
}
}
private bool _schoolReferenceExplicitlyAssigned;
private School.SchoolReference _schoolReference;
private School.SchoolReference ImplicitSchoolReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_schoolReference == null && !_schoolReferenceExplicitlyAssigned)
_schoolReference = new School.SchoolReference();
return _schoolReference;
}
}
[DataMember(Name="schoolReference")][NaturalKeyMember]
public School.SchoolReference SchoolReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitSchoolReference != null
&& (_schoolReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference;
return null;
}
set
{
_schoolReferenceExplicitlyAssigned = true;
_schoolReference = value;
}
}
private bool _sessionReferenceExplicitlyAssigned;
private Session.SessionReference _sessionReference;
private Session.SessionReference ImplicitSessionReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_sessionReference == null && !_sessionReferenceExplicitlyAssigned)
_sessionReference = new Session.SessionReference();
return _sessionReference;
}
}
[DataMember(Name="sessionReference")][NaturalKeyMember]
public Session.SessionReference SessionReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitSessionReference != null
&& (_sessionReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitSessionReference.IsReferenceFullyDefined()))
return ImplicitSessionReference;
return null;
}
set
{
_sessionReferenceExplicitlyAssigned = true;
_sessionReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The local code assigned by the LEA that identifies the organization of subject matter and related learning experiences provided for the instruction of students.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="localCourseCode"), NaturalKeyMember]
public string LocalCourseCode { get; set; }
/// <summary>
/// School Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int ICourseOffering.SchoolId
{
get
{
if (ImplicitSchoolReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference.SchoolId;
return default(int);
}
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
// School
_schoolReferenceExplicitlyAssigned = false;
ImplicitSchoolReference.SchoolId = value;
// Session
_sessionReferenceExplicitlyAssigned = false;
ImplicitSessionReference.SchoolId = value;
}
}
/// <summary>
/// The identifier for the school year.
/// </summary>
// IS in a reference, NOT a lookup column
short ICourseOffering.SchoolYear
{
get
{
if (ImplicitSessionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSessionReference.IsReferenceFullyDefined()))
return ImplicitSessionReference.SchoolYear;
return default(short);
}
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
// Session
_sessionReferenceExplicitlyAssigned = false;
ImplicitSessionReference.SchoolYear = value;
}
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// IS in a reference (CourseOffering.TermDescriptorId), IS a lookup column
string ICourseOffering.TermDescriptor
{
get
{
if (ImplicitSessionReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSessionReference.IsReferenceFullyDefined()))
return ImplicitSessionReference.TermDescriptor;
return null;
}
set
{
ImplicitSessionReference.TermDescriptor = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICourseOffering).LocalCourseCode != null)
hash = hash * 23 + (this as ICourseOffering).LocalCourseCode.GetHashCode();
//Referenced Property
if ((this as ICourseOffering).SchoolId != null)
hash = hash * 23 + (this as ICourseOffering).SchoolId.GetHashCode();
//Referenced Property
if ((this as ICourseOffering).SchoolYear != null)
hash = hash * 23 + (this as ICourseOffering).SchoolYear.GetHashCode();
//Unified Type Property
if ((this as ICourseOffering).TermDescriptor != null)
hash = hash * 23 + (this as ICourseOffering).TermDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// TThe actual code that identifies the organization of subject matter and related learning experiences provided for the instruction of students.
/// </summary>
// IS in a reference, NOT a lookup column
string ICourseOffering.CourseCode
{
get
{
if (ImplicitCourseReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitCourseReference.IsReferenceFullyDefined()))
return ImplicitCourseReference.CourseCode;
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
// Course
_courseReferenceExplicitlyAssigned = false;
ImplicitCourseReference.CourseCode = value;
}
}
/// <summary>
/// The Education Organization that defines the curriculum and courses offered - often the LEA or school.
/// </summary>
// IS in a reference, NOT a lookup column
int ICourseOffering.EducationOrganizationId
{
get
{
if (ImplicitCourseReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitCourseReference.IsReferenceFullyDefined()))
return ImplicitCourseReference.EducationOrganizationId;
return default(int);
}
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
// Course
_courseReferenceExplicitlyAssigned = false;
ImplicitCourseReference.EducationOrganizationId = value;
}
}
/// <summary>
/// The planned total number of clock minutes of instruction for this course offering. Generally, this should be at least as many minutes as is required for completion by the related state- or district-defined course.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="instructionalTimePlanned")]
public int? InstructionalTimePlanned { get; set; }
/// <summary>
/// The descriptive name given to a course of study offered in the school, if different from the CourseTitle.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="localCourseTitle")]
public string LocalCourseTitle { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<CourseOfferingCurriculumUsed> _courseOfferingCurriculumUseds;
private IList<ICourseOfferingCurriculumUsed> _courseOfferingCurriculumUsedsCovariant;
[DataMember(Name="curriculumUseds")]
public IList<CourseOfferingCurriculumUsed> CourseOfferingCurriculumUseds
{
get { return _courseOfferingCurriculumUseds; }
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 ListAdapterWithAddNotifications<CourseOfferingCurriculumUsed>(value,
(s, e) => ((ICourseOfferingCurriculumUsed)e.Item).CourseOffering = this);
_courseOfferingCurriculumUseds = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<ICourseOfferingCurriculumUsed, CourseOfferingCurriculumUsed>(value);
covariantList.ItemAdded += (s, e) => ((ICourseOfferingCurriculumUsed)e.Item).CourseOffering = this;
_courseOfferingCurriculumUsedsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<ICourseOfferingCurriculumUsed> ICourseOffering.CourseOfferingCurriculumUseds
{
get { return _courseOfferingCurriculumUsedsCovariant; }
set { CourseOfferingCurriculumUseds = new List<CourseOfferingCurriculumUsed>(value.Cast<CourseOfferingCurriculumUsed>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_courseOfferingCurriculumUseds != null) foreach (var item in _courseOfferingCurriculumUseds)
{
item.CourseOffering = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseOffering)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseOffering) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseOfferingSynchronizationSourceSupport.IsCourseCodeSupported { get { return true; } set { } }
bool ICourseOfferingSynchronizationSourceSupport.IsCourseOfferingCurriculumUsedsSupported { get { return true; } set { } }
bool ICourseOfferingSynchronizationSourceSupport.IsEducationOrganizationIdSupported { get { return true; } set { } }
bool ICourseOfferingSynchronizationSourceSupport.IsInstructionalTimePlannedSupported { get { return true; } set { } }
bool ICourseOfferingSynchronizationSourceSupport.IsLocalCourseTitleSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<ICourseOfferingCurriculumUsed, bool> ICourseOfferingSynchronizationSourceSupport.IsCourseOfferingCurriculumUsedIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.CourseOfferingCurriculumUsed table of the CourseOffering aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseOfferingCurriculumUsed : ICourseOfferingCurriculumUsed, ICourseOfferingCurriculumUsedSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private ICourseOffering _courseOffering;
[IgnoreDataMember] // Don't modify back references during acceptance testing
ICourseOffering ICourseOfferingCurriculumUsed.CourseOffering
{
get { return _courseOffering; }
set { _courseOffering = value; }
}
internal ICourseOffering CourseOffering
{
set { _courseOffering = value; }
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="curriculumUsedType"), NaturalKeyMember]
public string CurriculumUsedType { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_courseOffering != null)
hash = hash * 23 + _courseOffering.GetHashCode();
// Standard Property
if ((this as ICourseOfferingCurriculumUsed).CurriculumUsedType != null)
hash = hash * 23 + (this as ICourseOfferingCurriculumUsed).CurriculumUsedType.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseOfferingCurriculumUsed)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseOfferingCurriculumUsed) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
}
// Aggregate: CourseRepeatCodeType
namespace EdFi.Ods.Api.Models.Resources.CourseRepeatCodeType
{
/// <summary>
/// A class which represents the edfi.CourseRepeatCodeType table of the CourseRepeatCodeType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseRepeatCodeType : ICourseRepeatCodeType, IHasETag, ICourseRepeatCodeTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CourseRepeatCodeType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for CourseRepeatCode
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="courseRepeatCodeTypeId"), NaturalKeyMember]
public int CourseRepeatCodeTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICourseRepeatCodeType).CourseRepeatCodeTypeId != null)
hash = hash * 23 + (this as ICourseRepeatCodeType).CourseRepeatCodeTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for CourseRepeatCode type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the course repeat code type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseRepeatCodeType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseRepeatCodeType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseRepeatCodeTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICourseRepeatCodeTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICourseRepeatCodeTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CourseTranscript
namespace EdFi.Ods.Api.Models.Resources.CourseTranscript
{
/// <summary>
/// Represents a reference to the CourseTranscript resource.
/// </summary>
[DataContract]
public class CourseTranscriptReference
{
[DataMember(Name="courseAttemptResultType"), NaturalKeyMember]
public string CourseAttemptResultType { get; set; }
[DataMember(Name="courseCode"), NaturalKeyMember]
public string CourseCode { get; set; }
[DataMember(Name="courseEducationOrganizationId"), NaturalKeyMember]
public int CourseEducationOrganizationId { get; set; }
[DataMember(Name="educationOrganizationId"), NaturalKeyMember]
public int EducationOrganizationId { get; set; }
[DataMember(Name="schoolYear"), NaturalKeyMember]
public short SchoolYear { get; set; }
[DataMember(Name="studentUniqueId"), NaturalKeyMember]
public string StudentUniqueId { get; set; }
[DataMember(Name="termDescriptor"), NaturalKeyMember]
public string TermDescriptor { 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 = new Link
{
Rel = "CourseTranscript",
Href = "/courseTranscripts"
+ "?courseAttemptResultType=" + WebUtility.UrlEncode(CourseAttemptResultType)
+ "&courseCode=" + WebUtility.UrlEncode(CourseCode)
+ "&courseEducationOrganizationId=" + CourseEducationOrganizationId
+ "&educationOrganizationId=" + EducationOrganizationId
+ "&schoolYear=" + SchoolYear
+ "&studentUniqueId=" + WebUtility.UrlEncode(StudentUniqueId)
+ "&termDescriptor=" + WebUtility.UrlEncode(TermDescriptor)
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return CourseAttemptResultType != default(string)
&& CourseCode != default(string)
&& CourseEducationOrganizationId != default(int)
&& EducationOrganizationId != default(int)
&& SchoolYear != default(short)
&& StudentUniqueId != default(string)
&& TermDescriptor != default(string)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.CourseTranscript table of the CourseTranscript aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseTranscript : ICourseTranscript, IHasETag, ICourseTranscriptSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public CourseTranscript()
{
CourseTranscriptEarnedAdditionalCredits = new List<CourseTranscriptEarnedAdditionalCredits>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the CourseTranscript resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _courseReferenceExplicitlyAssigned;
private Course.CourseReference _courseReference;
private Course.CourseReference ImplicitCourseReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_courseReference == null && !_courseReferenceExplicitlyAssigned)
_courseReference = new Course.CourseReference();
return _courseReference;
}
}
[DataMember(Name="courseReference")][NaturalKeyMember]
public Course.CourseReference CourseReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitCourseReference != null
&& (_courseReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitCourseReference.IsReferenceFullyDefined()))
return ImplicitCourseReference;
return null;
}
set
{
_courseReferenceExplicitlyAssigned = true;
_courseReference = value;
}
}
private bool _schoolReferenceExplicitlyAssigned;
private School.SchoolReference _schoolReference;
private School.SchoolReference ImplicitSchoolReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_schoolReference == null && !_schoolReferenceExplicitlyAssigned)
_schoolReference = new School.SchoolReference();
return _schoolReference;
}
}
[DataMember(Name="schoolReference")]
public School.SchoolReference SchoolReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitSchoolReference != null
&& (_schoolReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference;
return null;
}
set
{
_schoolReferenceExplicitlyAssigned = true;
_schoolReference = value;
}
}
private bool _studentAcademicRecordReferenceExplicitlyAssigned;
private StudentAcademicRecord.StudentAcademicRecordReference _studentAcademicRecordReference;
private StudentAcademicRecord.StudentAcademicRecordReference ImplicitStudentAcademicRecordReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_studentAcademicRecordReference == null && !_studentAcademicRecordReferenceExplicitlyAssigned)
_studentAcademicRecordReference = new StudentAcademicRecord.StudentAcademicRecordReference();
return _studentAcademicRecordReference;
}
}
[DataMember(Name="studentAcademicRecordReference")][NaturalKeyMember]
public StudentAcademicRecord.StudentAcademicRecordReference StudentAcademicRecordReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitStudentAcademicRecordReference != null
&& (_studentAcademicRecordReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitStudentAcademicRecordReference.IsReferenceFullyDefined()))
return ImplicitStudentAcademicRecordReference;
return null;
}
set
{
_studentAcademicRecordReferenceExplicitlyAssigned = true;
_studentAcademicRecordReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The result from the student''s attempt to take the course, for example: Pass Fail Incomplete Withdrawn Expelled
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="courseAttemptResultType"), NaturalKeyMember]
public string CourseAttemptResultType { get; set; }
/// <summary>
/// TThe actual code that identifies the organization of subject matter and related learning experiences provided for the instruction of students.
/// </summary>
// IS in a reference, NOT a lookup column
string ICourseTranscript.CourseCode
{
get
{
if (ImplicitCourseReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitCourseReference.IsReferenceFullyDefined()))
return ImplicitCourseReference.CourseCode;
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
// Course
_courseReferenceExplicitlyAssigned = false;
ImplicitCourseReference.CourseCode = value;
}
}
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int ICourseTranscript.CourseEducationOrganizationId
{
get
{
if (ImplicitCourseReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitCourseReference.IsReferenceFullyDefined()))
return ImplicitCourseReference.EducationOrganizationId;
return default(int);
}
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
// Course
_courseReferenceExplicitlyAssigned = false;
ImplicitCourseReference.EducationOrganizationId = value;
}
}
/// <summary>
/// EducationOrganization Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int ICourseTranscript.EducationOrganizationId
{
get
{
if (ImplicitStudentAcademicRecordReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitStudentAcademicRecordReference.IsReferenceFullyDefined()))
return ImplicitStudentAcademicRecordReference.EducationOrganizationId;
return default(int);
}
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
// StudentAcademicRecord
_studentAcademicRecordReferenceExplicitlyAssigned = false;
ImplicitStudentAcademicRecordReference.EducationOrganizationId = value;
}
}
/// <summary>
/// The identifier for the school year.
/// </summary>
// IS in a reference, NOT a lookup column
short ICourseTranscript.SchoolYear
{
get
{
if (ImplicitStudentAcademicRecordReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitStudentAcademicRecordReference.IsReferenceFullyDefined()))
return ImplicitStudentAcademicRecordReference.SchoolYear;
return default(short);
}
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
// StudentAcademicRecord
_studentAcademicRecordReferenceExplicitlyAssigned = false;
ImplicitStudentAcademicRecordReference.SchoolYear = value;
}
}
/// <summary>
/// A unique alphanumeric code assigned to a student.
/// </summary>
// IS in a reference, NOT a lookup column
string ICourseTranscript.StudentUniqueId
{
get
{
if (ImplicitStudentAcademicRecordReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitStudentAcademicRecordReference.IsReferenceFullyDefined()))
return ImplicitStudentAcademicRecordReference.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
// StudentAcademicRecord
_studentAcademicRecordReferenceExplicitlyAssigned = false;
ImplicitStudentAcademicRecordReference.StudentUniqueId = value;
}
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// IS in a reference (CourseTranscript.TermDescriptorId), IS a lookup column
string ICourseTranscript.TermDescriptor
{
get
{
if (ImplicitStudentAcademicRecordReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitStudentAcademicRecordReference.IsReferenceFullyDefined()))
return ImplicitStudentAcademicRecordReference.TermDescriptor;
return null;
}
set
{
ImplicitStudentAcademicRecordReference.TermDescriptor = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICourseTranscript).CourseAttemptResultType != null)
hash = hash * 23 + (this as ICourseTranscript).CourseAttemptResultType.GetHashCode();
//Referenced Property
if ((this as ICourseTranscript).CourseCode != null)
hash = hash * 23 + (this as ICourseTranscript).CourseCode.GetHashCode();
//Referenced Property
if ((this as ICourseTranscript).CourseEducationOrganizationId != null)
hash = hash * 23 + (this as ICourseTranscript).CourseEducationOrganizationId.GetHashCode();
//Referenced Property
if ((this as ICourseTranscript).EducationOrganizationId != null)
hash = hash * 23 + (this as ICourseTranscript).EducationOrganizationId.GetHashCode();
//Referenced Property
if ((this as ICourseTranscript).SchoolYear != null)
hash = hash * 23 + (this as ICourseTranscript).SchoolYear.GetHashCode();
//Referenced Property
if ((this as ICourseTranscript).StudentUniqueId != null)
hash = hash * 23 + (this as ICourseTranscript).StudentUniqueId.GetHashCode();
//Unified Type Property
if ((this as ICourseTranscript).TermDescriptor != null)
hash = hash * 23 + (this as ICourseTranscript).TermDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The local code assigned by the school that identifies the course offering, the code from an external educational organization, or other alternate course code.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="alternativeCourseCode")]
public string AlternativeCourseCode { get; set; }
/// <summary>
/// The descriptive name given to a course of study offered in the school, if different from the CourseTitle.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="alternativeCourseTitle")]
public string AlternativeCourseTitle { get; set; }
/// <summary>
/// Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="attemptedCreditConversion")][Range(typeof(decimal), "-9999999.99", "9999999.99")]
public decimal? AttemptedCreditConversion { get; set; }
/// <summary>
/// The number of credits attempted for a course.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="attemptedCredits")][Range(typeof(decimal), "-9999999.99", "9999999.99")]
public decimal? AttemptedCredits { get; set; }
/// <summary>
/// Key for Credit
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="attemptedCreditType")]
public string AttemptedCreditType { get; set; }
/// <summary>
/// Indicates that an academic course has been repeated by a student and how that repeat is to be computed in the student''s academic grade average.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="courseRepeatCodeType")]
public string CourseRepeatCodeType { get; set; }
/// <summary>
/// The descriptive name given to a course of study offered in a school or other institution or organization. In departmentalized classes at the elementary, secondary, and postsecondary levels (and for staff development activities), this refers to the name by which a course is identified (e.g., American History, English III). For elementary and other non-departmentalized classes, it refers to any portion of the instruction for which a grade or report is assigned (e.g., reading, composition, spelling, and language arts).
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="courseTitle")]
public string CourseTitle { get; set; }
/// <summary>
/// Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="earnedCreditConversion")][Range(typeof(decimal), "-9999999.99", "9999999.99")]
public decimal? EarnedCreditConversion { get; set; }
/// <summary>
/// The number of credits awarded or earned for the course.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="earnedCredits")][Range(typeof(decimal), "-9999999.99", "9999999.99")]
public decimal EarnedCredits { get; set; }
/// <summary>
/// Key for Credit
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="earnedCreditType")]
public string EarnedCreditType { get; set; }
/// <summary>
/// The final indicator of student performance in a class as submitted by the instructor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="finalLetterGradeEarned")]
public string FinalLetterGradeEarned { get; set; }
/// <summary>
/// The final indicator of student performance in a class as submitted by the instructor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="finalNumericGradeEarned")][Range(typeof(decimal), "-9999999.99", "9999999.99")]
public decimal? FinalNumericGradeEarned { get; set; }
/// <summary>
/// The method the credits were earned, for example: Classroom, Examination, Transfer
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="methodCreditEarnedType")]
public string MethodCreditEarnedType { get; set; }
/// <summary>
/// School Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int? ICourseTranscript.SchoolId
{
get
{
if (ImplicitSchoolReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference.SchoolId;
return default(int?);
}
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
// School
_schoolReferenceExplicitlyAssigned = false;
ImplicitSchoolReference.SchoolId = value.GetValueOrDefault();
}
}
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="whenTakenGradeLevelDescriptor")]
public string WhenTakenGradeLevelDescriptor { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<CourseTranscriptEarnedAdditionalCredits> _courseTranscriptEarnedAdditionalCredits;
private IList<ICourseTranscriptEarnedAdditionalCredits> _courseTranscriptEarnedAdditionalCreditsCovariant;
[DataMember(Name="earnedAdditionalCredits")]
public IList<CourseTranscriptEarnedAdditionalCredits> CourseTranscriptEarnedAdditionalCredits
{
get { return _courseTranscriptEarnedAdditionalCredits; }
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 ListAdapterWithAddNotifications<CourseTranscriptEarnedAdditionalCredits>(value,
(s, e) => ((ICourseTranscriptEarnedAdditionalCredits)e.Item).CourseTranscript = this);
_courseTranscriptEarnedAdditionalCredits = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<ICourseTranscriptEarnedAdditionalCredits, CourseTranscriptEarnedAdditionalCredits>(value);
covariantList.ItemAdded += (s, e) => ((ICourseTranscriptEarnedAdditionalCredits)e.Item).CourseTranscript = this;
_courseTranscriptEarnedAdditionalCreditsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<ICourseTranscriptEarnedAdditionalCredits> ICourseTranscript.CourseTranscriptEarnedAdditionalCredits
{
get { return _courseTranscriptEarnedAdditionalCreditsCovariant; }
set { CourseTranscriptEarnedAdditionalCredits = new List<CourseTranscriptEarnedAdditionalCredits>(value.Cast<CourseTranscriptEarnedAdditionalCredits>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_courseTranscriptEarnedAdditionalCredits != null) foreach (var item in _courseTranscriptEarnedAdditionalCredits)
{
item.CourseTranscript = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseTranscript)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseTranscript) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseTranscriptSynchronizationSourceSupport.IsAlternativeCourseCodeSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsAlternativeCourseTitleSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsAttemptedCreditConversionSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsAttemptedCreditsSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsAttemptedCreditTypeSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsCourseRepeatCodeTypeSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsCourseTitleSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsCourseTranscriptEarnedAdditionalCreditsSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsEarnedCreditConversionSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsEarnedCreditsSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsEarnedCreditTypeSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsFinalLetterGradeEarnedSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsFinalNumericGradeEarnedSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsMethodCreditEarnedTypeSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsSchoolIdSupported { get { return true; } set { } }
bool ICourseTranscriptSynchronizationSourceSupport.IsWhenTakenGradeLevelDescriptorSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<ICourseTranscriptEarnedAdditionalCredits, bool> ICourseTranscriptSynchronizationSourceSupport.IsCourseTranscriptEarnedAdditionalCreditsIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.CourseTranscriptEarnedAdditionalCredits table of the CourseTranscript aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CourseTranscriptEarnedAdditionalCredits : ICourseTranscriptEarnedAdditionalCredits, ICourseTranscriptEarnedAdditionalCreditsSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private ICourseTranscript _courseTranscript;
[IgnoreDataMember] // Don't modify back references during acceptance testing
ICourseTranscript ICourseTranscriptEarnedAdditionalCredits.CourseTranscript
{
get { return _courseTranscript; }
set { _courseTranscript = value; }
}
internal ICourseTranscript CourseTranscript
{
set { _courseTranscript = value; }
}
/// <summary>
/// The type of credits awarded or earned for the course.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="additionalCreditType"), NaturalKeyMember]
public string AdditionalCreditType { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_courseTranscript != null)
hash = hash * 23 + _courseTranscript.GetHashCode();
// Standard Property
if ((this as ICourseTranscriptEarnedAdditionalCredits).AdditionalCreditType != null)
hash = hash * 23 + (this as ICourseTranscriptEarnedAdditionalCredits).AdditionalCreditType.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The number of credits awarded or earned for the course.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="credits")][Range(typeof(decimal), "-9999999.99", "9999999.99")]
public decimal Credits { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICourseTranscriptEarnedAdditionalCredits)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICourseTranscriptEarnedAdditionalCredits) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICourseTranscriptEarnedAdditionalCreditsSynchronizationSourceSupport.IsCreditsSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CredentialFieldDescriptor
namespace EdFi.Ods.Api.Models.Resources.CredentialFieldDescriptor
{
/// <summary>
/// A class which represents the edfi.CredentialFieldDescriptor table of the CredentialFieldDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CredentialFieldDescriptor : ICredentialFieldDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, ICredentialFieldDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CredentialFieldDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The ID of the Credential Field Descriptor
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="credentialFieldDescriptorId"), NaturalKeyMember]
public int CredentialFieldDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return CredentialFieldDescriptorId; }
set { CredentialFieldDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as ICredentialFieldDescriptor).CredentialFieldDescriptorId != null)
hash = hash * 23 + (this as ICredentialFieldDescriptor).CredentialFieldDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="academicSubjectDescriptor")]
public string AcademicSubjectDescriptor { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICredentialFieldDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICredentialFieldDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICredentialFieldDescriptorSynchronizationSourceSupport.IsAcademicSubjectDescriptorSupported { get { return true; } set { } }
bool ICredentialFieldDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICredentialFieldDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICredentialFieldDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool ICredentialFieldDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool ICredentialFieldDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool ICredentialFieldDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool ICredentialFieldDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CredentialType
namespace EdFi.Ods.Api.Models.Resources.CredentialType
{
/// <summary>
/// A class which represents the edfi.CredentialType table of the CredentialType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CredentialType : ICredentialType, IHasETag, ICredentialTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CredentialType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for Credential
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="credentialTypeId"), NaturalKeyMember]
public int CredentialTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICredentialType).CredentialTypeId != null)
hash = hash * 23 + (this as ICredentialType).CredentialTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for Credential type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the credential type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICredentialType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICredentialType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICredentialTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICredentialTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICredentialTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CreditType
namespace EdFi.Ods.Api.Models.Resources.CreditType
{
/// <summary>
/// A class which represents the edfi.CreditType table of the CreditType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CreditType : ICreditType, IHasETag, ICreditTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CreditType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for Credit
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="creditTypeId"), NaturalKeyMember]
public int CreditTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICreditType).CreditTypeId != null)
hash = hash * 23 + (this as ICreditType).CreditTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for Credit type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the credit type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICreditType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICreditType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICreditTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICreditTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICreditTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: CurriculumUsedType
namespace EdFi.Ods.Api.Models.Resources.CurriculumUsedType
{
/// <summary>
/// A class which represents the edfi.CurriculumUsedType table of the CurriculumUsedType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class CurriculumUsedType : ICurriculumUsedType, IHasETag, ICurriculumUsedTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the CurriculumUsedType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="curriculumUsedTypeId"), NaturalKeyMember]
public int CurriculumUsedTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as ICurriculumUsedType).CurriculumUsedTypeId != null)
hash = hash * 23 + (this as ICurriculumUsedType).CurriculumUsedTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((ICurriculumUsedType)target);
}
void IMappable.Map(object target)
{
this.MapTo((ICurriculumUsedType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool ICurriculumUsedTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool ICurriculumUsedTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool ICurriculumUsedTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DeliveryMethodType
namespace EdFi.Ods.Api.Models.Resources.DeliveryMethodType
{
/// <summary>
/// A class which represents the edfi.DeliveryMethodType table of the DeliveryMethodType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DeliveryMethodType : IDeliveryMethodType, IHasETag, IDeliveryMethodTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DeliveryMethodType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="deliveryMethodTypeId"), NaturalKeyMember]
public int DeliveryMethodTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IDeliveryMethodType).DeliveryMethodTypeId != null)
hash = hash * 23 + (this as IDeliveryMethodType).DeliveryMethodTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for delivery method type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// Description of delivery method type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDeliveryMethodType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDeliveryMethodType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDeliveryMethodTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDeliveryMethodTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDeliveryMethodTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: Descriptor
namespace EdFi.Ods.Api.Models.Resources.Descriptor
{
/// <summary>
/// Represents a reference to the Descriptor resource.
/// </summary>
[DataContract]
public class DescriptorReference
{
[DataMember(Name="descriptorId"), NaturalKeyMember]
public int DescriptorId { 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 = new Link
{
Rel = "Descriptor",
Href = "/descriptors"
+ "?descriptorId=" + DescriptorId
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return DescriptorId != default(int)
;
}
} // Aggregate reference
}
// Aggregate: DiagnosisDescriptor
namespace EdFi.Ods.Api.Models.Resources.DiagnosisDescriptor
{
/// <summary>
/// A class which represents the edfi.DiagnosisDescriptor table of the DiagnosisDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DiagnosisDescriptor : IDiagnosisDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IDiagnosisDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DiagnosisDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="diagnosisDescriptorId"), NaturalKeyMember]
public int DiagnosisDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return DiagnosisDescriptorId; }
set { DiagnosisDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IDiagnosisDescriptor).DiagnosisDescriptorId != null)
hash = hash * 23 + (this as IDiagnosisDescriptor).DiagnosisDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="diagnosisType")]
public string DiagnosisType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDiagnosisDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDiagnosisDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDiagnosisDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDiagnosisDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDiagnosisDescriptorSynchronizationSourceSupport.IsDiagnosisTypeSupported { get { return true; } set { } }
bool IDiagnosisDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IDiagnosisDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IDiagnosisDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IDiagnosisDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IDiagnosisDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DiagnosisType
namespace EdFi.Ods.Api.Models.Resources.DiagnosisType
{
/// <summary>
/// A class which represents the edfi.DiagnosisType table of the DiagnosisType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DiagnosisType : IDiagnosisType, IHasETag, IDiagnosisTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DiagnosisType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="diagnosisTypeId"), NaturalKeyMember]
public int DiagnosisTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IDiagnosisType).DiagnosisTypeId != null)
hash = hash * 23 + (this as IDiagnosisType).DiagnosisTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDiagnosisType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDiagnosisType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDiagnosisTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDiagnosisTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDiagnosisTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DiplomaLevelType
namespace EdFi.Ods.Api.Models.Resources.DiplomaLevelType
{
/// <summary>
/// A class which represents the edfi.DiplomaLevelType table of the DiplomaLevelType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DiplomaLevelType : IDiplomaLevelType, IHasETag, IDiplomaLevelTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DiplomaLevelType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for DiplomaLevel
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="diplomaLevelTypeId"), NaturalKeyMember]
public int DiplomaLevelTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IDiplomaLevelType).DiplomaLevelTypeId != null)
hash = hash * 23 + (this as IDiplomaLevelType).DiplomaLevelTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for DiplomaLevel type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the diploma level type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDiplomaLevelType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDiplomaLevelType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDiplomaLevelTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDiplomaLevelTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDiplomaLevelTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DiplomaType
namespace EdFi.Ods.Api.Models.Resources.DiplomaType
{
/// <summary>
/// A class which represents the edfi.DiplomaType table of the DiplomaType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DiplomaType : IDiplomaType, IHasETag, IDiplomaTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DiplomaType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for Diploma
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="diplomaTypeId"), NaturalKeyMember]
public int DiplomaTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IDiplomaType).DiplomaTypeId != null)
hash = hash * 23 + (this as IDiplomaType).DiplomaTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for Diploma type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the diploma type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDiplomaType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDiplomaType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDiplomaTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDiplomaTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDiplomaTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DisabilityCategoryType
namespace EdFi.Ods.Api.Models.Resources.DisabilityCategoryType
{
/// <summary>
/// A class which represents the edfi.DisabilityCategoryType table of the DisabilityCategoryType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisabilityCategoryType : IDisabilityCategoryType, IHasETag, IDisabilityCategoryTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DisabilityCategoryType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="disabilityCategoryTypeId"), NaturalKeyMember]
public int DisabilityCategoryTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IDisabilityCategoryType).DisabilityCategoryTypeId != null)
hash = hash * 23 + (this as IDisabilityCategoryType).DisabilityCategoryTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for disability category type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the disability category type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the disability category type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDisabilityCategoryType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDisabilityCategoryType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDisabilityCategoryTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDisabilityCategoryTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDisabilityCategoryTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DisabilityDescriptor
namespace EdFi.Ods.Api.Models.Resources.DisabilityDescriptor
{
/// <summary>
/// A class which represents the edfi.DisabilityDescriptor table of the DisabilityDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisabilityDescriptor : IDisabilityDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IDisabilityDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DisabilityDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="disabilityDescriptorId"), NaturalKeyMember]
public int DisabilityDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return DisabilityDescriptorId; }
set { DisabilityDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IDisabilityDescriptor).DisabilityDescriptorId != null)
hash = hash * 23 + (this as IDisabilityDescriptor).DisabilityDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="disabilityCategoryType")]
public string DisabilityCategoryType { get; set; }
/// <summary>
/// Key for Disability
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="disabilityType")]
public string DisabilityType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDisabilityDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDisabilityDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDisabilityDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDisabilityDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDisabilityDescriptorSynchronizationSourceSupport.IsDisabilityCategoryTypeSupported { get { return true; } set { } }
bool IDisabilityDescriptorSynchronizationSourceSupport.IsDisabilityTypeSupported { get { return true; } set { } }
bool IDisabilityDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IDisabilityDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IDisabilityDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IDisabilityDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IDisabilityDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DisabilityDeterminationSourceType
namespace EdFi.Ods.Api.Models.Resources.DisabilityDeterminationSourceType
{
/// <summary>
/// A class which represents the edfi.DisabilityDeterminationSourceType table of the DisabilityDeterminationSourceType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisabilityDeterminationSourceType : IDisabilityDeterminationSourceType, IHasETag, IDisabilityDeterminationSourceTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DisabilityDeterminationSourceType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for Disability Determination Source Type
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="disabilityDeterminationSourceTypeId"), NaturalKeyMember]
public int DisabilityDeterminationSourceTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IDisabilityDeterminationSourceType).DisabilityDeterminationSourceTypeId != null)
hash = hash * 23 + (this as IDisabilityDeterminationSourceType).DisabilityDeterminationSourceTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code of the Disability Determination Source Type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// Description of the Disability Determination Source Type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// Short description of the Disability Determination Source Type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDisabilityDeterminationSourceType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDisabilityDeterminationSourceType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDisabilityDeterminationSourceTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDisabilityDeterminationSourceTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDisabilityDeterminationSourceTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DisabilityType
namespace EdFi.Ods.Api.Models.Resources.DisabilityType
{
/// <summary>
/// A class which represents the edfi.DisabilityType table of the DisabilityType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisabilityType : IDisabilityType, IHasETag, IDisabilityTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DisabilityType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for Disability
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="disabilityTypeId"), NaturalKeyMember]
public int DisabilityTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IDisabilityType).DisabilityTypeId != null)
hash = hash * 23 + (this as IDisabilityType).DisabilityTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for Disability type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// Description for Disability type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// Short description for the disability type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDisabilityType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDisabilityType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDisabilityTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDisabilityTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDisabilityTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DisciplineAction
namespace EdFi.Ods.Api.Models.Resources.DisciplineAction
{
/// <summary>
/// Represents a reference to the DisciplineAction resource.
/// </summary>
[DataContract]
public class DisciplineActionReference
{
[DataMember(Name="identifier"), NaturalKeyMember]
public string DisciplineActionIdentifier { get; set; }
[DataMember(Name="disciplineDate"), NaturalKeyMember]
public DateTime DisciplineDate { get; set; }
[DataMember(Name="studentUniqueId"), NaturalKeyMember]
public string StudentUniqueId { 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 = new Link
{
Rel = "DisciplineAction",
Href = "/disciplineActions"
+ "?identifier=" + WebUtility.UrlEncode(DisciplineActionIdentifier)
+ "&disciplineDate=" + JsonConvert.SerializeObject(DisciplineDate).Replace("\"", string.Empty)
+ "&studentUniqueId=" + WebUtility.UrlEncode(StudentUniqueId)
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return DisciplineActionIdentifier != default(string)
&& DisciplineDate != default(DateTime)
&& StudentUniqueId != default(string)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.DisciplineAction table of the DisciplineAction aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisciplineAction : IDisciplineAction, IHasETag, IDisciplineActionSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public DisciplineAction()
{
DisciplineActionDisciplines = new List<DisciplineActionDiscipline>();
DisciplineActionDisciplineIncidents = new List<DisciplineActionDisciplineIncident>();
DisciplineActionStaffs = new List<DisciplineActionStaff>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the DisciplineAction resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _assignmentSchoolReferenceExplicitlyAssigned;
private School.SchoolReference _assignmentSchoolReference;
private School.SchoolReference ImplicitAssignmentSchoolReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_assignmentSchoolReference == null && !_assignmentSchoolReferenceExplicitlyAssigned)
_assignmentSchoolReference = new School.SchoolReference();
return _assignmentSchoolReference;
}
}
[DataMember(Name="assignmentSchoolReference")]
public School.SchoolReference AssignmentSchoolReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitAssignmentSchoolReference != null
&& (_assignmentSchoolReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitAssignmentSchoolReference.IsReferenceFullyDefined()))
return ImplicitAssignmentSchoolReference;
return null;
}
set
{
_assignmentSchoolReferenceExplicitlyAssigned = true;
_assignmentSchoolReference = value;
}
}
private bool _responsibilitySchoolReferenceExplicitlyAssigned;
private School.SchoolReference _responsibilitySchoolReference;
private School.SchoolReference ImplicitResponsibilitySchoolReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_responsibilitySchoolReference == null && !_responsibilitySchoolReferenceExplicitlyAssigned)
_responsibilitySchoolReference = new School.SchoolReference();
return _responsibilitySchoolReference;
}
}
[DataMember(Name="responsibilitySchoolReference")]
public School.SchoolReference ResponsibilitySchoolReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitResponsibilitySchoolReference != null
&& (_responsibilitySchoolReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitResponsibilitySchoolReference.IsReferenceFullyDefined()))
return ImplicitResponsibilitySchoolReference;
return null;
}
set
{
_responsibilitySchoolReferenceExplicitlyAssigned = true;
_responsibilitySchoolReference = value;
}
}
private bool _studentReferenceExplicitlyAssigned;
private Student.StudentReference _studentReference;
private Student.StudentReference ImplicitStudentReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_studentReference == null && !_studentReferenceExplicitlyAssigned)
_studentReference = new Student.StudentReference();
return _studentReference;
}
}
[DataMember(Name="studentReference")][NaturalKeyMember]
public Student.StudentReference StudentReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitStudentReference != null
&& (_studentReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitStudentReference.IsReferenceFullyDefined()))
return ImplicitStudentReference;
return null;
}
set
{
_studentReferenceExplicitlyAssigned = true;
_studentReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Identifier assigned by the education organization to the discipline action.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="identifier"), NaturalKeyMember]
public string DisciplineActionIdentifier { get; set; }
/// <summary>
/// The date of the DisciplineAction.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="disciplineDate"), NaturalKeyMember]
public DateTime DisciplineDate { get; set; }
/// <summary>
/// A unique alphanumeric code assigned to a student.
/// </summary>
// IS in a reference, NOT a lookup column
string IDisciplineAction.StudentUniqueId
{
get
{
if (ImplicitStudentReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitStudentReference.IsReferenceFullyDefined()))
return ImplicitStudentReference.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
// Student
_studentReferenceExplicitlyAssigned = false;
ImplicitStudentReference.StudentUniqueId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IDisciplineAction).DisciplineActionIdentifier != null)
hash = hash * 23 + (this as IDisciplineAction).DisciplineActionIdentifier.GetHashCode();
// Standard Property
if ((this as IDisciplineAction).DisciplineDate != null)
hash = hash * 23 + (this as IDisciplineAction).DisciplineDate.GetHashCode();
//Referenced Property
if ((this as IDisciplineAction).StudentUniqueId != null)
hash = hash * 23 + (this as IDisciplineAction).StudentUniqueId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Indicates the actual length in school days of a student's disciplinary assignment.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="actualDisciplineActionLength")]
public int? ActualDisciplineActionLength { get; set; }
/// <summary>
/// Optional school where student is transferred for discipline.
/// </summary>
// IS in a reference, NOT a lookup column
int? IDisciplineAction.AssignmentSchoolId
{
get
{
if (ImplicitAssignmentSchoolReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitAssignmentSchoolReference.IsReferenceFullyDefined()))
return ImplicitAssignmentSchoolReference.SchoolId;
return default(int?);
}
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
// AssignmentSchool
_assignmentSchoolReferenceExplicitlyAssigned = false;
ImplicitAssignmentSchoolReference.SchoolId = value.GetValueOrDefault();
}
}
/// <summary>
/// The length of time in school days for the Discipline Action (e.g. removal, detention), if applicable.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="length")]
public int? DisciplineActionLength { get; set; }
/// <summary>
/// Key for DisciplineActionLengthDifferenceReason
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="lengthDifferenceReasonType")]
public string DisciplineActionLengthDifferenceReasonType { get; set; }
/// <summary>
/// An indication of whether or not this disciplinary action taken against a student was imposed as a consequence of state or local zero tolerance policies.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="relatedToZeroTolerancePolicy")]
public bool? RelatedToZeroTolerancePolicy { get; set; }
/// <summary>
/// School responsible for student's discipline.
/// </summary>
// IS in a reference, NOT a lookup column
int IDisciplineAction.ResponsibilitySchoolId
{
get
{
if (ImplicitResponsibilitySchoolReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitResponsibilitySchoolReference.IsReferenceFullyDefined()))
return ImplicitResponsibilitySchoolReference.SchoolId;
return default(int);
}
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
// ResponsibilitySchool
_responsibilitySchoolReferenceExplicitlyAssigned = false;
ImplicitResponsibilitySchoolReference.SchoolId = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<DisciplineActionDisciplineIncident> _disciplineActionDisciplineIncidents;
private IList<IDisciplineActionDisciplineIncident> _disciplineActionDisciplineIncidentsCovariant;
[DataMember(Name="disciplineIncidents")]
public IList<DisciplineActionDisciplineIncident> DisciplineActionDisciplineIncidents
{
get { return _disciplineActionDisciplineIncidents; }
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 ListAdapterWithAddNotifications<DisciplineActionDisciplineIncident>(value,
(s, e) => ((IDisciplineActionDisciplineIncident)e.Item).DisciplineAction = this);
_disciplineActionDisciplineIncidents = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IDisciplineActionDisciplineIncident, DisciplineActionDisciplineIncident>(value);
covariantList.ItemAdded += (s, e) => ((IDisciplineActionDisciplineIncident)e.Item).DisciplineAction = this;
_disciplineActionDisciplineIncidentsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IDisciplineActionDisciplineIncident> IDisciplineAction.DisciplineActionDisciplineIncidents
{
get { return _disciplineActionDisciplineIncidentsCovariant; }
set { DisciplineActionDisciplineIncidents = new List<DisciplineActionDisciplineIncident>(value.Cast<DisciplineActionDisciplineIncident>()); }
}
private IList<DisciplineActionDiscipline> _disciplineActionDisciplines;
private IList<IDisciplineActionDiscipline> _disciplineActionDisciplinesCovariant;
[DataMember(Name="disciplines")]
public IList<DisciplineActionDiscipline> DisciplineActionDisciplines
{
get { return _disciplineActionDisciplines; }
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 ListAdapterWithAddNotifications<DisciplineActionDiscipline>(value,
(s, e) => ((IDisciplineActionDiscipline)e.Item).DisciplineAction = this);
_disciplineActionDisciplines = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IDisciplineActionDiscipline, DisciplineActionDiscipline>(value);
covariantList.ItemAdded += (s, e) => ((IDisciplineActionDiscipline)e.Item).DisciplineAction = this;
_disciplineActionDisciplinesCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IDisciplineActionDiscipline> IDisciplineAction.DisciplineActionDisciplines
{
get { return _disciplineActionDisciplinesCovariant; }
set { DisciplineActionDisciplines = new List<DisciplineActionDiscipline>(value.Cast<DisciplineActionDiscipline>()); }
}
private IList<DisciplineActionStaff> _disciplineActionStaffs;
private IList<IDisciplineActionStaff> _disciplineActionStaffsCovariant;
[DataMember(Name="staffs")]
public IList<DisciplineActionStaff> DisciplineActionStaffs
{
get { return _disciplineActionStaffs; }
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 ListAdapterWithAddNotifications<DisciplineActionStaff>(value,
(s, e) => ((IDisciplineActionStaff)e.Item).DisciplineAction = this);
_disciplineActionStaffs = list;
// Initialize covariant list with notifying adapter with deferred wireup so only new items are processed (optimization)
var covariantList = new CovariantIListAdapterWithAddNotifications<IDisciplineActionStaff, DisciplineActionStaff>(value);
covariantList.ItemAdded += (s, e) => ((IDisciplineActionStaff)e.Item).DisciplineAction = this;
_disciplineActionStaffsCovariant = covariantList;
}
}
// Covariant version, visible only on the interface
IList<IDisciplineActionStaff> IDisciplineAction.DisciplineActionStaffs
{
get { return _disciplineActionStaffsCovariant; }
set { DisciplineActionStaffs = new List<DisciplineActionStaff>(value.Cast<DisciplineActionStaff>()); }
}
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// Reconnect external inbound references on deserialization
if (_disciplineActionDisciplineIncidents != null) foreach (var item in _disciplineActionDisciplineIncidents)
{
item.DisciplineAction = this;
}
if (_disciplineActionDisciplines != null) foreach (var item in _disciplineActionDisciplines)
{
item.DisciplineAction = this;
}
if (_disciplineActionStaffs != null) foreach (var item in _disciplineActionStaffs)
{
item.DisciplineAction = this;
}
}
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDisciplineAction)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDisciplineAction) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDisciplineActionSynchronizationSourceSupport.IsActualDisciplineActionLengthSupported { get { return true; } set { } }
bool IDisciplineActionSynchronizationSourceSupport.IsAssignmentSchoolIdSupported { get { return true; } set { } }
bool IDisciplineActionSynchronizationSourceSupport.IsDisciplineActionDisciplineIncidentsSupported { get { return true; } set { } }
bool IDisciplineActionSynchronizationSourceSupport.IsDisciplineActionDisciplinesSupported { get { return true; } set { } }
bool IDisciplineActionSynchronizationSourceSupport.IsDisciplineActionLengthSupported { get { return true; } set { } }
bool IDisciplineActionSynchronizationSourceSupport.IsDisciplineActionLengthDifferenceReasonTypeSupported { get { return true; } set { } }
bool IDisciplineActionSynchronizationSourceSupport.IsDisciplineActionStaffsSupported { get { return true; } set { } }
bool IDisciplineActionSynchronizationSourceSupport.IsRelatedToZeroTolerancePolicySupported { get { return true; } set { } }
bool IDisciplineActionSynchronizationSourceSupport.IsResponsibilitySchoolIdSupported { get { return true; } set { } }
// Child collection item filter delegates
Func<IDisciplineActionDisciplineIncident, bool> IDisciplineActionSynchronizationSourceSupport.IsDisciplineActionDisciplineIncidentIncluded
{
get { return null; }
set { }
}
Func<IDisciplineActionDiscipline, bool> IDisciplineActionSynchronizationSourceSupport.IsDisciplineActionDisciplineIncluded
{
get { return null; }
set { }
}
Func<IDisciplineActionStaff, bool> IDisciplineActionSynchronizationSourceSupport.IsDisciplineActionStaffIncluded
{
get { return null; }
set { }
}
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.DisciplineActionDiscipline table of the DisciplineAction aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisciplineActionDiscipline : IDisciplineActionDiscipline, IDisciplineActionDisciplineSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IDisciplineAction _disciplineAction;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IDisciplineAction IDisciplineActionDiscipline.DisciplineAction
{
get { return _disciplineAction; }
set { _disciplineAction = value; }
}
internal IDisciplineAction DisciplineAction
{
set { _disciplineAction = value; }
}
/// <summary>
/// The ID of the Discipline Descriptor
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="disciplineDescriptor"), NaturalKeyMember]
public string DisciplineDescriptor { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_disciplineAction != null)
hash = hash * 23 + _disciplineAction.GetHashCode();
// Standard Property
if ((this as IDisciplineActionDiscipline).DisciplineDescriptor != null)
hash = hash * 23 + (this as IDisciplineActionDiscipline).DisciplineDescriptor.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDisciplineActionDiscipline)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDisciplineActionDiscipline) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.DisciplineActionDisciplineIncident table of the DisciplineAction aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisciplineActionDisciplineIncident : IDisciplineActionDisciplineIncident, IDisciplineActionDisciplineIncidentSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// References
// -------------------------------------------------------------
private bool _disciplineIncidentReferenceExplicitlyAssigned;
private DisciplineIncident.DisciplineIncidentReference _disciplineIncidentReference;
private DisciplineIncident.DisciplineIncidentReference ImplicitDisciplineIncidentReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_disciplineIncidentReference == null && !_disciplineIncidentReferenceExplicitlyAssigned)
_disciplineIncidentReference = new DisciplineIncident.DisciplineIncidentReference();
return _disciplineIncidentReference;
}
}
[DataMember(Name="disciplineIncidentReference")][NaturalKeyMember]
public DisciplineIncident.DisciplineIncidentReference DisciplineIncidentReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitDisciplineIncidentReference != null
&& (_disciplineIncidentReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitDisciplineIncidentReference.IsReferenceFullyDefined()))
return ImplicitDisciplineIncidentReference;
return null;
}
set
{
_disciplineIncidentReferenceExplicitlyAssigned = true;
_disciplineIncidentReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IDisciplineAction _disciplineAction;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IDisciplineAction IDisciplineActionDisciplineIncident.DisciplineAction
{
get { return _disciplineAction; }
set { _disciplineAction = value; }
}
internal IDisciplineAction DisciplineAction
{
set { _disciplineAction = value; }
}
/// <summary>
/// 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 DisciplineIncident even if it included multiple offenses and multiple offenders.
/// </summary>
// IS in a reference, NOT a lookup column
string IDisciplineActionDisciplineIncident.IncidentIdentifier
{
get
{
if (ImplicitDisciplineIncidentReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitDisciplineIncidentReference.IsReferenceFullyDefined()))
return ImplicitDisciplineIncidentReference.IncidentIdentifier;
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
// DisciplineIncident
_disciplineIncidentReferenceExplicitlyAssigned = false;
ImplicitDisciplineIncidentReference.IncidentIdentifier = value;
}
}
/// <summary>
/// School Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IDisciplineActionDisciplineIncident.SchoolId
{
get
{
if (ImplicitDisciplineIncidentReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitDisciplineIncidentReference.IsReferenceFullyDefined()))
return ImplicitDisciplineIncidentReference.SchoolId;
return default(int);
}
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
// DisciplineIncident
_disciplineIncidentReferenceExplicitlyAssigned = false;
ImplicitDisciplineIncidentReference.SchoolId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_disciplineAction != null)
hash = hash * 23 + _disciplineAction.GetHashCode();
//Referenced Property
if ((this as IDisciplineActionDisciplineIncident).IncidentIdentifier != null)
hash = hash * 23 + (this as IDisciplineActionDisciplineIncident).IncidentIdentifier.GetHashCode();
//Referenced Property
if ((this as IDisciplineActionDisciplineIncident).SchoolId != null)
hash = hash * 23 + (this as IDisciplineActionDisciplineIncident).SchoolId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDisciplineActionDisciplineIncident)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDisciplineActionDisciplineIncident) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
/// <summary>
/// A class which represents the edfi.DisciplineActionStaff table of the DisciplineAction aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisciplineActionStaff : IDisciplineActionStaff, IDisciplineActionStaffSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// References
// -------------------------------------------------------------
private bool _staffReferenceExplicitlyAssigned;
private Staff.StaffReference _staffReference;
private Staff.StaffReference ImplicitStaffReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_staffReference == null && !_staffReferenceExplicitlyAssigned)
_staffReference = new Staff.StaffReference();
return _staffReference;
}
}
[DataMember(Name="staffReference")][NaturalKeyMember]
public Staff.StaffReference StaffReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitStaffReference != null
&& (_staffReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitStaffReference.IsReferenceFullyDefined()))
return ImplicitStaffReference;
return null;
}
set
{
_staffReferenceExplicitlyAssigned = true;
_staffReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
private IDisciplineAction _disciplineAction;
[IgnoreDataMember] // Don't modify back references during acceptance testing
IDisciplineAction IDisciplineActionStaff.DisciplineAction
{
get { return _disciplineAction; }
set { _disciplineAction = value; }
}
internal IDisciplineAction DisciplineAction
{
set { _disciplineAction = value; }
}
/// <summary>
/// A unique alphanumeric code assigned to a staff.
/// </summary>
// IS in a reference, NOT a lookup column
string IDisciplineActionStaff.StaffUniqueId
{
get
{
if (ImplicitStaffReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitStaffReference.IsReferenceFullyDefined()))
return ImplicitStaffReference.StaffUniqueId;
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
// Staff
_staffReferenceExplicitlyAssigned = false;
ImplicitStaffReference.StaffUniqueId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Parent Property
if (_disciplineAction != null)
hash = hash * 23 + _disciplineAction.GetHashCode();
//Referenced Property
if ((this as IDisciplineActionStaff).StaffUniqueId != null)
hash = hash * 23 + (this as IDisciplineActionStaff).StaffUniqueId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDisciplineActionStaff)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDisciplineActionStaff) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
// -------------------------------------------------------------
}
}
// Aggregate: DisciplineActionLengthDifferenceReasonType
namespace EdFi.Ods.Api.Models.Resources.DisciplineActionLengthDifferenceReasonType
{
/// <summary>
/// A class which represents the edfi.DisciplineActionLengthDifferenceReasonType table of the DisciplineActionLengthDifferenceReasonType aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisciplineActionLengthDifferenceReasonType : IDisciplineActionLengthDifferenceReasonType, IHasETag, IDisciplineActionLengthDifferenceReasonTypeSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DisciplineActionLengthDifferenceReasonType resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// Key for DisciplineActionLengthDifferenceReason
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="disciplineActionLengthDifferenceReasonTypeId"), NaturalKeyMember]
public int DisciplineActionLengthDifferenceReasonTypeId { get; set; }
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IDisciplineActionLengthDifferenceReasonType).DisciplineActionLengthDifferenceReasonTypeId != null)
hash = hash * 23 + (this as IDisciplineActionLengthDifferenceReasonType).DisciplineActionLengthDifferenceReasonTypeId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// Code for DisciplineActionLengthDifferenceReason type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// A shortened description for the discipline action length difference reason type.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDisciplineActionLengthDifferenceReasonType)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDisciplineActionLengthDifferenceReasonType) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDisciplineActionLengthDifferenceReasonTypeSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDisciplineActionLengthDifferenceReasonTypeSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDisciplineActionLengthDifferenceReasonTypeSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DisciplineDescriptor
namespace EdFi.Ods.Api.Models.Resources.DisciplineDescriptor
{
/// <summary>
/// A class which represents the edfi.DisciplineDescriptor table of the DisciplineDescriptor aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisciplineDescriptor : IDisciplineDescriptor, EdFi.Ods.Entities.Common.IDescriptor, IHasETag, IDisciplineDescriptorSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
/// <summary>
/// The unique identifier for the DisciplineDescriptor resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// The ID of the Discipline Descriptor
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="disciplineDescriptorId"), NaturalKeyMember]
public int DisciplineDescriptorId { get; set; }
int IDescriptor.DescriptorId
{
get { return DisciplineDescriptorId; }
set { DisciplineDescriptorId = value; }
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
//Derived Property
if ((this as IDisciplineDescriptor).DisciplineDescriptorId != null)
hash = hash * 23 + (this as IDisciplineDescriptor).DisciplineDescriptorId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
/// <summary>
/// A code or abbreviation that is used to refer to the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="codeValue")]
public string CodeValue { get; set; }
/// <summary>
/// The description of the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="description")]
public string Description { get; set; }
/// <summary>
/// The beginning date of the period when the descriptor is in effect. If omitted, the default is immediate effectiveness.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveBeginDate")]
public DateTime? EffectiveBeginDate { get; set; }
/// <summary>
/// The end date of the period when the descriptor is in effect.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="effectiveEndDate")]
public DateTime? EffectiveEndDate { get; set; }
/// <summary>
/// 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.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="namespace")]
public string Namespace { get; set; }
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="priorDescriptorId")]
public int? PriorDescriptorId { get; set; }
/// <summary>
/// A shortened description for the descriptor.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="shortDescription")]
public string ShortDescription { get; set; }
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="disciplineType")]
public string DisciplineType { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
// -------------------------------------------------------------
// =============================================================
// Versioning
// -------------------------------------------------------------
[DataMember(Name="_etag")]
public virtual string ETag { get; set; }
// -------------------------------------------------------------
bool ISynchronizable.Synchronize(object target)
{
return this.SynchronizeTo((IDisciplineDescriptor)target);
}
void IMappable.Map(object target)
{
this.MapTo((IDisciplineDescriptor) target, null);
}
// =============================================================
// Synchronization Source Support
// -------------------------------------------------------------
bool IDisciplineDescriptorSynchronizationSourceSupport.IsCodeValueSupported { get { return true; } set { } }
bool IDisciplineDescriptorSynchronizationSourceSupport.IsDescriptionSupported { get { return true; } set { } }
bool IDisciplineDescriptorSynchronizationSourceSupport.IsDisciplineTypeSupported { get { return true; } set { } }
bool IDisciplineDescriptorSynchronizationSourceSupport.IsEffectiveBeginDateSupported { get { return true; } set { } }
bool IDisciplineDescriptorSynchronizationSourceSupport.IsEffectiveEndDateSupported { get { return true; } set { } }
bool IDisciplineDescriptorSynchronizationSourceSupport.IsNamespaceSupported { get { return true; } set { } }
bool IDisciplineDescriptorSynchronizationSourceSupport.IsPriorDescriptorIdSupported { get { return true; } set { } }
bool IDisciplineDescriptorSynchronizationSourceSupport.IsShortDescriptionSupported { get { return true; } set { } }
// -------------------------------------------------------------
}
}
// Aggregate: DisciplineIncident
namespace EdFi.Ods.Api.Models.Resources.DisciplineIncident
{
/// <summary>
/// Represents a reference to the DisciplineIncident resource.
/// </summary>
[DataContract]
public class DisciplineIncidentReference
{
[DataMember(Name="incidentIdentifier"), NaturalKeyMember]
public string IncidentIdentifier { get; set; }
[DataMember(Name="schoolId"), NaturalKeyMember]
public int SchoolId { 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 = new Link
{
Rel = "DisciplineIncident",
Href = "/disciplineIncidents"
+ "?incidentIdentifier=" + WebUtility.UrlEncode(IncidentIdentifier)
+ "&schoolId=" + SchoolId
};
}
}
return _link;
}
}
/// <summary>
/// Indicates whether the reference has been fully defined (all key values are currently assigned non-default values).
/// </summary>
/// <returns><b>true</b> if the reference's properties are all set to non-default values; otherwise <b>false</b>.</returns>
public bool IsReferenceFullyDefined()
{
return IncidentIdentifier != default(string)
&& SchoolId != default(int)
;
}
} // Aggregate reference
/// <summary>
/// A class which represents the edfi.DisciplineIncident table of the DisciplineIncident aggregate in the ODS Database.
/// </summary>
[Serializable, DataContract]
public class DisciplineIncident : IDisciplineIncident, IHasETag, IDisciplineIncidentSynchronizationSourceSupport
{
#pragma warning disable 414
private bool _SuspendReferenceAssignmentCheck = false;
public void SuspendReferenceAssignmentCheck() { _SuspendReferenceAssignmentCheck = true; }
#pragma warning restore 414
// =============================================================
// Constructor
// -------------------------------------------------------------
public DisciplineIncident()
{
DisciplineIncidentBehaviors = new List<DisciplineIncidentBehavior>();
DisciplineIncidentWeapons = new List<DisciplineIncidentWeapon>();
}
// -------------------------------------------------------------
/// <summary>
/// The unique identifier for the DisciplineIncident resource.
/// </summary>
[DataMember(Name="id")]
[JsonConverter(typeof(EdFi.Ods.Common.GuidConverter))]
public Guid Id { get; set; }
// =============================================================
// References
// -------------------------------------------------------------
private bool _schoolReferenceExplicitlyAssigned;
private School.SchoolReference _schoolReference;
private School.SchoolReference ImplicitSchoolReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_schoolReference == null && !_schoolReferenceExplicitlyAssigned)
_schoolReference = new School.SchoolReference();
return _schoolReference;
}
}
[DataMember(Name="schoolReference")][NaturalKeyMember]
public School.SchoolReference SchoolReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitSchoolReference != null
&& (_schoolReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference;
return null;
}
set
{
_schoolReferenceExplicitlyAssigned = true;
_schoolReference = value;
}
}
private bool _staffReferenceExplicitlyAssigned;
private Staff.StaffReference _staffReference;
private Staff.StaffReference ImplicitStaffReference
{
get
{
// if the Reference is null, it is instantiated unless it has been explicitly assigned to null
if (_staffReference == null && !_staffReferenceExplicitlyAssigned)
_staffReference = new Staff.StaffReference();
return _staffReference;
}
}
[DataMember(Name="staffReference")]
public Staff.StaffReference StaffReference
{
get
{
// Only return the reference if it's non-null, and all its properties have non-default values assigned
if (ImplicitStaffReference != null
&& (_staffReferenceExplicitlyAssigned || _SuspendReferenceAssignmentCheck || ImplicitStaffReference.IsReferenceFullyDefined()))
return ImplicitStaffReference;
return null;
}
set
{
_staffReferenceExplicitlyAssigned = true;
_staffReference = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Primary Key
// -------------------------------------------------------------
/// <summary>
/// A locally assigned unique identifier (within the school or school district) to identify each specific incident or occurrence. The same identifier should be used to document the entire incident even if it included multiple offenses and multiple offenders.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="incidentIdentifier"), NaturalKeyMember]
public string IncidentIdentifier { get; set; }
/// <summary>
/// School Identity Column
/// </summary>
// IS in a reference, NOT a lookup column
int IDisciplineIncident.SchoolId
{
get
{
if (ImplicitSchoolReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitSchoolReference.IsReferenceFullyDefined()))
return ImplicitSchoolReference.SchoolId;
return default(int);
}
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
// School
_schoolReferenceExplicitlyAssigned = false;
ImplicitSchoolReference.SchoolId = value;
}
}
/// <summary>
/// Builds the hash code based on the unique identifying values.
/// </summary>
/// <returns>
/// A hash code for the resource.
/// </returns>
public override int GetHashCode()
{
#pragma warning disable 472
unchecked
{
int hash = 17;
// Standard Property
if ((this as IDisciplineIncident).IncidentIdentifier != null)
hash = hash * 23 + (this as IDisciplineIncident).IncidentIdentifier.GetHashCode();
//Referenced Property
if ((this as IDisciplineIncident).SchoolId != null)
hash = hash * 23 + (this as IDisciplineIncident).SchoolId.GetHashCode();
return hash;
}
#pragma warning restore 472
}
// -------------------------------------------------------------
// =============================================================
// Properties
// -------------------------------------------------------------
/// <summary>
/// The case number assigned to the incident by law enforcement or other organization.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="caseNumber")]
public string CaseNumber { get; set; }
/// <summary>
/// The value of any quantifiable monetary loss directly resulting from the DisciplineIncident. Examples include the value of repairs necessitated by vandalism of a school facility, or the value of personnel resources used for repairs or consumed by the incident.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="incidentCost")][Range(typeof(decimal), "-922337203685477.5808", "922337203685477.5807")]
public decimal? IncidentCost { get; set; }
/// <summary>
/// The month, day, and year on which the DisciplineIncident occurred.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="incidentDate")]
public DateTime IncidentDate { get; set; }
/// <summary>
/// The description for an incident.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="incidentDescription")]
public string IncidentDescription { get; set; }
/// <summary>
/// Identifies where the incident occurred and whether or not it occurred on campus, for example: On campus Administrative offices area Cafeteria area Classroom Hallway or stairs ...
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="incidentLocationType")]
public string IncidentLocationType { get; set; }
/// <summary>
/// An indication of the time of day the incident took place.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="incidentTime")][JsonConverter(typeof(UtcTimeConverter))]
public TimeSpan? IncidentTime { get; set; }
/// <summary>
/// Indicator of whether the incident was reported to law enforcement.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="reportedToLawEnforcement")]
public bool? ReportedToLawEnforcement { get; set; }
/// <summary>
/// Information on the type of individual who reported the incident. When known and/or if useful, use a more specific option code (e.g., \"Counselor\" rather than \"Professional Staff\"); for example:Student Parent/guardian Law enforcement officer Nonschool personnel Representative of visiting school ...
/// </summary>
// NOT in a reference, IS a lookup column
[DataMember(Name="reporterDescriptionDescriptor")]
public string ReporterDescriptionDescriptor { get; set; }
/// <summary>
/// Identifies the reporter of the incident by name.
/// </summary>
// NOT in a reference, NOT a lookup column
[DataMember(Name="reporterName")]
public string ReporterName { get; set; }
/// <summary>
/// A unique alphanumeric code assigned to a staff.
/// </summary>
// IS in a reference, NOT a lookup column
string IDisciplineIncident.StaffUniqueId
{
get
{
if (ImplicitStaffReference != null
&& (_SuspendReferenceAssignmentCheck || ImplicitStaffReference.IsReferenceFullyDefined()))
return ImplicitStaffReference.StaffUniqueId;
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
// Staff
_staffReferenceExplicitlyAssigned = false;
ImplicitStaffReference.StaffUniqueId = value;
}
}
// -------------------------------------------------------------
// =============================================================
// Collections
// -------------------------------------------------------------
private IList<DisciplineIncidentBehavior> _disciplineIncidentBehaviors;
private IList<IDisciplineIncidentBehavior> _disciplineIncidentBehaviorsCovariant;
[DataMember(Name="behaviors")]
public IList<DisciplineIncidentBehavior> DisciplineIncidentBeh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment