﻿using System;
using System.ComponentModel;

namespace Nettiers.AdventureWorks.Entities
{
	/// <summary>
	///		The data structure representation of the 'Store' table via interface.
	/// </summary>
	/// <remarks>
	/// 	This struct is generated by a tool and should never be modified.
	/// </remarks>
	public interface IStore 
	{
		/// <summary>			
		/// CustomerID : Primary key. Foreign key to Customer.CustomerID.
		/// </summary>
		/// <remarks>Member of the primary key of the underlying table "Store"</remarks>
		System.Int32 CustomerId { get; set; }
				
		/// <summary>
		/// keep a copy of the original so it can be used for editable primary keys.
		/// </summary>
		System.Int32 OriginalCustomerId { get; set; }
			
		
		
		/// <summary>
		/// Name : Name of the store.
		/// </summary>
		System.String  Name  { get; set; }
		
		/// <summary>
		/// SalesPersonID : ID of the sales person assigned to the customer. Foreign key to SalesPerson.SalesPersonID.
		/// </summary>
		System.Int32?  SalesPersonId  { get; set; }
		
		/// <summary>
		/// Demographics : Demographic informationg about the store such as the number of employees, annual sales and store type.
		/// </summary>
		string  Demographics  { get; set; }
		
		/// <summary>
		/// rowguid : ROWGUIDCOL number uniquely identifying the record. Used to support a merge replication sample.
		/// </summary>
		System.Guid  Rowguid  { 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


		/// <summary>
		///	Holds a collection of entity objects
		///	which are related to this object through the relation _storeContactCustomerId
		/// </summary>	
		TList<StoreContact> StoreContactCollection {  get;  set;}	

		
		/// <summary>
		///	Holds a collection of entity objects
		///	which are related to this object through the junction table contactIdContactCollectionFromStoreContact
		/// </summary>	
		TList<Contact> ContactIdContactCollection_From_StoreContact { get; set; }	

		#endregion Data Properties

	}
}


