<cfparam
name="ARGUMENTS.Data.Form.photo_id"
type="numeric"
default="0"
/>
<cfparam
name="ARGUMENTS.Data.Form.comment"
type="string"
default=""
/>
<cfset LOCAL.Comment = ARGUMENTS.Data.Cache.Factory
.Get( "CommentService" )
.New()
/>
<cfset LOCAL.Comment.SetComment( ARGUMENTS.Data.Form.comment ) />
<cftry>
<cfset LOCAL.Comment.SetPhoto(
ARGUMENTS.Data.Cache.Factory
.Get( "PhotoService" )
.Load( ARGUMENTS.Data.Form.photo_id )
) />
<cfcatch>
</cfcatch>
</cftry>
<cfset LOCAL.ValidationErrors = LOCAL.Comment.Validate() />
<cfif StructCount( LOCAL.ValidationErrors )>
<cfif StructKeyExists( LOCAL.ValidationErrors, "Photo" )>
<cfset ArrayAppend(
ARGUMENTS.Data.APIResult.Errors,
"The selected photo could not be found"
) />
</cfif>
<cfif StructKeyExists( LOCAL.ValidationErrors, "Comment" )>
<cfset ArrayAppend(
ARGUMENTS.Data.APIResult.Errors,
"Please enter your comment"
) />
</cfif>
<cfset ARGUMENTS.Data.APIResult.Success = false />
<cfelse>
<cfset ARGUMENTS.Data.Cache.Factory
.Get( "CommentService" )
.SaveWithTransaction( LOCAL.Comment )
/>
<cfset ARGUMENTS.Data.APIResult.Data = LOCAL.Comment.GetID() />
</cfif>