##
## Define the "name" for our ExpandoTable.
##
#set ($accountsTableName = "AccountsTable")
##
## Get/Create the ExpandoTable to hold our data.
##
#set ($accountsTable = $expandoTableLocalService.getTable($accountsTableName, $accountsTableName))
#if (!$accountsTable)
#set ($accountsTable = $expandoTableLocalService.addTable($accountsTableName, $accountsTableName))
#set ($accountsTableId = $accountsTable.getTableId())
##
## Create an ExpandoColumn for each field in the form.
##
#set ($V = $expandoColumnLocalService.addColumn($accountsTableId, "firstName", 15)) ## STRING
#set ($V = $expandoColumnLocalService.addColumn($accountsTableId, "lastName", 15)) ## STRING
#set ($V = $expandoColumnLocalService.addColumn($accountsTableId, "balance", 5)) ## DOUBLE
#set ($V = $expandoColumnLocalService.addColumn($accountsTableId, "modifiedDate", 3)) ## DATE
#end
##
## Do some request handling setup.
##
#set ($renderUrl = $request.get("render-url"))
#set ($namespace = $request.get("portlet-namespace"))
#set ($cmd = $request.get("parameters").get("cmd"))
#set ($firstName = '')
#set ($lastName = '')
#set ($balance = 0.0)
##
## Check to see if a classPK was passed in the request.
##
#set ($classPK = $getterUtil.getLong($request.get("parameters").get("classPK")))
##
## Check if we have received a form submission?
##
#if ($cmd.equals("add") || $cmd.equals("update"))
##
## Let's get the form values from the request.
##
#set ($firstName = $request.get("parameters").get("firstName"))
#set ($lastName = $request.get("parameters").get("lastName"))
#set ($balance = $getterUtil.getDouble($request.get("parameters").get("balance")))
#set ($date = $dateTool.getDate())
##
## Validate the params to see if we should proceed.
##
#if (($cmd.equals("add") && !$firstName.equals("") && !$lastName.equals("") && $balance >= 50) || ($cmd.equals("update") && !$firstName.equals("") && !$lastName.equals("")))
##
## Check to see if it's a new Account.
##
#if ($classPK <= 0)
#set ($classPK = $dateTool.getDate().getTime())
#end
#set ($V = $expandoValueLocalService.addValue($accountsTableName, $accountsTableName, "firstName", $classPK, $firstName))
#set ($V = $expandoValueLocalService.addValue($accountsTableName, $accountsTableName, "lastName", $classPK, $lastName))
#set ($V = $expandoValueLocalService.addValue($accountsTableName, $accountsTableName, "balance", $classPK, $balance))
#set ($V = $expandoValueLocalService.addValue($accountsTableName, $accountsTableName, "modifiedDate", $classPK, $date))
##
## Show a response.
##
#if ($cmd.equals("update"))
Thank you, ${firstName}, for updating your account with our bank!
#else
Thank you, ${firstName}, for creating an account with our bank!
#end
#else
Please fill the form completely in order to create an account. The minimum amount of cash required to create an account is $50.
#end
#set ($classPK = 0)
#set ($firstName = '')
#set ($lastName = '')
#set ($balance = 0.0)
#elseif ($cmd.equals("delete"))
##
## Delete the specified Row.
##
#if ($classPK > 0)
#set ($V = $expandoRowLocalService.deleteRow($accountsTableName, $accountsTableName, $classPK))
Account deleted!
#set ($classPK = 0)
#end
#elseif ($cmd.equals("edit"))
##
## Edit the specified Row.
##
Editting...
#if ($classPK > 0)
##
## Get the account specific values
##
#set ($firstName = $expandoValueLocalService.getData($accountsTableName, $accountsTableName, "firstName", $classPK, ""))
#set ($lastName = $expandoValueLocalService.getData($accountsTableName, $accountsTableName, "lastName", $classPK, ""))
#set ($balance = $expandoValueLocalService.getData($accountsTableName, $accountsTableName, "balance", $classPK, 0.0))
#end
#end
#if (!$cmd.equals("edit"))
##
## Now we're into the display logic.
##
Account Number
First Name
Last Name
Balance
Modified Date
##
## Get all the current records in our ExpandoTable. We can paginate by passing a
## "begin" and "end" params.
##
#set ($rowsCount = $expandoRowLocalService.getRowsCount($accountsTableName, $accountsTableName))
#set ($rows = $expandoRowLocalService.getRows($accountsTableName, $accountsTableName, -1, -1))
#foreach($row in $rows)
##
## Get the classPK of this row.
##
#set ($currentClassPK = $row.getClassPK())