///<summary>
		/// Determines whether the specified <see cref="VcsCompanyBase"/> instances are considered equal.
		///</summary>
		///<param name="Object1">The first <see cref="VcsCompanyBase"/> to compare.</param>
		///<param name="Object2">The second <see cref="VcsCompanyBase"/> 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(VcsCompanyBase Object1, VcsCompanyBase 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.CompanyCode != Object2.CompanyCode)
				equal = false;
			if (Object1.CompanyName != Object2.CompanyName)
				equal = false;
			if (Object1.Address != null && Object2.Address != null )
			{
				if (Object1.Address != Object2.Address)
					equal = false;
			}
			else if (Object1.Address == null ^ Object1.Address == null )
			{
				equal = false;
			}
			if (Object1.BillingAddress != null && Object2.BillingAddress != null )
			{
				if (Object1.BillingAddress != Object2.BillingAddress)
					equal = false;
			}
			else if (Object1.BillingAddress == null ^ Object1.BillingAddress == null )
			{
				equal = false;
			}
			if (Object1.CompanyTel != null && Object2.CompanyTel != null )
			{
				if (Object1.CompanyTel != Object2.CompanyTel)
					equal = false;
			}
			else if (Object1.CompanyTel == null ^ Object1.CompanyTel == null )
			{
				equal = false;
			}
			if (Object1.CompanyTel2 != null && Object2.CompanyTel2 != null )
			{
				if (Object1.CompanyTel2 != Object2.CompanyTel2)
					equal = false;
			}
			else if (Object1.CompanyTel2 == null ^ Object1.CompanyTel2 == null )
			{
				equal = false;
			}
			if (Object1.TaxNumber != null && Object2.TaxNumber != null )
			{
				if (Object1.TaxNumber != Object2.TaxNumber)
					equal = false;
			}
			else if (Object1.TaxNumber == null ^ Object1.TaxNumber == null )
			{
				equal = false;
			}
			if (Object1.AccountCode != null && Object2.AccountCode != null )
			{
				if (Object1.AccountCode != Object2.AccountCode)
					equal = false;
			}
			else if (Object1.AccountCode == null ^ Object1.AccountCode == null )
			{
				equal = false;
			}
			if (Object1.Attn != null && Object2.Attn != null )
			{
				if (Object1.Attn != Object2.Attn)
					equal = false;
			}
			else if (Object1.Attn == null ^ Object1.Attn == null )
			{
				equal = false;
			}
			if (Object1.AttnEmail != null && Object2.AttnEmail != null )
			{
				if (Object1.AttnEmail != Object2.AttnEmail)
					equal = false;
			}
			else if (Object1.AttnEmail == null ^ Object1.AttnEmail == null )
			{
				equal = false;
			}
			if (Object1.AttnPhone != null && Object2.AttnPhone != null )
			{
				if (Object1.AttnPhone != Object2.AttnPhone)
					equal = false;
			}
			else if (Object1.AttnPhone == null ^ Object1.AttnPhone == null )
			{
				equal = false;
			}
			if (Object1.PaymentMode != null && Object2.PaymentMode != null )
			{
				if (Object1.PaymentMode != Object2.PaymentMode)
					equal = false;
			}
			else if (Object1.PaymentMode == null ^ Object1.PaymentMode == null )
			{
				equal = false;
			}
			if (Object1.CreateUser != null && Object2.CreateUser != null )
			{
				if (Object1.CreateUser != Object2.CreateUser)
					equal = false;
			}
			else if (Object1.CreateUser == null ^ Object1.CreateUser == null )
			{
				equal = false;
			}
			if (Object1.CreateDate != Object2.CreateDate)
				equal = false;
			if (Object1.TypeOfServices != null && Object2.TypeOfServices != null )
			{
				if (Object1.TypeOfServices != Object2.TypeOfServices)
					equal = false;
			}
			else if (Object1.TypeOfServices == null ^ Object1.TypeOfServices == null )
			{
				equal = false;
			}
			if (Object1.IsDisabled != Object2.IsDisabled)
				equal = false;
			if (Object1.Remark != null && Object2.Remark != null )
			{
				if (Object1.Remark != Object2.Remark)
					equal = false;
			}
			else if (Object1.Remark == null ^ Object1.Remark == null )
			{
				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="VcsCompanyBase"/> and has the same value as this instance; otherwise, false.</returns>
		public virtual bool Equals(VcsCompanyBase toObject)
		{
			if (toObject == null)
				return false;
			return Equals(this, toObject);
		}