#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace DataContext
{
	using System.Data.Linq;
	using System.Data.Linq.Mapping;
	using System.Data;
	using System.Collections.Generic;
	using System.Reflection;
	using System.Linq;
	using System.Linq.Expressions;
	using System.ComponentModel;
	using System;
	
	
	[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="uoftDatabase")]
	internal partial class UofTDataContext : System.Data.Linq.DataContext
	{
		
		private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
		
    #region Extensibility Method Definitions
    partial void OnCreated();
    partial void InsertActivity(Activity instance);
    partial void UpdateActivity(Activity instance);
    partial void DeleteActivity(Activity instance);
    partial void InsertBuilding(Building instance);
    partial void UpdateBuilding(Building instance);
    partial void DeleteBuilding(Building instance);
    partial void InsertBuildingDistance(BuildingDistance instance);
    partial void UpdateBuildingDistance(BuildingDistance instance);
    partial void DeleteBuildingDistance(BuildingDistance instance);
    partial void InsertCourse(Course instance);
    partial void UpdateCourse(Course instance);
    partial void DeleteCourse(Course instance);
    partial void InsertInstructor(Instructor instance);
    partial void UpdateInstructor(Instructor instance);
    partial void DeleteInstructor(Instructor instance);
    partial void InsertInstructorToSection(InstructorToSection instance);
    partial void UpdateInstructorToSection(InstructorToSection instance);
    partial void DeleteInstructorToSection(InstructorToSection instance);
    partial void InsertSection(Section instance);
    partial void UpdateSection(Section instance);
    partial void DeleteSection(Section instance);
    partial void InsertSession(Session instance);
    partial void UpdateSession(Session instance);
    partial void DeleteSession(Session instance);
    #endregion
		
		public UofTDataContext() : 
				base(global::UoftTimetableGenerator.DataModels.Properties.Settings.Default.uoftDatabaseConnectionString1, mappingSource)
		{
			OnCreated();
		}
		
		public UofTDataContext(string connection) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public UofTDataContext(System.Data.IDbConnection connection) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public UofTDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public UofTDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public System.Data.Linq.Table<Activity> Activities
		{
			get
			{
				return this.GetTable<Activity>();
			}
		}
		
		public System.Data.Linq.Table<Building> Buildings
		{
			get
			{
				return this.GetTable<Building>();
			}
		}
		
		public System.Data.Linq.Table<BuildingDistance> BuildingDistances
		{
			get
			{
				return this.GetTable<BuildingDistance>();
			}
		}
		
		public System.Data.Linq.Table<Course> Courses
		{
			get
			{
				return this.GetTable<Course>();
			}
		}
		
		public System.Data.Linq.Table<Instructor> Instructors
		{
			get
			{
				return this.GetTable<Instructor>();
			}
		}
		
		public System.Data.Linq.Table<InstructorToSection> InstructorToSections
		{
			get
			{
				return this.GetTable<InstructorToSection>();
			}
		}
		
		public System.Data.Linq.Table<Section> Sections
		{
			get
			{
				return this.GetTable<Section>();
			}
		}
		
		public System.Data.Linq.Table<Session> Sessions
		{
			get
			{
				return this.GetTable<Session>();
			}
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.usp_GetActivitiesInfo")]
		public ISingleResult<usp_GetActivitiesInfoResult> usp_GetActivitiesInfo([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Int")] System.Nullable<int> courseID)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), courseID);
			return ((ISingleResult<usp_GetActivitiesInfoResult>)(result.ReturnValue));
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.usp_GetBuildingInfo")]
		public ISingleResult<usp_GetBuildingInfoResult> usp_GetBuildingInfo([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Int")] System.Nullable<int> buildingID)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), buildingID);
			return ((ISingleResult<usp_GetBuildingInfoResult>)(result.ReturnValue));
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.usp_GetCourseInfo")]
		public ISingleResult<usp_GetCourseInfoResult> usp_GetCourseInfo([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="NVarChar(10)")] string courseCode)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), courseCode);
			return ((ISingleResult<usp_GetCourseInfoResult>)(result.ReturnValue));
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.usp_GetInstructorInfo")]
		public ISingleResult<usp_GetInstructorInfoResult> usp_GetInstructorInfo([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Int")] System.Nullable<int> instructorID)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), instructorID);
			return ((ISingleResult<usp_GetInstructorInfoResult>)(result.ReturnValue));
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.usp_GetSectionInfo")]
		public ISingleResult<usp_GetSectionInfoResult> usp_GetSectionInfo([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Int")] System.Nullable<int> activityID)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), activityID);
			return ((ISingleResult<usp_GetSectionInfoResult>)(result.ReturnValue));
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.usp_GetSectionInstructors")]
		public ISingleResult<usp_GetSectionInstructorsResult> usp_GetSectionInstructors([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Int")] System.Nullable<int> sectionID)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), sectionID);
			return ((ISingleResult<usp_GetSectionInstructorsResult>)(result.ReturnValue));
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.usp_GetSessionInfo")]
		public ISingleResult<usp_GetSessionInfoResult> usp_GetSessionInfo([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Int")] System.Nullable<int> sectionID)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), sectionID);
			return ((ISingleResult<usp_GetSessionInfoResult>)(result.ReturnValue));
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.usp_GetTravelTimeBetweenBuildings")]
		public ISingleResult<usp_GetTravelTimeBetweenBuildingsResult> usp_GetTravelTimeBetweenBuildings([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Int")] System.Nullable<int> buildingID1, [global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Int")] System.Nullable<int> buildingID2)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), buildingID1, buildingID2);
			return ((ISingleResult<usp_GetTravelTimeBetweenBuildingsResult>)(result.ReturnValue));
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Activity")]
	public partial class Activity : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private int _ActivityID;
		
		private int _CourseID;
		
		private System.Nullable<char> _ActivityType;
		
		private EntitySet<Section> _Sections;
		
		private EntityRef<Course> _Course;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnActivityIDChanging(int value);
    partial void OnActivityIDChanged();
    partial void OnCourseIDChanging(int value);
    partial void OnCourseIDChanged();
    partial void OnActivityTypeChanging(System.Nullable<char> value);
    partial void OnActivityTypeChanged();
    #endregion
		
		public Activity()
		{
			this._Sections = new EntitySet<Section>(new Action<Section>(this.attach_Sections), new Action<Section>(this.detach_Sections));
			this._Course = default(EntityRef<Course>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ActivityID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
		public int ActivityID
		{
			get
			{
				return this._ActivityID;
			}
			set
			{
				if ((this._ActivityID != value))
				{
					this.OnActivityIDChanging(value);
					this.SendPropertyChanging();
					this._ActivityID = value;
					this.SendPropertyChanged("ActivityID");
					this.OnActivityIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CourseID", DbType="Int NOT NULL")]
		public int CourseID
		{
			get
			{
				return this._CourseID;
			}
			set
			{
				if ((this._CourseID != value))
				{
					if (this._Course.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnCourseIDChanging(value);
					this.SendPropertyChanging();
					this._CourseID = value;
					this.SendPropertyChanged("CourseID");
					this.OnCourseIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ActivityType", DbType="Char(1)")]
		public System.Nullable<char> ActivityType
		{
			get
			{
				return this._ActivityType;
			}
			set
			{
				if ((this._ActivityType != value))
				{
					this.OnActivityTypeChanging(value);
					this.SendPropertyChanging();
					this._ActivityType = value;
					this.SendPropertyChanged("ActivityType");
					this.OnActivityTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Activity_Section", Storage="_Sections", ThisKey="ActivityID", OtherKey="ActivityID")]
		public EntitySet<Section> Sections
		{
			get
			{
				return this._Sections;
			}
			set
			{
				this._Sections.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Course_Activity", Storage="_Course", ThisKey="CourseID", OtherKey="CourseID", IsForeignKey=true)]
		public Course Course
		{
			get
			{
				return this._Course.Entity;
			}
			set
			{
				Course previousValue = this._Course.Entity;
				if (((previousValue != value) 
							|| (this._Course.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._Course.Entity = null;
						previousValue.Activities.Remove(this);
					}
					this._Course.Entity = value;
					if ((value != null))
					{
						value.Activities.Add(this);
						this._CourseID = value.CourseID;
					}
					else
					{
						this._CourseID = default(int);
					}
					this.SendPropertyChanged("Course");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_Sections(Section entity)
		{
			this.SendPropertyChanging();
			entity.Activity = this;
		}
		
		private void detach_Sections(Section entity)
		{
			this.SendPropertyChanging();
			entity.Activity = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Building")]
	public partial class Building : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private int _BuildingID;
		
		private string _BuildingName;
		
		private string _BuildingCode;
		
		private string _Address;
		
		private System.Nullable<double> _Latitude;
		
		private System.Nullable<double> _Longitude;
		
		private EntitySet<BuildingDistance> _BuildingDistances;
		
		private EntitySet<BuildingDistance> _BuildingDistances1;
		
		private EntitySet<Session> _Sessions;
		
		private EntitySet<Session> _Sessions1;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnBuildingIDChanging(int value);
    partial void OnBuildingIDChanged();
    partial void OnBuildingNameChanging(string value);
    partial void OnBuildingNameChanged();
    partial void OnBuildingCodeChanging(string value);
    partial void OnBuildingCodeChanged();
    partial void OnAddressChanging(string value);
    partial void OnAddressChanged();
    partial void OnLatitudeChanging(System.Nullable<double> value);
    partial void OnLatitudeChanged();
    partial void OnLongitudeChanging(System.Nullable<double> value);
    partial void OnLongitudeChanged();
    #endregion
		
		public Building()
		{
			this._BuildingDistances = new EntitySet<BuildingDistance>(new Action<BuildingDistance>(this.attach_BuildingDistances), new Action<BuildingDistance>(this.detach_BuildingDistances));
			this._BuildingDistances1 = new EntitySet<BuildingDistance>(new Action<BuildingDistance>(this.attach_BuildingDistances1), new Action<BuildingDistance>(this.detach_BuildingDistances1));
			this._Sessions = new EntitySet<Session>(new Action<Session>(this.attach_Sessions), new Action<Session>(this.detach_Sessions));
			this._Sessions1 = new EntitySet<Session>(new Action<Session>(this.attach_Sessions1), new Action<Session>(this.detach_Sessions1));
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
		public int BuildingID
		{
			get
			{
				return this._BuildingID;
			}
			set
			{
				if ((this._BuildingID != value))
				{
					this.OnBuildingIDChanging(value);
					this.SendPropertyChanging();
					this._BuildingID = value;
					this.SendPropertyChanged("BuildingID");
					this.OnBuildingIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingName", DbType="NVarChar(MAX)")]
		public string BuildingName
		{
			get
			{
				return this._BuildingName;
			}
			set
			{
				if ((this._BuildingName != value))
				{
					this.OnBuildingNameChanging(value);
					this.SendPropertyChanging();
					this._BuildingName = value;
					this.SendPropertyChanged("BuildingName");
					this.OnBuildingNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingCode", DbType="NVarChar(2)")]
		public string BuildingCode
		{
			get
			{
				return this._BuildingCode;
			}
			set
			{
				if ((this._BuildingCode != value))
				{
					this.OnBuildingCodeChanging(value);
					this.SendPropertyChanging();
					this._BuildingCode = value;
					this.SendPropertyChanged("BuildingCode");
					this.OnBuildingCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Address", DbType="NVarChar(MAX)")]
		public string Address
		{
			get
			{
				return this._Address;
			}
			set
			{
				if ((this._Address != value))
				{
					this.OnAddressChanging(value);
					this.SendPropertyChanging();
					this._Address = value;
					this.SendPropertyChanged("Address");
					this.OnAddressChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Latitude", DbType="Float")]
		public System.Nullable<double> Latitude
		{
			get
			{
				return this._Latitude;
			}
			set
			{
				if ((this._Latitude != value))
				{
					this.OnLatitudeChanging(value);
					this.SendPropertyChanging();
					this._Latitude = value;
					this.SendPropertyChanged("Latitude");
					this.OnLatitudeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Longitude", DbType="Float")]
		public System.Nullable<double> Longitude
		{
			get
			{
				return this._Longitude;
			}
			set
			{
				if ((this._Longitude != value))
				{
					this.OnLongitudeChanging(value);
					this.SendPropertyChanging();
					this._Longitude = value;
					this.SendPropertyChanged("Longitude");
					this.OnLongitudeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Building_BuildingDistance", Storage="_BuildingDistances", ThisKey="BuildingID", OtherKey="BuildingID1")]
		public EntitySet<BuildingDistance> BuildingDistances
		{
			get
			{
				return this._BuildingDistances;
			}
			set
			{
				this._BuildingDistances.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Building_BuildingDistance1", Storage="_BuildingDistances1", ThisKey="BuildingID", OtherKey="BuildingID2")]
		public EntitySet<BuildingDistance> BuildingDistances1
		{
			get
			{
				return this._BuildingDistances1;
			}
			set
			{
				this._BuildingDistances1.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Building_Session", Storage="_Sessions", ThisKey="BuildingID", OtherKey="Fall_BuildingID")]
		public EntitySet<Session> Sessions
		{
			get
			{
				return this._Sessions;
			}
			set
			{
				this._Sessions.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Building_Session1", Storage="_Sessions1", ThisKey="BuildingID", OtherKey="Winter_BuildingID")]
		public EntitySet<Session> Sessions1
		{
			get
			{
				return this._Sessions1;
			}
			set
			{
				this._Sessions1.Assign(value);
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_BuildingDistances(BuildingDistance entity)
		{
			this.SendPropertyChanging();
			entity.Building = this;
		}
		
		private void detach_BuildingDistances(BuildingDistance entity)
		{
			this.SendPropertyChanging();
			entity.Building = null;
		}
		
		private void attach_BuildingDistances1(BuildingDistance entity)
		{
			this.SendPropertyChanging();
			entity.Building1 = this;
		}
		
		private void detach_BuildingDistances1(BuildingDistance entity)
		{
			this.SendPropertyChanging();
			entity.Building1 = null;
		}
		
		private void attach_Sessions(Session entity)
		{
			this.SendPropertyChanging();
			entity.Building = this;
		}
		
		private void detach_Sessions(Session entity)
		{
			this.SendPropertyChanging();
			entity.Building = null;
		}
		
		private void attach_Sessions1(Session entity)
		{
			this.SendPropertyChanging();
			entity.Building1 = this;
		}
		
		private void detach_Sessions1(Session entity)
		{
			this.SendPropertyChanging();
			entity.Building1 = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.BuildingDistances")]
	public partial class BuildingDistance : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private int _BuildingDistanceID;
		
		private int _BuildingID1;
		
		private int _BuildingID2;
		
		private System.Nullable<double> _WalkingDuration;
		
		private System.Nullable<double> _WalkingDistance;
		
		private System.Nullable<double> _TransitDuration;
		
		private System.Nullable<double> _TransitDistance;
		
		private System.Nullable<double> _CyclingDuration;
		
		private System.Nullable<double> _CyclingDistance;
		
		private System.Nullable<double> _DrivingDuration;
		
		private System.Nullable<double> _DrivingDistance;
		
		private EntityRef<Building> _Building;
		
		private EntityRef<Building> _Building1;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnBuildingDistanceIDChanging(int value);
    partial void OnBuildingDistanceIDChanged();
    partial void OnBuildingID1Changing(int value);
    partial void OnBuildingID1Changed();
    partial void OnBuildingID2Changing(int value);
    partial void OnBuildingID2Changed();
    partial void OnWalkingDurationChanging(System.Nullable<double> value);
    partial void OnWalkingDurationChanged();
    partial void OnWalkingDistanceChanging(System.Nullable<double> value);
    partial void OnWalkingDistanceChanged();
    partial void OnTransitDurationChanging(System.Nullable<double> value);
    partial void OnTransitDurationChanged();
    partial void OnTransitDistanceChanging(System.Nullable<double> value);
    partial void OnTransitDistanceChanged();
    partial void OnCyclingDurationChanging(System.Nullable<double> value);
    partial void OnCyclingDurationChanged();
    partial void OnCyclingDistanceChanging(System.Nullable<double> value);
    partial void OnCyclingDistanceChanged();
    partial void OnDrivingDurationChanging(System.Nullable<double> value);
    partial void OnDrivingDurationChanged();
    partial void OnDrivingDistanceChanging(System.Nullable<double> value);
    partial void OnDrivingDistanceChanged();
    #endregion
		
		public BuildingDistance()
		{
			this._Building = default(EntityRef<Building>);
			this._Building1 = default(EntityRef<Building>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingDistanceID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
		public int BuildingDistanceID
		{
			get
			{
				return this._BuildingDistanceID;
			}
			set
			{
				if ((this._BuildingDistanceID != value))
				{
					this.OnBuildingDistanceIDChanging(value);
					this.SendPropertyChanging();
					this._BuildingDistanceID = value;
					this.SendPropertyChanged("BuildingDistanceID");
					this.OnBuildingDistanceIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingID1", DbType="Int NOT NULL")]
		public int BuildingID1
		{
			get
			{
				return this._BuildingID1;
			}
			set
			{
				if ((this._BuildingID1 != value))
				{
					if (this._Building.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnBuildingID1Changing(value);
					this.SendPropertyChanging();
					this._BuildingID1 = value;
					this.SendPropertyChanged("BuildingID1");
					this.OnBuildingID1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingID2", DbType="Int NOT NULL")]
		public int BuildingID2
		{
			get
			{
				return this._BuildingID2;
			}
			set
			{
				if ((this._BuildingID2 != value))
				{
					if (this._Building1.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnBuildingID2Changing(value);
					this.SendPropertyChanging();
					this._BuildingID2 = value;
					this.SendPropertyChanged("BuildingID2");
					this.OnBuildingID2Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WalkingDuration", DbType="Float")]
		public System.Nullable<double> WalkingDuration
		{
			get
			{
				return this._WalkingDuration;
			}
			set
			{
				if ((this._WalkingDuration != value))
				{
					this.OnWalkingDurationChanging(value);
					this.SendPropertyChanging();
					this._WalkingDuration = value;
					this.SendPropertyChanged("WalkingDuration");
					this.OnWalkingDurationChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WalkingDistance", DbType="Float")]
		public System.Nullable<double> WalkingDistance
		{
			get
			{
				return this._WalkingDistance;
			}
			set
			{
				if ((this._WalkingDistance != value))
				{
					this.OnWalkingDistanceChanging(value);
					this.SendPropertyChanging();
					this._WalkingDistance = value;
					this.SendPropertyChanged("WalkingDistance");
					this.OnWalkingDistanceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransitDuration", DbType="Float")]
		public System.Nullable<double> TransitDuration
		{
			get
			{
				return this._TransitDuration;
			}
			set
			{
				if ((this._TransitDuration != value))
				{
					this.OnTransitDurationChanging(value);
					this.SendPropertyChanging();
					this._TransitDuration = value;
					this.SendPropertyChanged("TransitDuration");
					this.OnTransitDurationChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransitDistance", DbType="Float")]
		public System.Nullable<double> TransitDistance
		{
			get
			{
				return this._TransitDistance;
			}
			set
			{
				if ((this._TransitDistance != value))
				{
					this.OnTransitDistanceChanging(value);
					this.SendPropertyChanging();
					this._TransitDistance = value;
					this.SendPropertyChanged("TransitDistance");
					this.OnTransitDistanceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CyclingDuration", DbType="Float")]
		public System.Nullable<double> CyclingDuration
		{
			get
			{
				return this._CyclingDuration;
			}
			set
			{
				if ((this._CyclingDuration != value))
				{
					this.OnCyclingDurationChanging(value);
					this.SendPropertyChanging();
					this._CyclingDuration = value;
					this.SendPropertyChanged("CyclingDuration");
					this.OnCyclingDurationChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CyclingDistance", DbType="Float")]
		public System.Nullable<double> CyclingDistance
		{
			get
			{
				return this._CyclingDistance;
			}
			set
			{
				if ((this._CyclingDistance != value))
				{
					this.OnCyclingDistanceChanging(value);
					this.SendPropertyChanging();
					this._CyclingDistance = value;
					this.SendPropertyChanged("CyclingDistance");
					this.OnCyclingDistanceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DrivingDuration", DbType="Float")]
		public System.Nullable<double> DrivingDuration
		{
			get
			{
				return this._DrivingDuration;
			}
			set
			{
				if ((this._DrivingDuration != value))
				{
					this.OnDrivingDurationChanging(value);
					this.SendPropertyChanging();
					this._DrivingDuration = value;
					this.SendPropertyChanged("DrivingDuration");
					this.OnDrivingDurationChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DrivingDistance", DbType="Float")]
		public System.Nullable<double> DrivingDistance
		{
			get
			{
				return this._DrivingDistance;
			}
			set
			{
				if ((this._DrivingDistance != value))
				{
					this.OnDrivingDistanceChanging(value);
					this.SendPropertyChanging();
					this._DrivingDistance = value;
					this.SendPropertyChanged("DrivingDistance");
					this.OnDrivingDistanceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Building_BuildingDistance", Storage="_Building", ThisKey="BuildingID1", OtherKey="BuildingID", IsForeignKey=true)]
		public Building Building
		{
			get
			{
				return this._Building.Entity;
			}
			set
			{
				Building previousValue = this._Building.Entity;
				if (((previousValue != value) 
							|| (this._Building.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._Building.Entity = null;
						previousValue.BuildingDistances.Remove(this);
					}
					this._Building.Entity = value;
					if ((value != null))
					{
						value.BuildingDistances.Add(this);
						this._BuildingID1 = value.BuildingID;
					}
					else
					{
						this._BuildingID1 = default(int);
					}
					this.SendPropertyChanged("Building");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Building_BuildingDistance1", Storage="_Building1", ThisKey="BuildingID2", OtherKey="BuildingID", IsForeignKey=true)]
		public Building Building1
		{
			get
			{
				return this._Building1.Entity;
			}
			set
			{
				Building previousValue = this._Building1.Entity;
				if (((previousValue != value) 
							|| (this._Building1.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._Building1.Entity = null;
						previousValue.BuildingDistances1.Remove(this);
					}
					this._Building1.Entity = value;
					if ((value != null))
					{
						value.BuildingDistances1.Add(this);
						this._BuildingID2 = value.BuildingID;
					}
					else
					{
						this._BuildingID2 = default(int);
					}
					this.SendPropertyChanged("Building1");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Course")]
	public partial class Course : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private int _CourseID;
		
		private string _Code;
		
		private string _Campus;
		
		private System.Nullable<char> _Term;
		
		private string _Title;
		
		private string _Description;
		
		private EntitySet<Activity> _Activities;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnCourseIDChanging(int value);
    partial void OnCourseIDChanged();
    partial void OnCodeChanging(string value);
    partial void OnCodeChanged();
    partial void OnCampusChanging(string value);
    partial void OnCampusChanged();
    partial void OnTermChanging(System.Nullable<char> value);
    partial void OnTermChanged();
    partial void OnTitleChanging(string value);
    partial void OnTitleChanged();
    partial void OnDescriptionChanging(string value);
    partial void OnDescriptionChanged();
    #endregion
		
		public Course()
		{
			this._Activities = new EntitySet<Activity>(new Action<Activity>(this.attach_Activities), new Action<Activity>(this.detach_Activities));
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CourseID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
		public int CourseID
		{
			get
			{
				return this._CourseID;
			}
			set
			{
				if ((this._CourseID != value))
				{
					this.OnCourseIDChanging(value);
					this.SendPropertyChanging();
					this._CourseID = value;
					this.SendPropertyChanged("CourseID");
					this.OnCourseIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Code", DbType="NVarChar(10)")]
		public string Code
		{
			get
			{
				return this._Code;
			}
			set
			{
				if ((this._Code != value))
				{
					this.OnCodeChanging(value);
					this.SendPropertyChanging();
					this._Code = value;
					this.SendPropertyChanged("Code");
					this.OnCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Campus", DbType="NVarChar(MAX)")]
		public string Campus
		{
			get
			{
				return this._Campus;
			}
			set
			{
				if ((this._Campus != value))
				{
					this.OnCampusChanging(value);
					this.SendPropertyChanging();
					this._Campus = value;
					this.SendPropertyChanged("Campus");
					this.OnCampusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Term", DbType="Char(1)")]
		public System.Nullable<char> Term
		{
			get
			{
				return this._Term;
			}
			set
			{
				if ((this._Term != value))
				{
					this.OnTermChanging(value);
					this.SendPropertyChanging();
					this._Term = value;
					this.SendPropertyChanged("Term");
					this.OnTermChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Title", DbType="NVarChar(MAX)")]
		public string Title
		{
			get
			{
				return this._Title;
			}
			set
			{
				if ((this._Title != value))
				{
					this.OnTitleChanging(value);
					this.SendPropertyChanging();
					this._Title = value;
					this.SendPropertyChanged("Title");
					this.OnTitleChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Description", DbType="NVarChar(MAX)")]
		public string Description
		{
			get
			{
				return this._Description;
			}
			set
			{
				if ((this._Description != value))
				{
					this.OnDescriptionChanging(value);
					this.SendPropertyChanging();
					this._Description = value;
					this.SendPropertyChanged("Description");
					this.OnDescriptionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Course_Activity", Storage="_Activities", ThisKey="CourseID", OtherKey="CourseID")]
		public EntitySet<Activity> Activities
		{
			get
			{
				return this._Activities;
			}
			set
			{
				this._Activities.Assign(value);
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_Activities(Activity entity)
		{
			this.SendPropertyChanging();
			entity.Course = this;
		}
		
		private void detach_Activities(Activity entity)
		{
			this.SendPropertyChanging();
			entity.Course = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Instructor")]
	public partial class Instructor : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private int _InstructorID;
		
		private string _Name;
		
		private System.Nullable<double> _Rating;
		
		private EntitySet<InstructorToSection> _InstructorToSections;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnInstructorIDChanging(int value);
    partial void OnInstructorIDChanged();
    partial void OnNameChanging(string value);
    partial void OnNameChanged();
    partial void OnRatingChanging(System.Nullable<double> value);
    partial void OnRatingChanged();
    #endregion
		
		public Instructor()
		{
			this._InstructorToSections = new EntitySet<InstructorToSection>(new Action<InstructorToSection>(this.attach_InstructorToSections), new Action<InstructorToSection>(this.detach_InstructorToSections));
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InstructorID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
		public int InstructorID
		{
			get
			{
				return this._InstructorID;
			}
			set
			{
				if ((this._InstructorID != value))
				{
					this.OnInstructorIDChanging(value);
					this.SendPropertyChanging();
					this._InstructorID = value;
					this.SendPropertyChanged("InstructorID");
					this.OnInstructorIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(MAX)")]
		public string Name
		{
			get
			{
				return this._Name;
			}
			set
			{
				if ((this._Name != value))
				{
					this.OnNameChanging(value);
					this.SendPropertyChanging();
					this._Name = value;
					this.SendPropertyChanged("Name");
					this.OnNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Rating", DbType="Float")]
		public System.Nullable<double> Rating
		{
			get
			{
				return this._Rating;
			}
			set
			{
				if ((this._Rating != value))
				{
					this.OnRatingChanging(value);
					this.SendPropertyChanging();
					this._Rating = value;
					this.SendPropertyChanged("Rating");
					this.OnRatingChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Instructor_InstructorToSection", Storage="_InstructorToSections", ThisKey="InstructorID", OtherKey="InstructorID")]
		public EntitySet<InstructorToSection> InstructorToSections
		{
			get
			{
				return this._InstructorToSections;
			}
			set
			{
				this._InstructorToSections.Assign(value);
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_InstructorToSections(InstructorToSection entity)
		{
			this.SendPropertyChanging();
			entity.Instructor = this;
		}
		
		private void detach_InstructorToSections(InstructorToSection entity)
		{
			this.SendPropertyChanging();
			entity.Instructor = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.InstructorToSection")]
	public partial class InstructorToSection : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private int _Id;
		
		private int _InstructorID;
		
		private int _SectionID;
		
		private EntityRef<Instructor> _Instructor;
		
		private EntityRef<Section> _Section;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIdChanging(int value);
    partial void OnIdChanged();
    partial void OnInstructorIDChanging(int value);
    partial void OnInstructorIDChanged();
    partial void OnSectionIDChanging(int value);
    partial void OnSectionIDChanged();
    #endregion
		
		public InstructorToSection()
		{
			this._Instructor = default(EntityRef<Instructor>);
			this._Section = default(EntityRef<Section>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
		public int Id
		{
			get
			{
				return this._Id;
			}
			set
			{
				if ((this._Id != value))
				{
					this.OnIdChanging(value);
					this.SendPropertyChanging();
					this._Id = value;
					this.SendPropertyChanged("Id");
					this.OnIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InstructorID", DbType="Int NOT NULL")]
		public int InstructorID
		{
			get
			{
				return this._InstructorID;
			}
			set
			{
				if ((this._InstructorID != value))
				{
					if (this._Instructor.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnInstructorIDChanging(value);
					this.SendPropertyChanging();
					this._InstructorID = value;
					this.SendPropertyChanged("InstructorID");
					this.OnInstructorIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SectionID", DbType="Int NOT NULL")]
		public int SectionID
		{
			get
			{
				return this._SectionID;
			}
			set
			{
				if ((this._SectionID != value))
				{
					if (this._Section.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnSectionIDChanging(value);
					this.SendPropertyChanging();
					this._SectionID = value;
					this.SendPropertyChanged("SectionID");
					this.OnSectionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Instructor_InstructorToSection", Storage="_Instructor", ThisKey="InstructorID", OtherKey="InstructorID", IsForeignKey=true)]
		public Instructor Instructor
		{
			get
			{
				return this._Instructor.Entity;
			}
			set
			{
				Instructor previousValue = this._Instructor.Entity;
				if (((previousValue != value) 
							|| (this._Instructor.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._Instructor.Entity = null;
						previousValue.InstructorToSections.Remove(this);
					}
					this._Instructor.Entity = value;
					if ((value != null))
					{
						value.InstructorToSections.Add(this);
						this._InstructorID = value.InstructorID;
					}
					else
					{
						this._InstructorID = default(int);
					}
					this.SendPropertyChanged("Instructor");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Section_InstructorToSection", Storage="_Section", ThisKey="SectionID", OtherKey="SectionID", IsForeignKey=true)]
		public Section Section
		{
			get
			{
				return this._Section.Entity;
			}
			set
			{
				Section previousValue = this._Section.Entity;
				if (((previousValue != value) 
							|| (this._Section.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._Section.Entity = null;
						previousValue.InstructorToSections.Remove(this);
					}
					this._Section.Entity = value;
					if ((value != null))
					{
						value.InstructorToSections.Add(this);
						this._SectionID = value.SectionID;
					}
					else
					{
						this._SectionID = default(int);
					}
					this.SendPropertyChanged("Section");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Section")]
	public partial class Section : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private int _SectionID;
		
		private int _ActivityID;
		
		private string _SectionCode;
		
		private EntitySet<InstructorToSection> _InstructorToSections;
		
		private EntitySet<Session> _Sessions;
		
		private EntityRef<Activity> _Activity;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnSectionIDChanging(int value);
    partial void OnSectionIDChanged();
    partial void OnActivityIDChanging(int value);
    partial void OnActivityIDChanged();
    partial void OnSectionCodeChanging(string value);
    partial void OnSectionCodeChanged();
    #endregion
		
		public Section()
		{
			this._InstructorToSections = new EntitySet<InstructorToSection>(new Action<InstructorToSection>(this.attach_InstructorToSections), new Action<InstructorToSection>(this.detach_InstructorToSections));
			this._Sessions = new EntitySet<Session>(new Action<Session>(this.attach_Sessions), new Action<Session>(this.detach_Sessions));
			this._Activity = default(EntityRef<Activity>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SectionID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
		public int SectionID
		{
			get
			{
				return this._SectionID;
			}
			set
			{
				if ((this._SectionID != value))
				{
					this.OnSectionIDChanging(value);
					this.SendPropertyChanging();
					this._SectionID = value;
					this.SendPropertyChanged("SectionID");
					this.OnSectionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ActivityID", DbType="Int NOT NULL")]
		public int ActivityID
		{
			get
			{
				return this._ActivityID;
			}
			set
			{
				if ((this._ActivityID != value))
				{
					if (this._Activity.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnActivityIDChanging(value);
					this.SendPropertyChanging();
					this._ActivityID = value;
					this.SendPropertyChanged("ActivityID");
					this.OnActivityIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SectionCode", DbType="NVarChar(MAX)")]
		public string SectionCode
		{
			get
			{
				return this._SectionCode;
			}
			set
			{
				if ((this._SectionCode != value))
				{
					this.OnSectionCodeChanging(value);
					this.SendPropertyChanging();
					this._SectionCode = value;
					this.SendPropertyChanged("SectionCode");
					this.OnSectionCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Section_InstructorToSection", Storage="_InstructorToSections", ThisKey="SectionID", OtherKey="SectionID")]
		public EntitySet<InstructorToSection> InstructorToSections
		{
			get
			{
				return this._InstructorToSections;
			}
			set
			{
				this._InstructorToSections.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Section_Session", Storage="_Sessions", ThisKey="SectionID", OtherKey="SectionID")]
		public EntitySet<Session> Sessions
		{
			get
			{
				return this._Sessions;
			}
			set
			{
				this._Sessions.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Activity_Section", Storage="_Activity", ThisKey="ActivityID", OtherKey="ActivityID", IsForeignKey=true)]
		public Activity Activity
		{
			get
			{
				return this._Activity.Entity;
			}
			set
			{
				Activity previousValue = this._Activity.Entity;
				if (((previousValue != value) 
							|| (this._Activity.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._Activity.Entity = null;
						previousValue.Sections.Remove(this);
					}
					this._Activity.Entity = value;
					if ((value != null))
					{
						value.Sections.Add(this);
						this._ActivityID = value.ActivityID;
					}
					else
					{
						this._ActivityID = default(int);
					}
					this.SendPropertyChanged("Activity");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_InstructorToSections(InstructorToSection entity)
		{
			this.SendPropertyChanging();
			entity.Section = this;
		}
		
		private void detach_InstructorToSections(InstructorToSection entity)
		{
			this.SendPropertyChanging();
			entity.Section = null;
		}
		
		private void attach_Sessions(Session entity)
		{
			this.SendPropertyChanging();
			entity.Section = this;
		}
		
		private void detach_Sessions(Session entity)
		{
			this.SendPropertyChanging();
			entity.Section = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Session")]
	public partial class Session : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private int _SessionID;
		
		private int _SectionID;
		
		private System.Nullable<int> _Fall_BuildingID;
		
		private string _Fall_RoomNumber;
		
		private System.Nullable<int> _Winter_BuildingID;
		
		private string _Winter_RoomNumber;
		
		private System.Nullable<double> _StartTime;
		
		private System.Nullable<double> _EndTime;
		
		private EntityRef<Building> _Building;
		
		private EntityRef<Section> _Section;
		
		private EntityRef<Building> _Building1;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnSessionIDChanging(int value);
    partial void OnSessionIDChanged();
    partial void OnSectionIDChanging(int value);
    partial void OnSectionIDChanged();
    partial void OnFall_BuildingIDChanging(System.Nullable<int> value);
    partial void OnFall_BuildingIDChanged();
    partial void OnFall_RoomNumberChanging(string value);
    partial void OnFall_RoomNumberChanged();
    partial void OnWinter_BuildingIDChanging(System.Nullable<int> value);
    partial void OnWinter_BuildingIDChanged();
    partial void OnWinter_RoomNumberChanging(string value);
    partial void OnWinter_RoomNumberChanged();
    partial void OnStartTimeChanging(System.Nullable<double> value);
    partial void OnStartTimeChanged();
    partial void OnEndTimeChanging(System.Nullable<double> value);
    partial void OnEndTimeChanged();
    #endregion
		
		public Session()
		{
			this._Building = default(EntityRef<Building>);
			this._Section = default(EntityRef<Section>);
			this._Building1 = default(EntityRef<Building>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SessionID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
		public int SessionID
		{
			get
			{
				return this._SessionID;
			}
			set
			{
				if ((this._SessionID != value))
				{
					this.OnSessionIDChanging(value);
					this.SendPropertyChanging();
					this._SessionID = value;
					this.SendPropertyChanged("SessionID");
					this.OnSessionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SectionID", DbType="Int NOT NULL")]
		public int SectionID
		{
			get
			{
				return this._SectionID;
			}
			set
			{
				if ((this._SectionID != value))
				{
					if (this._Section.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnSectionIDChanging(value);
					this.SendPropertyChanging();
					this._SectionID = value;
					this.SendPropertyChanged("SectionID");
					this.OnSectionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Fall_BuildingID", DbType="Int")]
		public System.Nullable<int> Fall_BuildingID
		{
			get
			{
				return this._Fall_BuildingID;
			}
			set
			{
				if ((this._Fall_BuildingID != value))
				{
					if (this._Building.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnFall_BuildingIDChanging(value);
					this.SendPropertyChanging();
					this._Fall_BuildingID = value;
					this.SendPropertyChanged("Fall_BuildingID");
					this.OnFall_BuildingIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Fall_RoomNumber", DbType="NVarChar(MAX)")]
		public string Fall_RoomNumber
		{
			get
			{
				return this._Fall_RoomNumber;
			}
			set
			{
				if ((this._Fall_RoomNumber != value))
				{
					this.OnFall_RoomNumberChanging(value);
					this.SendPropertyChanging();
					this._Fall_RoomNumber = value;
					this.SendPropertyChanged("Fall_RoomNumber");
					this.OnFall_RoomNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Winter_BuildingID", DbType="Int")]
		public System.Nullable<int> Winter_BuildingID
		{
			get
			{
				return this._Winter_BuildingID;
			}
			set
			{
				if ((this._Winter_BuildingID != value))
				{
					if (this._Building1.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnWinter_BuildingIDChanging(value);
					this.SendPropertyChanging();
					this._Winter_BuildingID = value;
					this.SendPropertyChanged("Winter_BuildingID");
					this.OnWinter_BuildingIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Winter_RoomNumber", DbType="NVarChar(MAX)")]
		public string Winter_RoomNumber
		{
			get
			{
				return this._Winter_RoomNumber;
			}
			set
			{
				if ((this._Winter_RoomNumber != value))
				{
					this.OnWinter_RoomNumberChanging(value);
					this.SendPropertyChanging();
					this._Winter_RoomNumber = value;
					this.SendPropertyChanged("Winter_RoomNumber");
					this.OnWinter_RoomNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartTime", DbType="Float")]
		public System.Nullable<double> StartTime
		{
			get
			{
				return this._StartTime;
			}
			set
			{
				if ((this._StartTime != value))
				{
					this.OnStartTimeChanging(value);
					this.SendPropertyChanging();
					this._StartTime = value;
					this.SendPropertyChanged("StartTime");
					this.OnStartTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndTime", DbType="Float")]
		public System.Nullable<double> EndTime
		{
			get
			{
				return this._EndTime;
			}
			set
			{
				if ((this._EndTime != value))
				{
					this.OnEndTimeChanging(value);
					this.SendPropertyChanging();
					this._EndTime = value;
					this.SendPropertyChanged("EndTime");
					this.OnEndTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Building_Session", Storage="_Building", ThisKey="Fall_BuildingID", OtherKey="BuildingID", IsForeignKey=true)]
		public Building Building
		{
			get
			{
				return this._Building.Entity;
			}
			set
			{
				Building previousValue = this._Building.Entity;
				if (((previousValue != value) 
							|| (this._Building.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._Building.Entity = null;
						previousValue.Sessions.Remove(this);
					}
					this._Building.Entity = value;
					if ((value != null))
					{
						value.Sessions.Add(this);
						this._Fall_BuildingID = value.BuildingID;
					}
					else
					{
						this._Fall_BuildingID = default(Nullable<int>);
					}
					this.SendPropertyChanged("Building");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Section_Session", Storage="_Section", ThisKey="SectionID", OtherKey="SectionID", IsForeignKey=true)]
		public Section Section
		{
			get
			{
				return this._Section.Entity;
			}
			set
			{
				Section previousValue = this._Section.Entity;
				if (((previousValue != value) 
							|| (this._Section.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._Section.Entity = null;
						previousValue.Sessions.Remove(this);
					}
					this._Section.Entity = value;
					if ((value != null))
					{
						value.Sessions.Add(this);
						this._SectionID = value.SectionID;
					}
					else
					{
						this._SectionID = default(int);
					}
					this.SendPropertyChanged("Section");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Building_Session1", Storage="_Building1", ThisKey="Winter_BuildingID", OtherKey="BuildingID", IsForeignKey=true)]
		public Building Building1
		{
			get
			{
				return this._Building1.Entity;
			}
			set
			{
				Building previousValue = this._Building1.Entity;
				if (((previousValue != value) 
							|| (this._Building1.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._Building1.Entity = null;
						previousValue.Sessions1.Remove(this);
					}
					this._Building1.Entity = value;
					if ((value != null))
					{
						value.Sessions1.Add(this);
						this._Winter_BuildingID = value.BuildingID;
					}
					else
					{
						this._Winter_BuildingID = default(Nullable<int>);
					}
					this.SendPropertyChanged("Building1");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	public partial class usp_GetActivitiesInfoResult
	{
		
		private int _ActivityID;
		
		private int _CourseID;
		
		private System.Nullable<char> _ActivityType;
		
		public usp_GetActivitiesInfoResult()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ActivityID", DbType="Int NOT NULL")]
		public int ActivityID
		{
			get
			{
				return this._ActivityID;
			}
			set
			{
				if ((this._ActivityID != value))
				{
					this._ActivityID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CourseID", DbType="Int NOT NULL")]
		public int CourseID
		{
			get
			{
				return this._CourseID;
			}
			set
			{
				if ((this._CourseID != value))
				{
					this._CourseID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ActivityType", DbType="Char(1)")]
		public System.Nullable<char> ActivityType
		{
			get
			{
				return this._ActivityType;
			}
			set
			{
				if ((this._ActivityType != value))
				{
					this._ActivityType = value;
				}
			}
		}
	}
	
	public partial class usp_GetBuildingInfoResult
	{
		
		private int _BuildingID;
		
		private string _BuildingName;
		
		private string _BuildingCode;
		
		private string _Address;
		
		private System.Nullable<double> _Latitude;
		
		private System.Nullable<double> _Longitude;
		
		public usp_GetBuildingInfoResult()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingID", DbType="Int NOT NULL")]
		public int BuildingID
		{
			get
			{
				return this._BuildingID;
			}
			set
			{
				if ((this._BuildingID != value))
				{
					this._BuildingID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingName", DbType="NVarChar(MAX)")]
		public string BuildingName
		{
			get
			{
				return this._BuildingName;
			}
			set
			{
				if ((this._BuildingName != value))
				{
					this._BuildingName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingCode", DbType="NVarChar(2)")]
		public string BuildingCode
		{
			get
			{
				return this._BuildingCode;
			}
			set
			{
				if ((this._BuildingCode != value))
				{
					this._BuildingCode = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Address", DbType="NVarChar(MAX)")]
		public string Address
		{
			get
			{
				return this._Address;
			}
			set
			{
				if ((this._Address != value))
				{
					this._Address = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Latitude", DbType="Float")]
		public System.Nullable<double> Latitude
		{
			get
			{
				return this._Latitude;
			}
			set
			{
				if ((this._Latitude != value))
				{
					this._Latitude = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Longitude", DbType="Float")]
		public System.Nullable<double> Longitude
		{
			get
			{
				return this._Longitude;
			}
			set
			{
				if ((this._Longitude != value))
				{
					this._Longitude = value;
				}
			}
		}
	}
	
	public partial class usp_GetCourseInfoResult
	{
		
		private int _CourseID;
		
		private string _Code;
		
		private string _Campus;
		
		private System.Nullable<char> _Term;
		
		private string _Title;
		
		private string _Description;
		
		public usp_GetCourseInfoResult()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CourseID", DbType="Int NOT NULL")]
		public int CourseID
		{
			get
			{
				return this._CourseID;
			}
			set
			{
				if ((this._CourseID != value))
				{
					this._CourseID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Code", DbType="NVarChar(10)")]
		public string Code
		{
			get
			{
				return this._Code;
			}
			set
			{
				if ((this._Code != value))
				{
					this._Code = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Campus", DbType="NVarChar(MAX)")]
		public string Campus
		{
			get
			{
				return this._Campus;
			}
			set
			{
				if ((this._Campus != value))
				{
					this._Campus = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Term", DbType="Char(1)")]
		public System.Nullable<char> Term
		{
			get
			{
				return this._Term;
			}
			set
			{
				if ((this._Term != value))
				{
					this._Term = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Title", DbType="NVarChar(MAX)")]
		public string Title
		{
			get
			{
				return this._Title;
			}
			set
			{
				if ((this._Title != value))
				{
					this._Title = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Description", DbType="NVarChar(MAX)")]
		public string Description
		{
			get
			{
				return this._Description;
			}
			set
			{
				if ((this._Description != value))
				{
					this._Description = value;
				}
			}
		}
	}
	
	public partial class usp_GetInstructorInfoResult
	{
		
		private int _InstructorID;
		
		private string _Name;
		
		private System.Nullable<double> _Rating;
		
		public usp_GetInstructorInfoResult()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InstructorID", DbType="Int NOT NULL")]
		public int InstructorID
		{
			get
			{
				return this._InstructorID;
			}
			set
			{
				if ((this._InstructorID != value))
				{
					this._InstructorID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(MAX)")]
		public string Name
		{
			get
			{
				return this._Name;
			}
			set
			{
				if ((this._Name != value))
				{
					this._Name = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Rating", DbType="Float")]
		public System.Nullable<double> Rating
		{
			get
			{
				return this._Rating;
			}
			set
			{
				if ((this._Rating != value))
				{
					this._Rating = value;
				}
			}
		}
	}
	
	public partial class usp_GetSectionInfoResult
	{
		
		private int _SectionID;
		
		private int _ActivityID;
		
		private string _SectionCode;
		
		public usp_GetSectionInfoResult()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SectionID", DbType="Int NOT NULL")]
		public int SectionID
		{
			get
			{
				return this._SectionID;
			}
			set
			{
				if ((this._SectionID != value))
				{
					this._SectionID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ActivityID", DbType="Int NOT NULL")]
		public int ActivityID
		{
			get
			{
				return this._ActivityID;
			}
			set
			{
				if ((this._ActivityID != value))
				{
					this._ActivityID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SectionCode", DbType="NVarChar(MAX)")]
		public string SectionCode
		{
			get
			{
				return this._SectionCode;
			}
			set
			{
				if ((this._SectionCode != value))
				{
					this._SectionCode = value;
				}
			}
		}
	}
	
	public partial class usp_GetSectionInstructorsResult
	{
		
		private int _Id;
		
		private int _InstructorID;
		
		private int _SectionID;
		
		public usp_GetSectionInstructorsResult()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="Int NOT NULL")]
		public int Id
		{
			get
			{
				return this._Id;
			}
			set
			{
				if ((this._Id != value))
				{
					this._Id = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InstructorID", DbType="Int NOT NULL")]
		public int InstructorID
		{
			get
			{
				return this._InstructorID;
			}
			set
			{
				if ((this._InstructorID != value))
				{
					this._InstructorID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SectionID", DbType="Int NOT NULL")]
		public int SectionID
		{
			get
			{
				return this._SectionID;
			}
			set
			{
				if ((this._SectionID != value))
				{
					this._SectionID = value;
				}
			}
		}
	}
	
	public partial class usp_GetSessionInfoResult
	{
		
		private int _SessionID;
		
		private int _SectionID;
		
		private System.Nullable<int> _Fall_BuildingID;
		
		private string _Fall_RoomNumber;
		
		private System.Nullable<int> _Winter_BuildingID;
		
		private string _Winter_RoomNumber;
		
		private System.Nullable<double> _StartTime;
		
		private System.Nullable<double> _EndTime;
		
		public usp_GetSessionInfoResult()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SessionID", DbType="Int NOT NULL")]
		public int SessionID
		{
			get
			{
				return this._SessionID;
			}
			set
			{
				if ((this._SessionID != value))
				{
					this._SessionID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SectionID", DbType="Int NOT NULL")]
		public int SectionID
		{
			get
			{
				return this._SectionID;
			}
			set
			{
				if ((this._SectionID != value))
				{
					this._SectionID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Fall_BuildingID", DbType="Int")]
		public System.Nullable<int> Fall_BuildingID
		{
			get
			{
				return this._Fall_BuildingID;
			}
			set
			{
				if ((this._Fall_BuildingID != value))
				{
					this._Fall_BuildingID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Fall_RoomNumber", DbType="NVarChar(MAX)")]
		public string Fall_RoomNumber
		{
			get
			{
				return this._Fall_RoomNumber;
			}
			set
			{
				if ((this._Fall_RoomNumber != value))
				{
					this._Fall_RoomNumber = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Winter_BuildingID", DbType="Int")]
		public System.Nullable<int> Winter_BuildingID
		{
			get
			{
				return this._Winter_BuildingID;
			}
			set
			{
				if ((this._Winter_BuildingID != value))
				{
					this._Winter_BuildingID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Winter_RoomNumber", DbType="NVarChar(MAX)")]
		public string Winter_RoomNumber
		{
			get
			{
				return this._Winter_RoomNumber;
			}
			set
			{
				if ((this._Winter_RoomNumber != value))
				{
					this._Winter_RoomNumber = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartTime", DbType="Float")]
		public System.Nullable<double> StartTime
		{
			get
			{
				return this._StartTime;
			}
			set
			{
				if ((this._StartTime != value))
				{
					this._StartTime = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndTime", DbType="Float")]
		public System.Nullable<double> EndTime
		{
			get
			{
				return this._EndTime;
			}
			set
			{
				if ((this._EndTime != value))
				{
					this._EndTime = value;
				}
			}
		}
	}
	
	public partial class usp_GetTravelTimeBetweenBuildingsResult
	{
		
		private int _BuildingDistanceID;
		
		private int _BuildingID1;
		
		private int _BuildingID2;
		
		private System.Nullable<double> _WalkingDuration;
		
		private System.Nullable<double> _WalkingDistance;
		
		private System.Nullable<double> _TransitDuration;
		
		private System.Nullable<double> _TransitDistance;
		
		private System.Nullable<double> _CyclingDuration;
		
		private System.Nullable<double> _CyclingDistance;
		
		private System.Nullable<double> _DrivingDuration;
		
		private System.Nullable<double> _DrivingDistance;
		
		public usp_GetTravelTimeBetweenBuildingsResult()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingDistanceID", DbType="Int NOT NULL")]
		public int BuildingDistanceID
		{
			get
			{
				return this._BuildingDistanceID;
			}
			set
			{
				if ((this._BuildingDistanceID != value))
				{
					this._BuildingDistanceID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingID1", DbType="Int NOT NULL")]
		public int BuildingID1
		{
			get
			{
				return this._BuildingID1;
			}
			set
			{
				if ((this._BuildingID1 != value))
				{
					this._BuildingID1 = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildingID2", DbType="Int NOT NULL")]
		public int BuildingID2
		{
			get
			{
				return this._BuildingID2;
			}
			set
			{
				if ((this._BuildingID2 != value))
				{
					this._BuildingID2 = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WalkingDuration", DbType="Float")]
		public System.Nullable<double> WalkingDuration
		{
			get
			{
				return this._WalkingDuration;
			}
			set
			{
				if ((this._WalkingDuration != value))
				{
					this._WalkingDuration = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WalkingDistance", DbType="Float")]
		public System.Nullable<double> WalkingDistance
		{
			get
			{
				return this._WalkingDistance;
			}
			set
			{
				if ((this._WalkingDistance != value))
				{
					this._WalkingDistance = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransitDuration", DbType="Float")]
		public System.Nullable<double> TransitDuration
		{
			get
			{
				return this._TransitDuration;
			}
			set
			{
				if ((this._TransitDuration != value))
				{
					this._TransitDuration = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransitDistance", DbType="Float")]
		public System.Nullable<double> TransitDistance
		{
			get
			{
				return this._TransitDistance;
			}
			set
			{
				if ((this._TransitDistance != value))
				{
					this._TransitDistance = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CyclingDuration", DbType="Float")]
		public System.Nullable<double> CyclingDuration
		{
			get
			{
				return this._CyclingDuration;
			}
			set
			{
				if ((this._CyclingDuration != value))
				{
					this._CyclingDuration = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CyclingDistance", DbType="Float")]
		public System.Nullable<double> CyclingDistance
		{
			get
			{
				return this._CyclingDistance;
			}
			set
			{
				if ((this._CyclingDistance != value))
				{
					this._CyclingDistance = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DrivingDuration", DbType="Float")]
		public System.Nullable<double> DrivingDuration
		{
			get
			{
				return this._DrivingDuration;
			}
			set
			{
				if ((this._DrivingDuration != value))
				{
					this._DrivingDuration = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DrivingDistance", DbType="Float")]
		public System.Nullable<double> DrivingDistance
		{
			get
			{
				return this._DrivingDistance;
			}
			set
			{
				if ((this._DrivingDistance != value))
				{
					this._DrivingDistance = value;
				}
			}
		}
	}
}
#pragma warning restore 1591
