Inheritance: VJobCandidateEmploymentBase
        ///<summary>
        /// A simple factory method to create a new <see cref="VJobCandidateEmployment"/> instance.
        ///</summary>
        ///<param name="_jobCandidateId"></param>
        ///<param name="_safeNameEmpStartDate"></param>
        ///<param name="_safeNameEmpEndDate"></param>
        ///<param name="_safeNameEmpOrgName"></param>
        ///<param name="_safeNameEmpJobTitle"></param>
        ///<param name="_safeNameEmpResponsibility"></param>
        ///<param name="_safeNameEmpFunctionCategory"></param>
        ///<param name="_safeNameEmpIndustryCategory"></param>
        ///<param name="_safeNameEmpLocCountryRegion"></param>
        ///<param name="_safeNameEmpLocState"></param>
        ///<param name="_safeNameEmpLocCity"></param>
        public static VJobCandidateEmployment CreateVJobCandidateEmployment(System.Int32 _jobCandidateId, System.DateTime?_safeNameEmpStartDate, System.DateTime?_safeNameEmpEndDate, System.String _safeNameEmpOrgName, System.String _safeNameEmpJobTitle, System.String _safeNameEmpResponsibility, System.String _safeNameEmpFunctionCategory, System.String _safeNameEmpIndustryCategory, System.String _safeNameEmpLocCountryRegion, System.String _safeNameEmpLocState, System.String _safeNameEmpLocCity)
        {
            VJobCandidateEmployment newVJobCandidateEmployment = new VJobCandidateEmployment();

            newVJobCandidateEmployment.JobCandidateId              = _jobCandidateId;
            newVJobCandidateEmployment.SafeNameEmpStartDate        = _safeNameEmpStartDate;
            newVJobCandidateEmployment.SafeNameEmpEndDate          = _safeNameEmpEndDate;
            newVJobCandidateEmployment.SafeNameEmpOrgName          = _safeNameEmpOrgName;
            newVJobCandidateEmployment.SafeNameEmpJobTitle         = _safeNameEmpJobTitle;
            newVJobCandidateEmployment.SafeNameEmpResponsibility   = _safeNameEmpResponsibility;
            newVJobCandidateEmployment.SafeNameEmpFunctionCategory = _safeNameEmpFunctionCategory;
            newVJobCandidateEmployment.SafeNameEmpIndustryCategory = _safeNameEmpIndustryCategory;
            newVJobCandidateEmployment.SafeNameEmpLocCountryRegion = _safeNameEmpLocCountryRegion;
            newVJobCandidateEmployment.SafeNameEmpLocState         = _safeNameEmpLocState;
            newVJobCandidateEmployment.SafeNameEmpLocCity          = _safeNameEmpLocCity;
            return(newVJobCandidateEmployment);
        }
        ///<summary>
        ///  Returns a Typed VJobCandidateEmploymentBase Entity
        ///</summary>
        public virtual VJobCandidateEmploymentBase Copy()
        {
            //shallow copy entity
            VJobCandidateEmployment copy = new VJobCandidateEmployment();

            copy.JobCandidateId              = this.JobCandidateId;
            copy.SafeNameEmpStartDate        = this.SafeNameEmpStartDate;
            copy.SafeNameEmpEndDate          = this.SafeNameEmpEndDate;
            copy.SafeNameEmpOrgName          = this.SafeNameEmpOrgName;
            copy.SafeNameEmpJobTitle         = this.SafeNameEmpJobTitle;
            copy.SafeNameEmpResponsibility   = this.SafeNameEmpResponsibility;
            copy.SafeNameEmpFunctionCategory = this.SafeNameEmpFunctionCategory;
            copy.SafeNameEmpIndustryCategory = this.SafeNameEmpIndustryCategory;
            copy.SafeNameEmpLocCountryRegion = this.SafeNameEmpLocCountryRegion;
            copy.SafeNameEmpLocState         = this.SafeNameEmpLocState;
            copy.SafeNameEmpLocCity          = this.SafeNameEmpLocCity;
            copy.AcceptChanges();
            return((VJobCandidateEmployment)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(VJobCandidateEmployment entity, string propertyName)
        {
            switch (propertyName)
            {
            case "JobCandidateId":
                return(entity.JobCandidateId);

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

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

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

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

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

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

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

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

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

            case "SafeNameEmpLocCity":
                return(entity.SafeNameEmpLocCity);
            }
            return(null);
        }
		/// <summary>
		/// Convert a nettiers collection to the ws proxy collection.
		/// </summary>
		public static VJobCandidateEmployment Convert(WsProxy.VJobCandidateEmployment item)
		{			
			VJobCandidateEmployment outItem = new VJobCandidateEmployment();			
			outItem.JobCandidateId = item.JobCandidateId;
			outItem.SafeNameEmpStartDate = item.SafeNameEmpStartDate;
			outItem.SafeNameEmpEndDate = item.SafeNameEmpEndDate;
			outItem.SafeNameEmpOrgName = item.SafeNameEmpOrgName;
			outItem.SafeNameEmpJobTitle = item.SafeNameEmpJobTitle;
			outItem.SafeNameEmpResponsibility = item.SafeNameEmpResponsibility;
			outItem.SafeNameEmpFunctionCategory = item.SafeNameEmpFunctionCategory;
			outItem.SafeNameEmpIndustryCategory = item.SafeNameEmpIndustryCategory;
			outItem.SafeNameEmpLocCountryRegion = item.SafeNameEmpLocCountryRegion;
			outItem.SafeNameEmpLocState = item.SafeNameEmpLocState;
			outItem.SafeNameEmpLocCity = item.SafeNameEmpLocCity;
							
			outItem.AcceptChanges();			
			return outItem;
		}
		/// <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(VJobCandidateEmployment entity, string propertyName)
		{
			switch (propertyName)
			{
				case "JobCandidateId":
					return entity.JobCandidateId;
				case "SafeNameEmpStartDate":
					return entity.SafeNameEmpStartDate;
				case "SafeNameEmpEndDate":
					return entity.SafeNameEmpEndDate;
				case "SafeNameEmpOrgName":
					return entity.SafeNameEmpOrgName;
				case "SafeNameEmpJobTitle":
					return entity.SafeNameEmpJobTitle;
				case "SafeNameEmpResponsibility":
					return entity.SafeNameEmpResponsibility;
				case "SafeNameEmpFunctionCategory":
					return entity.SafeNameEmpFunctionCategory;
				case "SafeNameEmpIndustryCategory":
					return entity.SafeNameEmpIndustryCategory;
				case "SafeNameEmpLocCountryRegion":
					return entity.SafeNameEmpLocCountryRegion;
				case "SafeNameEmpLocState":
					return entity.SafeNameEmpLocState;
				case "SafeNameEmpLocCity":
					return entity.SafeNameEmpLocCity;
			}
			return null;
		}
		///<summary>
		///  Returns a Typed VJobCandidateEmploymentBase Entity 
		///</summary>
		public virtual VJobCandidateEmploymentBase Copy()
		{
			//shallow copy entity
			VJobCandidateEmployment copy = new VJobCandidateEmployment();
				copy.JobCandidateId = this.JobCandidateId;
				copy.SafeNameEmpStartDate = this.SafeNameEmpStartDate;
				copy.SafeNameEmpEndDate = this.SafeNameEmpEndDate;
				copy.SafeNameEmpOrgName = this.SafeNameEmpOrgName;
				copy.SafeNameEmpJobTitle = this.SafeNameEmpJobTitle;
				copy.SafeNameEmpResponsibility = this.SafeNameEmpResponsibility;
				copy.SafeNameEmpFunctionCategory = this.SafeNameEmpFunctionCategory;
				copy.SafeNameEmpIndustryCategory = this.SafeNameEmpIndustryCategory;
				copy.SafeNameEmpLocCountryRegion = this.SafeNameEmpLocCountryRegion;
				copy.SafeNameEmpLocState = this.SafeNameEmpLocState;
				copy.SafeNameEmpLocCity = this.SafeNameEmpLocCity;
			copy.AcceptChanges();
			return (VJobCandidateEmployment)copy;
		}
		///<summary>
		/// A simple factory method to create a new <see cref="VJobCandidateEmployment"/> instance.
		///</summary>
		///<param name="_jobCandidateId"></param>
		///<param name="_safeNameEmpStartDate"></param>
		///<param name="_safeNameEmpEndDate"></param>
		///<param name="_safeNameEmpOrgName"></param>
		///<param name="_safeNameEmpJobTitle"></param>
		///<param name="_safeNameEmpResponsibility"></param>
		///<param name="_safeNameEmpFunctionCategory"></param>
		///<param name="_safeNameEmpIndustryCategory"></param>
		///<param name="_safeNameEmpLocCountryRegion"></param>
		///<param name="_safeNameEmpLocState"></param>
		///<param name="_safeNameEmpLocCity"></param>
		public static VJobCandidateEmployment CreateVJobCandidateEmployment(System.Int32 _jobCandidateId, System.DateTime? _safeNameEmpStartDate, System.DateTime? _safeNameEmpEndDate, System.String _safeNameEmpOrgName, System.String _safeNameEmpJobTitle, System.String _safeNameEmpResponsibility, System.String _safeNameEmpFunctionCategory, System.String _safeNameEmpIndustryCategory, System.String _safeNameEmpLocCountryRegion, System.String _safeNameEmpLocState, System.String _safeNameEmpLocCity)
		{
			VJobCandidateEmployment newVJobCandidateEmployment = new VJobCandidateEmployment();
			newVJobCandidateEmployment.JobCandidateId = _jobCandidateId;
			newVJobCandidateEmployment.SafeNameEmpStartDate = _safeNameEmpStartDate;
			newVJobCandidateEmployment.SafeNameEmpEndDate = _safeNameEmpEndDate;
			newVJobCandidateEmployment.SafeNameEmpOrgName = _safeNameEmpOrgName;
			newVJobCandidateEmployment.SafeNameEmpJobTitle = _safeNameEmpJobTitle;
			newVJobCandidateEmployment.SafeNameEmpResponsibility = _safeNameEmpResponsibility;
			newVJobCandidateEmployment.SafeNameEmpFunctionCategory = _safeNameEmpFunctionCategory;
			newVJobCandidateEmployment.SafeNameEmpIndustryCategory = _safeNameEmpIndustryCategory;
			newVJobCandidateEmployment.SafeNameEmpLocCountryRegion = _safeNameEmpLocCountryRegion;
			newVJobCandidateEmployment.SafeNameEmpLocState = _safeNameEmpLocState;
			newVJobCandidateEmployment.SafeNameEmpLocCity = _safeNameEmpLocCity;
			return newVJobCandidateEmployment;
		}