<cfcomponent extends="components.common.formObject">
	<cfset variables.idProjectSubParcel=0>
	<cfset variables.idParent=0>
	<cfset variables.parent="">
	<cfset variables.idProjectParcel=0>
	<cfset variables.projectParcel="">
	<cfset variables.idProjectTask=0>
	<cfset variables.projectTask="">
	<cfset variables.idProjectActivity=0>
	<cfset variables.projectActivity="">
	<cfset variables.idProject=0>
	<cfset variables.project="">
	<cfset variables.idCurrency=0>
	<cfset variables.currency="">
	<cfset variables.idEmployee=0>
	<cfset variables.employee=0>
	<cfset variables.name="">
	<cfset variables.amountAuthorized=0>
	<cfset variables.amountUsed=0>
	<cfset variables.dateStart="">
	<cfset variables.dateEnd="">
	<cfset variables.dateEndReal="">
	<cfset module.list.orderBy="projectTask.name">

	<cffunction name="init" access="public" output="false">
		<cfset variables.idProjectSubParcel=0>
		<cfset variables.idParent=0>
		<cfset variables.parent="">
		<cfset variables.idProjectParcel=0>
		<cfset variables.projectParcel="">
		<cfset variables.idProjectTask=0>
		<cfset variables.projectTask="">
		<cfset variables.idProjectActivity=0>
		<cfset variables.projectActivity="">
		<cfset variables.idProject=0>
		<cfset variables.project="">
		<cfset variables.idCurrency=0>
		<cfset variables.currency="">
		<cfset variables.idEmployee=0>
		<cfset variables.employee=0>
		<cfset variables.name="">
		<cfset variables.amountAuthorized=0>
		<cfset variables.amountUsed=0>
		<cfset variables.dateStart="">
		<cfset variables.dateEnd="">
		<cfset variables.dateEndReal="">
	</cffunction>
	
	<cffunction name="getFormObjectId" access="public" output="false" returntype="numeric">
		<cfreturn getIdProjectSubParcel()>
	</cffunction>
	
	<cffunction name="setFormObjectId" access="public" output="false">
		<cfargument name="objectId" type="numeric" required="yes">
		<cfset setIdProjectSubParcel(arguments.objectId)>
	</cffunction>

	<cffunction name="setIdProjectSubParcel" access="public" output="false">
		<cfargument name="idProjectSubParcel" type="numeric" required="yes" default="0">
		<cfset variables.idProjectSubParcel=arguments.idProjectSubParcel>
	</cffunction>

	<cffunction name="getIdProjectSubParcel" access="public" returntype="numeric" output="false">
		<cfreturn variables.idProjectSubParcel>
	</cffunction>

	<cffunction name="setIdParent" access="remote" output="false">
		<cfargument name="idParent" type="numeric" required="yes" default="0">
		<cfset variables.idParent=arguments.idParent>
	</cffunction>

	<cffunction name="getIdParent" access="remote" returntype="numeric" output="false">
		<cfreturn variables.idParent>
	</cffunction>

	<cffunction name="getParent" access="remote" returntype="components.corporate.projectSubParcel" output="false">
		<cfif not IsObject("variables.parent")><cfset variables.parent=CreateObject("component", "components.corporate.projectSubParcel")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.parent.isRetrievedFromDB()) or variables.parent.getIdProjectSubParcel() neq variables.idProject>
			<cfset variables.parent=CreateObject("component", "components.corporate.projectSubParcel")>
			<cfset variables.parent.setIdProjectSubParcel(variables.idParent)>
			<cfset variables.parent.get()>
		</cfif>
		<cfreturn variables.parent>
	</cffunction>

	<cffunction name="setIdProjectParcel" access="public" output="false">
		<cfargument name="idProjectParcel" type="numeric" required="yes" default="0">
		<cfset variables.idProjectParcel=arguments.idProjectParcel>
	</cffunction>

	<cffunction name="getIdProjectParcel" access="public" returntype="numeric" output="false">
		<cfreturn variables.idProjectParcel>
	</cffunction>

	<cffunction name="getProjectParcel" access="remote" returntype="components.corporate.projectParcel" output="false">
		<cfif not IsObject("variables.projectParcel")><cfset variables.projectParcel=CreateObject("component", "components.corporate.projectParcel")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.projectParcel.isRetrievedFromDB()) or variables.projectParcel.getIdProjectParcel() neq variables.idProjectParcel>
			<cfset variables.projectParcel=CreateObject("component", "components.corporate.projectParcel")>
			<cfset variables.projectParcel.setIdProjectParcel(variables.idProjectParcel)>
			<cfset variables.projectParcel.get()>
		</cfif>
		<cfreturn variables.projectParcel>
	</cffunction>

	<cffunction name="setIdProjectTask" access="public" output="false">
		<cfargument name="idProjectTask" type="numeric" required="yes" default="0">
		<cfset variables.idProjectTask=arguments.idProjectTask>
	</cffunction>

	<cffunction name="getIdProjectTask" access="public" returntype="numeric" output="false">
		<cfreturn variables.idProjectTask>
	</cffunction>

	<cffunction name="getProjectTask" access="remote" returntype="components.corporate.projectTask" output="false">
		<cfif not IsObject("variables.projectTask")><cfset variables.projectTask=CreateObject("component", "components.corporate.projectTask")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.projectTask.isRetrievedFromDB()) or variables.projectTask.getIdProjectTask() neq variables.idProjectTask>
			<cfset variables.projectTask=CreateObject("component", "components.corporate.projectTask")>
			<cfset variables.projectTask.setIdProjectTask(variables.idProjectTask)>
			<cfset variables.projectTask.get()>
		</cfif>
		<cfreturn variables.projectTask>
	</cffunction>

	<cffunction name="setIdProjectActivity" access="public" output="false">
		<cfargument name="idProjectActivity" type="numeric" required="yes" default="0">
		<cfset variables.idProjectActivity=arguments.idProjectActivity>
	</cffunction>

	<cffunction name="getIdProjectActivity" access="public" returntype="numeric" output="false">
		<cfreturn variables.idProjectActivity>
	</cffunction>

	<cffunction name="getProjectActivity" access="remote" returntype="components.corporate.projectActivity" output="false">
		<cfif not IsObject("variables.projectActivity")><cfset variables.projectActivity=CreateObject("component", "components.corporate.projectActivity")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.projectActivity.isRetrievedFromDB()) or variables.projectActivity.getIdProjectActivity() neq variables.idProjectActivity>
			<cfset variables.projectActivity=CreateObject("component", "components.corporate.projectActivity")>
			<cfset variables.projectActivity.setIdProjectActivity(variables.idProjectActivity)>
			<cfset variables.projectActivity.get()>
		</cfif>
		<cfreturn variables.projectActivity>
	</cffunction>

	<cffunction name="setIdProject" access="remote" output="false">
		<cfargument name="idProject" type="numeric" required="yes" default="0">
		<cfset variables.idProject=arguments.idProject>
	</cffunction>

	<cffunction name="getIdProject" access="remote" returntype="numeric" output="false">
		<cfreturn variables.idProject>
	</cffunction>

	<cffunction name="getProject" access="remote" returntype="components.corporate.project" output="false">
		<cfif not IsObject("variables.project")><cfset variables.project=CreateObject("component", "components.corporate.project")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.project.isRetrievedFromDB()) or variables.project.getIdProject() neq variables.idProject>
			<cfset variables.project=CreateObject("component", "components.corporate.project")>
			<cfset variables.project.setIdProject(variables.idProject)>
			<cfset variables.project.get()>
		</cfif>
		<cfreturn variables.project>
	</cffunction>

	<cffunction name="setIdCurrency" access="public" output="false">
		<cfargument name="idCurrency" type="numeric" required="yes" default="0">
		<cfset variables.idCurrency=arguments.idCurrency>
	</cffunction>

	<cffunction name="getIdCurrency" access="public" returntype="numeric" output="false">
		<cfreturn variables.idCurrency>
	</cffunction>
	
	<cffunction name="getCurrency" access="remote" returntype="components.corporate.currency" output="false">
		<cfif not IsObject("variables.currency")><cfset variables.currency=CreateObject("component", "components.corporate.currency")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.currency.isRetrievedFromDB()) or variables.currency.getIdCurrency() neq variables.idCurrency>
			<cfset variables.currency=CreateObject("component", "components.corporate.currency")>
			<cfset variables.currency.setIdCurrency(variables.idCurrency)>
			<cfset variables.currency.get()>
		</cfif>
		<cfreturn variables.currency>
	</cffunction>

	<cffunction name="setIdEmployee" access="remote" output="false">
		<cfargument name="idEmployee" type="numeric" required="yes" default="0">
		<cfset variables.idEmployee=arguments.idEmployee>
	</cffunction>

	<cffunction name="getIdEmployee" access="remote" returntype="numeric" output="false">
		<cfreturn variables.idEmployee>
	</cffunction>

	<cffunction name="getEmployee" access="remote" returntype="components.corporate.employee" output="false">
		<cfif not IsObject("variables.employee")><cfset variables.employee=CreateObject("component", "components.corporate.employee")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.employee.isRetrievedFromDB()) or variables.employee.getidEmployee() neq variables.idEmployee>
			<cfset variables.employee=CreateObject("component", "components.corporate.employee")>
			<cfset variables.employee.setidEmployee(variables.idEmployee)>
			<cfset variables.employee.get()>
		</cfif>
		<cfreturn variables.employee>
	</cffunction>

	<cffunction name="setName" access="public" output="false">
		<cfargument name="name" type="string" required="yes" default="">
		<cfset variables.name=arguments.name>
	</cffunction>

	<cffunction name="getName" access="public" returntype="string" output="false">
		<cfreturn variables.name>
	</cffunction>

	<cffunction name="setAmountAuthorized" access="public" output="false">
		<cfargument name="amountAuthorized" type="string" required="yes" default="0">
		<cfset variables.amountAuthorized=parseCurrency(arguments.amountAuthorized)>
	</cffunction>

	<cffunction name="getAmountAuthorized" access="public" returntype="string" output="false">
		<cfreturn parseCurrency(variables.amountAuthorized)>
	</cffunction>

	<cffunction name="setAmountUsed" access="public" output="false">
		<cfargument name="amountUsed" type="string" required="yes" default="0">
		<cfset variables.amountUsed=parseCurrency(arguments.amountUsed)>
	</cffunction>

	<cffunction name="getAmountUsed" access="public" returntype="string" output="false">
		<cfreturn parseCurrency(variables.amountUsed)>
	</cffunction>

	<cffunction name="setDateStart" access="public" output="false">
		<cfargument name="dateStart" type="string" required="yes" default="">
		<cfset variables.dateStart=arguments.dateStart>
	</cffunction>

	<cffunction name="getDateStart" access="public" returntype="string" output="false">
		<cfreturn variables.dateStart>
	</cffunction>

	<cffunction name="setDateEnd" access="public" output="false">
		<cfargument name="dateEnd" type="string" required="yes" default="">
		<cfset variables.dateEnd=arguments.dateEnd>
	</cffunction>

	<cffunction name="getDateEnd" access="public" returntype="string" output="false">
		<cfreturn variables.dateEnd>
	</cffunction>

	<cffunction name="setDateEndReal" access="public" output="false">
		<cfargument name="dateEndReal" type="string" required="yes" default="">
		<cfset variables.dateEndReal=arguments.dateEndReal>
	</cffunction>

	<cffunction name="getDateEndReal" access="public" returntype="string" output="false">
		<cfreturn variables.dateEndReal>
	</cffunction>

	<cffunction name="setVariablesFromQuery" access="private" output="false">
		<cfargument name="getQuery" type="query" required="yes">
		<cfif getQuery.recordcount gt 0>
			<cfset variables.idProjectSubParcel=getQuery.idProjectSubParcel>
			<cfif Len(getQuery.idParent)><cfset variables.idParent=getQuery.idParent><cfelse><cfset variables.idParent=0></cfif>
			<cfset variables.idProjectParcel=getQuery.idProjectParcel>
			<cfset variables.idProjectTask=getQuery.idProjectTask>
			<cfset variables.idProjectActivity=getQuery.idProjectActivity>
			<cfset variables.idProject=getQuery.idProject>
			<cfif Len(getQuery.idCurrency)><cfset variables.idCurrency=getQuery.idCurrency><cfelse><cfset variables.idCurrency=0></cfif>
			<cfif Len(getQuery.idEmployee)><cfset variables.idEmployee=getQuery.idEmployee><cfelse><cfset variables.idEmployee=0></cfif>
			<cfset variables.name=getQuery.name>
			<cfset variables.amountAuthorized=getQuery.amountAuthorized>
			<cfset variables.amountUsed=getQuery.amountUsed>
			<cfif Len(getQuery.dateStart)><cfset variables.dateStart=LSDateFormat(getQuery.dateStart, "dd/mm/yyyy")><cfelse><cfset variables.dateStart=""></cfif>
			<cfif Len(getQuery.dateEnd)><cfset variables.dateEnd=LSDateFormat(getQuery.dateEnd, "dd/mm/yyyy")><cfelse><cfset variables.dateEnd=""></cfif>
			<cfif Len(getQuery.dateEndReal)><cfset variables.dateEndReal=LSDateFormat(getQuery.dateEndReal, "dd/mm/yyyy")><cfelse><cfset variables.dateEndReal=""></cfif>
		</cfif>
	</cffunction>

	<cffunction name="get" access="public" output="false">
		<cfquery name="getQuery" datasource="#application.datasource#">
			SELECT 
				#getQueryString()#
			WHERE
				projectSubParcel.idProjectSubParcel=<cfqueryparam value="#variables.idProjectSubParcel#" cfsqltype="cf_sql_integer">
		</cfquery>
		<cfif getQuery.recordcount gt 0>
			<cfset setVariablesFromQuery(getQuery)>
		</cfif>
		<cfset module.retrievedFromDB=true>
	</cffunction>

	<cffunction name="getList" access="public" output="false" returntype="query">
		<cfargument name="orderBy" required="no" type="string" default="">

		<cfquery name="getListQuery" datasource="#application.datasource#">
			SELECT 
				#getQueryString()#
			WHERE
				projectSubParcel.idProjectParcel=<cfqueryparam value="#variables.idProjectParcel#" cfsqltype="cf_sql_integer">
			ORDER BY <cfif Len(arguments.orderBy)>#URLDecode(arguments.orderBy)#<cfelse>#URLDecode(module.list.orderBy)#</cfif>
		</cfquery>
		<cfreturn getListQuery>
	</cffunction>
	
	<cffunction name="getQueryString" access="private" output="false" returntype="string">
		<cfset var result="
				projectSubParcel.idProjectSubParcel,
				projectSubParcel.idParent, parent.name AS parent,
				projectSubParcel.idProjectParcel, projectParcel.name AS projectParcel, 
				projectSubParcel.idProjectTask, projectTask.name AS projectTask, 
				projectSubParcel.idProjectActivity, projectActivity.name AS projectActivity,
				projectSubParcel.idProject, project.name AS project, 
				projectSubParcel.idCurrency, currency.name AS currency,
				projectSubParcel.idEmployee, CONCAT(TRIM(CONCAT(employee.nameFirst, ' ', employee.nameFirst1)), ' ', TRIM(CONCAT(employee.nameLast, ' ', employee.nameLast1))) AS employee,
				projectSubParcel.name,
				projectSubParcel.amountAuthorized,
				projectSubParcel.amountUsed, 
				(projectSubParcel.amountAuthorized-projectSubParcel.amountUsed) AS amountAvailable,
				projectSubParcel.dateStart,
				projectSubParcel.dateEnd,
				projectSubParcel.dateEndReal
			FROM 
				projectSubParcel
			LEFT JOIN projectSubParcel AS parent ON projectSubParcel.idParent=parent.idProjectSubParcel
			LEFT JOIN projectParcel ON projectSubParcel.idProjectParcel=projectParcel.idProjectParcel
			LEFT JOIN projectTask ON projectSubParcel.idProjectTask=projectTask.idProjectTask
			LEFT JOIN projectActivity ON projectSubParcel.idProjectActivity=projectActivity.idProjectActivity
			LEFT JOIN project ON projectSubParcel.idProject=project.idProject
			LEFT JOIN currency ON projectSubParcel.idCurrency=currency.idCurrency
			LEFT JOIN employee ON projectSubParcel.idEmployee=employee.idEmployee
			">
		<cfreturn result>
	</cffunction>

	<cffunction name="getId" access="public" returntype="struct" output="false">
		<cfset var result=StructNew()>
		<cfset result.id=0>
		<cfset result.message="">
		<cfquery name="getIdQuery" datasource="#application.datasource#">
			SELECT 
				idProjectSubParcel 
			FROM 
				projectSubParcel 
			WHERE 
				name=<cfqueryparam value="#variables.name#" cfsqltype="cf_sql_varchar" maxlength="255">
				AND projectSubParcel.idProjectParcel=<cfqueryparam value="#variables.idProjectParcel#" cfsqltype="cf_sql_integer">
				<cfif variables.idProjectSubParcel gt 0>
				AND idProjectSubParcel != <cfqueryparam value="#variables.idProjectSubParcel#" cfsqltype="cf_sql_integer">
				</cfif>
		</cfquery>
		<cfif getIdQuery.recordcount gt 0>
			<cfset result.id=getIdQuery.idProjectSubParcel>
		</cfif>
		<cfreturn result>
	</cffunction>
	
	<cffunction name="create" access="public" returntype="struct" output="false">
		<cfset var result=StructNew()>
		<cfset result.id=0>
		<cfset result.message="">
		<!--- check parameters --->
		<cfif variables.idProject lt 1>
			<cfset result.message="Proyecto es un campo obligatorio">
			<cfreturn result>
		</cfif>
		<cfif not Len(variables.name)>
			<cfset result.message="Nombre de la actividad es un campo obligatorio">
			<cfreturn result>
		</cfif>
		<cfset result=getId()>
		<cfif result.id gt 0>
			<cfset result.message="Actividad con ese nombre ya existe">
			<cfreturn result>
		</cfif>
		<!--- variables ok --->
		<cftry>
			<cfquery name="createQuery" datasource="#application.datasource#">
				INSERT INTO projectSubParcel
					(
					idProjectSubParcel, 
					idParent, 
					idProjectParcel, 
					idProjectTask, 
					idProjectActivity, 
					idProject, 
					idCurrency, 
					idEmployee, 
					name, 
					amountAuthorized,
					amountUsed,
					dateStart, 
					dateEnd,
					dateEndReal
					) 
				VALUES 
					(
					<cfqueryparam value="#variables.idProjectSubParcel#" cfsqltype="cf_sql_integer">, 
					<cfif variables.idParent gt 0><cfqueryparam value="#variables.idParent#" cfsqltype="cf_sql_integer"><cfelse>NULL</cfif>, 
					<cfqueryparam value="#variables.idProjectParcel#" cfsqltype="cf_sql_integer">, 
					<cfqueryparam value="#variables.idProjectTask#" cfsqltype="cf_sql_integer">, 
					<cfqueryparam value="#variables.idProjectActivity#" cfsqltype="cf_sql_integer">, 
					<cfqueryparam value="#variables.idProject#" cfsqltype="cf_sql_integer">, 
					<cfif variables.idCurrency gt 0><cfqueryparam value="#variables.idCurrency#" cfsqltype="cf_sql_integer"><cfelse>NULL</cfif>, 
					<cfif variables.idEmployee gt 0><cfqueryparam value="#variables.idEmployee#" cfsqltype="cf_sql_integer"><cfelse>NULL</cfif>, 
					<cfqueryparam value="#variables.name#" cfsqltype="cf_sql_varchar" maxlength="255">,
					<cfqueryparam value="#parseCurrency(variables.amountAuthorized)#" cfsqltype="cf_sql_double">,
					<cfqueryparam value="#parseCurrency(variables.amountUsed)#" cfsqltype="cf_sql_double">,
					<cfif variables.dateStart gt 0><cfqueryparam value="#parseDate(variables.dateStart)#" cfsqltype="cf_sql_date"><cfelse>NULL</cfif>, 
					<cfif variables.dateEnd gt 0><cfqueryparam value="#parseDate(variables.dateEnd)#" cfsqltype="cf_sql_date"><cfelse>NULL</cfif>, 
					<cfif variables.dateEndReal gt 0><cfqueryparam value="#parseDate(variables.dateEndReal)#" cfsqltype="cf_sql_date"><cfelse>NULL</cfif>
					)
			</cfquery>
			<cfset result=getId()>
			<cfset variables.idProjectSubParcel=result.id>
			<!--- catch any error --->
			<cfcatch type="any">
				<cfset result.id=-1>
				<cfset result.message="Error [projectSubParcel.create()]: " & cfcatch.Message & "<br>Details: " & cfcatch.Detail>
			</cfcatch>
		</cftry>
		<cfreturn result>
	</cffunction>

	<cffunction name="update" access="public" returntype="struct" output="false">
		<cfset var result=StructNew()>
		<cfset result.id=0>
		<cfset result.message="">
		<!--- check parameters --->
		<cfif not Len(variables.name)>
			<cfset result.message="Nombre de tipo de empleado es un campo obligatorio">
			<cfreturn result>
		</cfif>
		<cfset result=getId()>
		<cfif result.id gt 0>
			<cfset result.message="Tipo de empleado con ese nombre ya existe">
			<cfreturn result>
		</cfif>
		<!--- variables ok --->
		<cftry>
			<cfquery name="updateQuery" datasource="#application.datasource#">
				UPDATE projectSubParcel
				SET 
					idParent=<cfif variables.idParent gt 0><cfqueryparam value="#variables.idParent#" cfsqltype="cf_sql_integer"><cfelse>NULL</cfif>, 
					idProjectParcel=<cfqueryparam value="#variables.idProjectParcel#" cfsqltype="cf_sql_integer">,
					idProjectTask=<cfqueryparam value="#variables.idProjectTask#" cfsqltype="cf_sql_integer">,
					idProjectActivity=<cfqueryparam value="#variables.idProjectActivity#" cfsqltype="cf_sql_integer">,
					idProject=<cfqueryparam value="#variables.idProject#" cfsqltype="cf_sql_integer">, 
					idCurrency=<cfif variables.idCurrency gt 0><cfqueryparam value="#variables.idCurrency#" cfsqltype="cf_sql_integer"><cfelse>NULL</cfif>, 
					idEmployee=<cfif variables.idEmployee gt 0><cfqueryparam value="#variables.idEmployee#" cfsqltype="cf_sql_integer"><cfelse>NULL</cfif>, 
					name=<cfqueryparam value="#variables.name#" cfsqltype="cf_sql_varchar" maxlength="255">,
					amountAuthorized=<cfqueryparam value="#parseCurrency(variables.amountAuthorized)#" cfsqltype="cf_sql_double">,
					amountUsed=<cfqueryparam value="#parseCurrency(variables.amountUsed)#" cfsqltype="cf_sql_double">,
					dateStart=<cfif variables.dateStart gt 0><cfqueryparam value="#parseDate(variables.dateStart)#" cfsqltype="cf_sql_date"><cfelse>NULL</cfif>, 
					dateEnd=<cfif variables.dateEnd gt 0><cfqueryparam value="#parseDate(variables.dateEnd)#" cfsqltype="cf_sql_date"><cfelse>NULL</cfif>, 
					dateEndReal=<cfif variables.dateEndReal gt 0><cfqueryparam value="#parseDate(variables.dateEndReal)#" cfsqltype="cf_sql_date"><cfelse>NULL</cfif>
				WHERE 
					idProjectSubParcel=<cfqueryparam value="#variables.idProjectSubParcel#" cfsqltype="cf_sql_integer">
			</cfquery>
			<cfset result.id=variables.idProjectSubParcel>
			<!--- catch any error --->
			<cfcatch type="any">
				<cfset result.id=-1>
				<cfset result.message="Error [projectSubParcel.update()]: " & cfcatch.Message & "<br>Details: " & cfcatch.Detail>
			</cfcatch>
		</cftry>
		<cfreturn result>
	</cffunction>

	<cffunction name="delete" access="public" returntype="struct" output="false">
		<cfset var result=StructNew()>
		<cfset result.id=0>
		<cfset result.message="">
		<!--- check parameters --->
		<cftry>
			<cfquery name="deleteQuery" datasource="#application.datasource#">
				DELETE FROM projectSubParcel
				WHERE 
					idProjectSubParcel=<cfqueryparam value="#variables.idProjectSubParcel#" cfsqltype="cf_sql_integer">
			</cfquery>
			<cfset result.id=0>
			<cfset init()>
			<!--- catch any error --->
			<cfcatch type="any">
				<cfset result.id=-1>
				<cfset result.message="Error [projectSubParcel.delete()]: " & cfcatch.Message & "<br>Details: " & cfcatch.Detail>
			</cfcatch>
		</cftry>
		<cfreturn result>
	</cffunction>

	<cffunction name="createOptions" access="public" returntype="numeric" output="true">
		<cfargument name="selected" required="yes" type="numeric" default="0">
		<cfset var list=getList("projectSubParcel.idProjectSubParcel")>
		<cfset var result=0>
		<cfif list.idProjectSubParcel gt 0><cfset result=list.idProjectSubParcel></cfif>
		<cfloop query="list">
			<cfif list.idProjectSubParcel eq arguments.selected><cfset _selected=" selected"><cfset result=list.idProjectSubParcel><cfelse><cfset _selected=""></cfif>
			<cfoutput><option value="#list.idProjectSubParcel#"#_selected#>#list.name#</option></cfoutput>
		</cfloop>
		<cfreturn result>
	</cffunction>
</cfcomponent>