﻿using System;
using System.ComponentModel;

namespace Nettiers.AdventureWorks.Entities
{
	/// <summary>
	///		The data structure representation of the 'EmployeeDepartmentHistory' table via interface.
	/// </summary>
	/// <remarks>
	/// 	This struct is generated by a tool and should never be modified.
	/// </remarks>
	public interface IEmployeeDepartmentHistory 
	{
		/// <summary>			
		/// EmployeeID : Employee identification number. Foreign key to Employee.EmployeeID.
		/// </summary>
		/// <remarks>Member of the primary key of the underlying table "EmployeeDepartmentHistory"</remarks>
		System.Int32 EmployeeId { get; set; }
				
		/// <summary>
		/// keep a copy of the original so it can be used for editable primary keys.
		/// </summary>
		System.Int32 OriginalEmployeeId { get; set; }
			
		/// <summary>			
		/// StartDate : Date the employee started work in the department.
		/// </summary>
		/// <remarks>Member of the primary key of the underlying table "EmployeeDepartmentHistory"</remarks>
		System.DateTime StartDate { get; set; }
				
		/// <summary>
		/// keep a copy of the original so it can be used for editable primary keys.
		/// </summary>
		System.DateTime OriginalStartDate { get; set; }
			
		/// <summary>			
		/// DepartmentID : Department in which the employee worked including currently. Foreign key to Department.DepartmentID.
		/// </summary>
		/// <remarks>Member of the primary key of the underlying table "EmployeeDepartmentHistory"</remarks>
		System.Int16 DepartmentId { get; set; }
				
		/// <summary>
		/// keep a copy of the original so it can be used for editable primary keys.
		/// </summary>
		System.Int16 OriginalDepartmentId { get; set; }
			
		/// <summary>			
		/// ShiftID : Identifies which 8-hour shift the employee works. Foreign key to Shift.Shift.ID.
		/// </summary>
		/// <remarks>Member of the primary key of the underlying table "EmployeeDepartmentHistory"</remarks>
		System.Byte ShiftId { get; set; }
				
		/// <summary>
		/// keep a copy of the original so it can be used for editable primary keys.
		/// </summary>
		System.Byte OriginalShiftId { get; set; }
			
		
		
		/// <summary>
		/// EndDate : Date the employee left the department. NULL = Current department.
		/// </summary>
		System.DateTime?  EndDate  { get; set; }
		
		/// <summary>
		/// ModifiedDate : Date and time the record was last updated.
		/// </summary>
		System.DateTime  ModifiedDate  { get; set; }
			
		/// <summary>
		/// Creates a new object that is a copy of the current instance.
		/// </summary>
		/// <returns>A new object that is a copy of this instance.</returns>
		System.Object Clone();
		
		#region Data Properties

		#endregion Data Properties

	}
}


