Inheritance: VEmployeeBase
        ///<summary>
        ///  Returns a Typed VEmployeeBase Entity
        ///</summary>
        public virtual VEmployeeBase Copy()
        {
            //shallow copy entity
            VEmployee copy = new VEmployee();

            copy.EmployeeId            = this.EmployeeId;
            copy.Title                 = this.Title;
            copy.FirstName             = this.FirstName;
            copy.MiddleName            = this.MiddleName;
            copy.LastName              = this.LastName;
            copy.Suffix                = this.Suffix;
            copy.JobTitle              = this.JobTitle;
            copy.Phone                 = this.Phone;
            copy.EmailAddress          = this.EmailAddress;
            copy.EmailPromotion        = this.EmailPromotion;
            copy.AddressLine1          = this.AddressLine1;
            copy.AddressLine2          = this.AddressLine2;
            copy.City                  = this.City;
            copy.StateProvinceName     = this.StateProvinceName;
            copy.PostalCode            = this.PostalCode;
            copy.CountryRegionName     = this.CountryRegionName;
            copy.AdditionalContactInfo = this.AdditionalContactInfo;
            copy.AcceptChanges();
            return((VEmployee)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(VEmployee entity, string propertyName)
        {
            switch (propertyName)
            {
            case "EmployeeId":
                return(entity.EmployeeId);

            case "Title":
                return(entity.Title);

            case "FirstName":
                return(entity.FirstName);

            case "MiddleName":
                return(entity.MiddleName);

            case "LastName":
                return(entity.LastName);

            case "Suffix":
                return(entity.Suffix);

            case "JobTitle":
                return(entity.JobTitle);

            case "Phone":
                return(entity.Phone);

            case "EmailAddress":
                return(entity.EmailAddress);

            case "EmailPromotion":
                return(entity.EmailPromotion);

            case "AddressLine1":
                return(entity.AddressLine1);

            case "AddressLine2":
                return(entity.AddressLine2);

            case "City":
                return(entity.City);

            case "StateProvinceName":
                return(entity.StateProvinceName);

            case "PostalCode":
                return(entity.PostalCode);

            case "CountryRegionName":
                return(entity.CountryRegionName);

            case "AdditionalContactInfo":
                return(entity.AdditionalContactInfo);
            }
            return(null);
        }
        ///<summary>
        /// A simple factory method to create a new <see cref="VEmployee"/> instance.
        ///</summary>
        ///<param name="_employeeId"></param>
        ///<param name="_title"></param>
        ///<param name="_firstName"></param>
        ///<param name="_middleName"></param>
        ///<param name="_lastName"></param>
        ///<param name="_suffix"></param>
        ///<param name="_jobTitle"></param>
        ///<param name="_phone"></param>
        ///<param name="_emailAddress"></param>
        ///<param name="_emailPromotion"></param>
        ///<param name="_addressLine1"></param>
        ///<param name="_addressLine2"></param>
        ///<param name="_city"></param>
        ///<param name="_stateProvinceName"></param>
        ///<param name="_postalCode"></param>
        ///<param name="_countryRegionName"></param>
        ///<param name="_additionalContactInfo"></param>
        public static VEmployee CreateVEmployee(System.Int32 _employeeId, System.String _title, System.String _firstName, System.String _middleName, System.String _lastName, System.String _suffix, System.String _jobTitle, System.String _phone, System.String _emailAddress, System.Int32 _emailPromotion, System.String _addressLine1, System.String _addressLine2, System.String _city, System.String _stateProvinceName, System.String _postalCode, System.String _countryRegionName, string _additionalContactInfo)
        {
            VEmployee newVEmployee = new VEmployee();

            newVEmployee.EmployeeId            = _employeeId;
            newVEmployee.Title                 = _title;
            newVEmployee.FirstName             = _firstName;
            newVEmployee.MiddleName            = _middleName;
            newVEmployee.LastName              = _lastName;
            newVEmployee.Suffix                = _suffix;
            newVEmployee.JobTitle              = _jobTitle;
            newVEmployee.Phone                 = _phone;
            newVEmployee.EmailAddress          = _emailAddress;
            newVEmployee.EmailPromotion        = _emailPromotion;
            newVEmployee.AddressLine1          = _addressLine1;
            newVEmployee.AddressLine2          = _addressLine2;
            newVEmployee.City                  = _city;
            newVEmployee.StateProvinceName     = _stateProvinceName;
            newVEmployee.PostalCode            = _postalCode;
            newVEmployee.CountryRegionName     = _countryRegionName;
            newVEmployee.AdditionalContactInfo = _additionalContactInfo;
            return(newVEmployee);
        }
		///<summary>
		///  Returns a Typed VEmployeeBase Entity 
		///</summary>
		public virtual VEmployeeBase Copy()
		{
			//shallow copy entity
			VEmployee copy = new VEmployee();
				copy.EmployeeId = this.EmployeeId;
				copy.Title = this.Title;
				copy.FirstName = this.FirstName;
				copy.MiddleName = this.MiddleName;
				copy.LastName = this.LastName;
				copy.Suffix = this.Suffix;
				copy.JobTitle = this.JobTitle;
				copy.Phone = this.Phone;
				copy.EmailAddress = this.EmailAddress;
				copy.EmailPromotion = this.EmailPromotion;
				copy.AddressLine1 = this.AddressLine1;
				copy.AddressLine2 = this.AddressLine2;
				copy.City = this.City;
				copy.StateProvinceName = this.StateProvinceName;
				copy.PostalCode = this.PostalCode;
				copy.CountryRegionName = this.CountryRegionName;
				copy.AdditionalContactInfo = this.AdditionalContactInfo;
			copy.AcceptChanges();
			return (VEmployee)copy;
		}
		///<summary>
		/// A simple factory method to create a new <see cref="VEmployee"/> instance.
		///</summary>
		///<param name="_employeeId"></param>
		///<param name="_title"></param>
		///<param name="_firstName"></param>
		///<param name="_middleName"></param>
		///<param name="_lastName"></param>
		///<param name="_suffix"></param>
		///<param name="_jobTitle"></param>
		///<param name="_phone"></param>
		///<param name="_emailAddress"></param>
		///<param name="_emailPromotion"></param>
		///<param name="_addressLine1"></param>
		///<param name="_addressLine2"></param>
		///<param name="_city"></param>
		///<param name="_stateProvinceName"></param>
		///<param name="_postalCode"></param>
		///<param name="_countryRegionName"></param>
		///<param name="_additionalContactInfo"></param>
		public static VEmployee CreateVEmployee(System.Int32 _employeeId, System.String _title, System.String _firstName, System.String _middleName, System.String _lastName, System.String _suffix, System.String _jobTitle, System.String _phone, System.String _emailAddress, System.Int32 _emailPromotion, System.String _addressLine1, System.String _addressLine2, System.String _city, System.String _stateProvinceName, System.String _postalCode, System.String _countryRegionName, string _additionalContactInfo)
		{
			VEmployee newVEmployee = new VEmployee();
			newVEmployee.EmployeeId = _employeeId;
			newVEmployee.Title = _title;
			newVEmployee.FirstName = _firstName;
			newVEmployee.MiddleName = _middleName;
			newVEmployee.LastName = _lastName;
			newVEmployee.Suffix = _suffix;
			newVEmployee.JobTitle = _jobTitle;
			newVEmployee.Phone = _phone;
			newVEmployee.EmailAddress = _emailAddress;
			newVEmployee.EmailPromotion = _emailPromotion;
			newVEmployee.AddressLine1 = _addressLine1;
			newVEmployee.AddressLine2 = _addressLine2;
			newVEmployee.City = _city;
			newVEmployee.StateProvinceName = _stateProvinceName;
			newVEmployee.PostalCode = _postalCode;
			newVEmployee.CountryRegionName = _countryRegionName;
			newVEmployee.AdditionalContactInfo = _additionalContactInfo;
			return newVEmployee;
		}
		/// <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(VEmployee entity, string propertyName)
		{
			switch (propertyName)
			{
				case "EmployeeId":
					return entity.EmployeeId;
				case "Title":
					return entity.Title;
				case "FirstName":
					return entity.FirstName;
				case "MiddleName":
					return entity.MiddleName;
				case "LastName":
					return entity.LastName;
				case "Suffix":
					return entity.Suffix;
				case "JobTitle":
					return entity.JobTitle;
				case "Phone":
					return entity.Phone;
				case "EmailAddress":
					return entity.EmailAddress;
				case "EmailPromotion":
					return entity.EmailPromotion;
				case "AddressLine1":
					return entity.AddressLine1;
				case "AddressLine2":
					return entity.AddressLine2;
				case "City":
					return entity.City;
				case "StateProvinceName":
					return entity.StateProvinceName;
				case "PostalCode":
					return entity.PostalCode;
				case "CountryRegionName":
					return entity.CountryRegionName;
				case "AdditionalContactInfo":
					return entity.AdditionalContactInfo;
			}
			return null;
		}
		/// <summary>
		/// Deserialize the mock VEmployee entity from a temporary file.
		/// </summary>
		private void Step_7_DeserializeEntity_Generated()
		{
			string fileName = "temp_VEmployee.xml";
		
			XmlSerializer mySerializer = new XmlSerializer(typeof(VEmployee)); 
			System.IO.FileStream myFileStream = new System.IO.FileStream(fileName,  System.IO.FileMode.Open); 
			mock = (VEmployee) mySerializer.Deserialize(myFileStream);
			myFileStream.Close();
			System.IO.File.Delete(fileName);
			
			System.Console.WriteLine("mock correctly deserialized from a temporary file.");
		}
		///<summary>
		///  Returns a Typed VEmployee Entity with mock values.
		///</summary>
		static public VEmployee CreateMockInstance()
		{		
			VEmployee mock = new VEmployee();
						
			mock.EmployeeId = TestUtility.Instance.RandomNumber();
			mock.Title = TestUtility.Instance.RandomString(8, false);;
			mock.FirstName = TestUtility.Instance.RandomString(24, false);;
			mock.MiddleName = TestUtility.Instance.RandomString(24, false);;
			mock.LastName = TestUtility.Instance.RandomString(24, false);;
			mock.Suffix = TestUtility.Instance.RandomString(10, false);;
			mock.JobTitle = TestUtility.Instance.RandomString(24, false);;
			mock.Phone = TestUtility.Instance.RandomString(11, false);;
			mock.EmailAddress = TestUtility.Instance.RandomString(24, false);;
			mock.EmailPromotion = TestUtility.Instance.RandomNumber();
			mock.AddressLine1 = TestUtility.Instance.RandomString(29, false);;
			mock.AddressLine2 = TestUtility.Instance.RandomString(29, false);;
			mock.City = TestUtility.Instance.RandomString(14, false);;
			mock.StateProvinceName = TestUtility.Instance.RandomString(24, false);;
			mock.PostalCode = TestUtility.Instance.RandomString(6, false);;
			mock.CountryRegionName = TestUtility.Instance.RandomString(24, false);;
			mock.AdditionalContactInfo = "<test></test>";
		   return (VEmployee)mock;
		}
		/// <summary>
		/// Convert a nettiers collection to the ws proxy collection.
		/// </summary>
		public static VEmployee Convert(WsProxy.VEmployee item)
		{			
			VEmployee outItem = new VEmployee();			
			outItem.EmployeeId = item.EmployeeId;
			outItem.Title = item.Title;
			outItem.FirstName = item.FirstName;
			outItem.MiddleName = item.MiddleName;
			outItem.LastName = item.LastName;
			outItem.Suffix = item.Suffix;
			outItem.JobTitle = item.JobTitle;
			outItem.Phone = item.Phone;
			outItem.EmailAddress = item.EmailAddress;
			outItem.EmailPromotion = item.EmailPromotion;
			outItem.AddressLine1 = item.AddressLine1;
			outItem.AddressLine2 = item.AddressLine2;
			outItem.City = item.City;
			outItem.StateProvinceName = item.StateProvinceName;
			outItem.PostalCode = item.PostalCode;
			outItem.CountryRegionName = item.CountryRegionName;
			outItem.AdditionalContactInfo = item.AdditionalContactInfo;
							
			outItem.AcceptChanges();			
			return outItem;
		}