///<summary>
		/// A simple factory method to create a new <see cref="VcsCompany"/> instance.
		///</summary>
		///<param name="_companyCode"></param>
		///<param name="_companyName"></param>
		///<param name="_address"></param>
		///<param name="_billingAddress"></param>
		///<param name="_companyTel"></param>
		///<param name="_companyTel2"></param>
		///<param name="_taxNumber"></param>
		///<param name="_accountCode"></param>
		///<param name="_attn"></param>
		///<param name="_attnEmail"></param>
		///<param name="_attnPhone"></param>
		///<param name="_paymentMode"></param>
		///<param name="_createUser"></param>
		///<param name="_createDate"></param>
		///<param name="_typeOfServices"></param>
		///<param name="_isDisabled"></param>
		///<param name="_remark"></param>
		public static VcsCompany CreateVcsCompany(System.String _companyCode, System.String _companyName, System.String _address, System.String _billingAddress, System.String _companyTel, System.String _companyTel2, System.String _taxNumber, System.String _accountCode, System.String _attn, System.String _attnEmail, System.String _attnPhone, System.String _paymentMode, System.String _createUser, System.DateTime _createDate, System.String _typeOfServices, System.Boolean _isDisabled, System.String _remark)
		{
			VcsCompany newVcsCompany = new VcsCompany();
			newVcsCompany.CompanyCode = _companyCode;
			newVcsCompany.CompanyName = _companyName;
			newVcsCompany.Address = _address;
			newVcsCompany.BillingAddress = _billingAddress;
			newVcsCompany.CompanyTel = _companyTel;
			newVcsCompany.CompanyTel2 = _companyTel2;
			newVcsCompany.TaxNumber = _taxNumber;
			newVcsCompany.AccountCode = _accountCode;
			newVcsCompany.Attn = _attn;
			newVcsCompany.AttnEmail = _attnEmail;
			newVcsCompany.AttnPhone = _attnPhone;
			newVcsCompany.PaymentMode = _paymentMode;
			newVcsCompany.CreateUser = _createUser;
			newVcsCompany.CreateDate = _createDate;
			newVcsCompany.TypeOfServices = _typeOfServices;
			newVcsCompany.IsDisabled = _isDisabled;
			newVcsCompany.Remark = _remark;
			return newVcsCompany;
		}
		///<summary>
		///  Returns a Typed VcsCompanyBase Entity 
		///</summary>
		public virtual VcsCompanyBase Copy()
		{
			//shallow copy entity
			VcsCompany copy = new VcsCompany();
				copy.CompanyCode = this.CompanyCode;
				copy.CompanyName = this.CompanyName;
				copy.Address = this.Address;
				copy.BillingAddress = this.BillingAddress;
				copy.CompanyTel = this.CompanyTel;
				copy.CompanyTel2 = this.CompanyTel2;
				copy.TaxNumber = this.TaxNumber;
				copy.AccountCode = this.AccountCode;
				copy.Attn = this.Attn;
				copy.AttnEmail = this.AttnEmail;
				copy.AttnPhone = this.AttnPhone;
				copy.PaymentMode = this.PaymentMode;
				copy.CreateUser = this.CreateUser;
				copy.CreateDate = this.CreateDate;
				copy.TypeOfServices = this.TypeOfServices;
				copy.IsDisabled = this.IsDisabled;
				copy.Remark = this.Remark;
			copy.AcceptChanges();
			return (VcsCompany)copy;
		}
		/// <summary>
		/// Gets the property value by name.
		/// </summary>
		/// <param name="entity">The entity.</param>
		/// <param name="propertyName">Name of the property.</param>
		/// <returns></returns>
		public static object GetPropertyValueByName(VcsCompany entity, string propertyName)
		{
			switch (propertyName)
			{
				case "CompanyCode":
					return entity.CompanyCode;
				case "CompanyName":
					return entity.CompanyName;
				case "Address":
					return entity.Address;
				case "BillingAddress":
					return entity.BillingAddress;
				case "CompanyTel":
					return entity.CompanyTel;
				case "CompanyTel2":
					return entity.CompanyTel2;
				case "TaxNumber":
					return entity.TaxNumber;
				case "AccountCode":
					return entity.AccountCode;
				case "Attn":
					return entity.Attn;
				case "AttnEmail":
					return entity.AttnEmail;
				case "AttnPhone":
					return entity.AttnPhone;
				case "PaymentMode":
					return entity.PaymentMode;
				case "CreateUser":
					return entity.CreateUser;
				case "CreateDate":
					return entity.CreateDate;
				case "TypeOfServices":
					return entity.TypeOfServices;
				case "IsDisabled":
					return entity.IsDisabled;
				case "Remark":
					return entity.Remark;
			}
			return null;
		}