Inheritance: System.IComparable, System.ICloneable, INotifyPropertyChanged
		///<summary>
		/// Determines whether the specified <see cref="VSalesPersonBase"/> instances are considered equal.
		///</summary>
		///<param name="Object1">The first <see cref="VSalesPersonBase"/> to compare.</param>
		///<param name="Object2">The second <see cref="VSalesPersonBase"/> to compare. </param>
		///<returns>true if Object1 is the same instance as Object2 or if both are null references or if objA.Equals(objB) returns true; otherwise, false.</returns>
		public static bool Equals(VSalesPersonBase Object1, VSalesPersonBase Object2)
		{
			// both are null
			if (Object1 == null && Object2 == null)
				return true;

			// one or the other is null, but not both
			if (Object1 == null ^ Object2 == null)
				return false;

			bool equal = true;
			if (Object1.SalesPersonId != Object2.SalesPersonId)
				equal = false;
			if (Object1.Title != null && Object2.Title != null )
			{
				if (Object1.Title != Object2.Title)
					equal = false;
			}
			else if (Object1.Title == null ^ Object1.Title == null )
			{
				equal = false;
			}
			if (Object1.FirstName != Object2.FirstName)
				equal = false;
			if (Object1.MiddleName != null && Object2.MiddleName != null )
			{
				if (Object1.MiddleName != Object2.MiddleName)
					equal = false;
			}
			else if (Object1.MiddleName == null ^ Object1.MiddleName == null )
			{
				equal = false;
			}
			if (Object1.LastName != Object2.LastName)
				equal = false;
			if (Object1.Suffix != null && Object2.Suffix != null )
			{
				if (Object1.Suffix != Object2.Suffix)
					equal = false;
			}
			else if (Object1.Suffix == null ^ Object1.Suffix == null )
			{
				equal = false;
			}
			if (Object1.JobTitle != Object2.JobTitle)
				equal = false;
			if (Object1.Phone != null && Object2.Phone != null )
			{
				if (Object1.Phone != Object2.Phone)
					equal = false;
			}
			else if (Object1.Phone == null ^ Object1.Phone == null )
			{
				equal = false;
			}
			if (Object1.EmailAddress != null && Object2.EmailAddress != null )
			{
				if (Object1.EmailAddress != Object2.EmailAddress)
					equal = false;
			}
			else if (Object1.EmailAddress == null ^ Object1.EmailAddress == null )
			{
				equal = false;
			}
			if (Object1.EmailPromotion != Object2.EmailPromotion)
				equal = false;
			if (Object1.AddressLine1 != Object2.AddressLine1)
				equal = false;
			if (Object1.AddressLine2 != null && Object2.AddressLine2 != null )
			{
				if (Object1.AddressLine2 != Object2.AddressLine2)
					equal = false;
			}
			else if (Object1.AddressLine2 == null ^ Object1.AddressLine2 == null )
			{
				equal = false;
			}
			if (Object1.City != Object2.City)
				equal = false;
			if (Object1.StateProvinceName != Object2.StateProvinceName)
				equal = false;
			if (Object1.PostalCode != Object2.PostalCode)
				equal = false;
			if (Object1.CountryRegionName != Object2.CountryRegionName)
				equal = false;
			if (Object1.TerritoryName != null && Object2.TerritoryName != null )
			{
				if (Object1.TerritoryName != Object2.TerritoryName)
					equal = false;
			}
			else if (Object1.TerritoryName == null ^ Object1.TerritoryName == null )
			{
				equal = false;
			}
			if (Object1.TerritoryGroup != null && Object2.TerritoryGroup != null )
			{
				if (Object1.TerritoryGroup != Object2.TerritoryGroup)
					equal = false;
			}
			else if (Object1.TerritoryGroup == null ^ Object1.TerritoryGroup == null )
			{
				equal = false;
			}
			if (Object1.SalesQuota != null && Object2.SalesQuota != null )
			{
				if (Object1.SalesQuota != Object2.SalesQuota)
					equal = false;
			}
			else if (Object1.SalesQuota == null ^ Object1.SalesQuota == null )
			{
				equal = false;
			}
			if (Object1.SalesYtd != Object2.SalesYtd)
				equal = false;
			if (Object1.SalesLastYear != Object2.SalesLastYear)
				equal = false;
			return equal;
		}
		///<summary>
		/// Returns a value indicating whether this instance is equal to a specified object.
		///</summary>
		///<param name="toObject">An object to compare to this instance.</param>
		///<returns>true if toObject is a <see cref="VSalesPersonBase"/> and has the same value as this instance; otherwise, false.</returns>
		public virtual bool Equals(VSalesPersonBase toObject)
		{
			if (toObject == null)
				return false;
			return Equals(this, toObject);
		}