| Package: machii_info_sample.model.user |
| I abstract data access for users |
| Method Summary | |
|---|---|
| public userDAO |
init(string dsn)
I initialize a user. |
| public void |
create()
CRUD method |
| public void |
delete(numeric userID)
CRUD method |
| public userTO |
read(numeric userID)
CRUD method |
| public void |
update(userTO userData)
CRUD method |
| Method Detail |
|---|
| create |
|---|
public void create( )
CRUD method
Parameters:
Code:
<cffunction name="create" returntype="void" output="false" hint="CRUD method"> <cfabort showerror="userDAO.create - This Method is Abstract and needs to be overridden"> </cffunction>
| delete |
|---|
public void delete( numeric userID )
CRUD method
Parameters:
| numeric userID |
Code:
<cffunction name="delete" returntype="void" output="false" hint="CRUD method"> <cfargument name="userID" type="numeric" required="true" hint="I am the ID of the database record to delete." /> <cfset userDelete = 0 > <cfquery name="userDelete" datasource="#variables.dsn#" > DELETE FROM users WHERE userID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.userID#" > </cfquery> </cffunction>
| init |
|---|
public userDAO init( string dsn )
I initialize a user.
Parameters:
| string dsn |
Code:
<cffunction name="init" access="public" returntype="userDAO" output="false" displayname="User Constructor" hint="I initialize a user."> <cfargument name="dsn" type="string" required="true" /> <cfset variables.dsn = arguments.dsn /> <cfreturn this /> </cffunction>
| read |
|---|
public userTO read( numeric userID )
CRUD method
Parameters:
| numeric userID |
Code:
<cffunction name="read" access="public" returntype="machii_info_sample.model.user.userTO" output="false" hint="CRUD method">
<cfargument name="userID" type="numeric" required="true" hint="I am the ID of the database record to read." />
<cfset var userSelect = 0 />
<cfset var userData = structNew() />
<cfquery name="userSelect" datasource="#variables.dsn#" >
select * from users
where userid = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.userid#" />
</cfquery>
<cfif userSelect.recordCount eq 1>
<cfscript>
userData.userid = userselect.userid; //setuserID(userSelect.userID);
userData.username = userselect.username; //setUsername(userSelect.username);
userData.firstname = userselect.firstname; // setFirstname(userSelect.firstName);
userData.lastname = userselect.lastname; //setLastname(userSelect.lastName);
userData.email = userselect.email; //setEmail(userSelect.email);
userData.password = userselect.password; // setPassword(userSelect.password);
userData.password2 = userselect.password; // setPassword2(userSelect.password);
userData.company = userselect.company; // setCompany(userSelect.company);
userData.isAdmin = userselect.isAdmin; // setIsAdmin(userSelect.isAdmin);
return createObject("component", "machii_info_sample.model.user.userTO").init(argumentcollection=userData);
</cfscript>
<cfelse>
<cfthrow type="USER.MISSING" message="No such user" detail="userID=#arguments.userid#" />
</cfif>
</cffunction>
| update |
|---|
public void update( userTO userData )
CRUD method
Parameters:
| userTO userData |
Code:
<cffunction name="update" returntype="void" output="false" hint="CRUD method"> <cfargument name="userData" type="machii_info_sample.model.user.userTO" required="yes" displayname="userData" hint="TO of user data" /> <cfset userUpdate = 0 > <cfquery name="userUpdate" datasource="#variables.dsn#" > UPDATE users SET username = '#left(trim(arguments.userData.username),15)#', password = '#left(trim(arguments.userData.password),15)#', firstName = '#left(trim(arguments.userData.firstName),25)#', lastName = '#left(trim(arguments.userData.lastName),25)#', email = '#left(trim(arguments.userData.email),50)#', company = '#left(trim(arguments.userData.company),25)#', isAdmin = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.userData.isAdmin#" > WHERE userID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.userData.userID#" > </cfquery> </cffunction>