I was able to answer my own questions after fiddling around for a
while.

Thanks in Advance,

Cliff

On Aug 25, 11:16 am, Clifford Moon <[email protected]> wrote:
> Dennis,
>
> Forgive my stupidity, but in the above explanation, you mentioned
>
> Ideally the code that actually does the <cfmail> will be in a service CFC
> retrieved from ColdSpring, e.g. getModelGlue().getBean( "EmailService").
>
> I understand how to setup the bean in Coldspring, and assume I know how to
> create the .cfc that needs to send out the emails, but how do I call those
> components from my controller.  I guess the crux of it is that I havent done
> any OOP, and dont understand exactly what is going on by actually creating
> the bean (it's purpose and utilization).  I've done a lot of searching, but
> havent found anything that really points to how to utilize the CFC service.
>  Do you have any links to Model Glue tutotials that reference using Beans.
>
> Any further help is greatly appreciated.
>
> Thanks in Advance,
>
> Cliff
>
>
>
> On Tue, Aug 24, 2010 at 9:03 PM, Dennis Clark <[email protected]> wrote:
> > Hi Clifford,
>
> > There are many different ways to go about this, with many variations. I
> > will give just one approach.
>
> > If you need to tell whether a save was an update or a create, I suggest
> > modifying the saveHonors() method to return a value that indicates this.
> > For example:
>
> >        <cffunction name="saveHonors" access="public" returntype="boolean"
> > output="false" hint="Return true if create, false if update">
>
> >                <cfargument name="Honors" type="any" required="true"/>
>
> >                <cfif val( Honors.getID() ) GT 0 ><!--- Update --->
> >                        <cfset getHonorsDAO().update( arguments.Honors ) />
> >                        <cfreturn false />
> >                <cfelse><!--- Insert --->
> >                        <cfset getHonorsDAO().create( arguments.Honors ) />
> >                        <cfreturn true />
> >                </cfif>
> >   </cffunction>
>
> > Next, modify your HonorsFormSubmitted method to record the save status and
> > the saved HonorsBean into the event context:
>
> >                <cfset var HonorsCreated = "" />
> >                <cfif isValid >
> >                        <cfset HonorsCreated = HonorsService.saveHonors(
> > HonorsBean ) />
> >                        <cfset
> > arguments.event.setValue("HonorsCreated", HonorsCreated ) />
> >                        <cfset
> > arguments.event.setValue("HonorsBean", HonorsBean ) />
>
> >                        <cfset arguments.event.addResult("Success") />
> >                <cfelse>
> >                        <cfset arguments.event.setValue("ErrorStruct",
> > ErrorStruct) />
> >                        <cfset arguments.event.addResult("Failure") />
> >                </cfif>
>
> > Now, define a controller method called "emailSavedHonors" that uses
> > arguments.event.getValue("HonorsBean")
> > and arguments.event.getValue("HonorsCreated")  to generate an email. Ideally
> > the code that actually does the <cfmail> will be in a service CFC retrieved
> > from ColdSpring, e.g. getModelGlue().getBean( "EmailService"). Remember to
> > define an <message-listener> for the controller method.
>
> > Next, define a private event handler to broadcast the new message:
>
> >        <event-handler name="EmailSavedHonors" access="private">
> >                        <broadcasts>
> >                                <message name= "emailSavedHonors" />
> >                        </broadcasts>
> >        </event-handler>
>
> > Finally, add a result to your existing event handlers to queue this new
> > event on success:
>
> >        <event-handler name="SubmitHighSchoolFormData" type="templatedPage">
> >                        <broadcasts>
> >                                <message name= "HonorsFormSubmitted" />
> >                        </broadcasts>
> >                        <results>
> >                                 <result name="success" do="E
> > mailSavedHonors" />
>
> >                                <result name="success"
> > do="HighSchoolApplicationResponse" />
> >                                <result name="failure" do="highschool" />
> >                        </results>
> >        </event-handler>
>
> > With all that in place, your HonorsFormSubmitted controller method should
> > put all the data needed for emailing into the event context, and the event
> > handler should queue one event to send the email and another event to return
> > a response to the client.
>
> > We'll be here if you have any further questions. Good luck!
>
> > -- Dennis
>
> > On Tue, Aug 24, 2010 at 5:36 PM, Clifford Moon 
> > <[email protected]>wrote:
>
> >> Greetings,
>
> >> I'm working on our first ModelGlue app, and have modeled it pretty
> >> much identical to the tutorial that Dan has on the NoDans.com
> >> website.  I'm saving a form using the controller.cfc, and utilizing
> >> Service/Gateway/DAO breakdown as was setup in the tutorial.  Here is a
> >> snippet of the controller.cfc code where I'm actually saving the form.
> >>        <cffunction name="HonorsFormSubmitted"  access="public"
> >> returnType="void" output="false" hint="???">
> >>        <cfargument name="event" type="any">
> >>                <cfset var HonorsBean =
> >> getModelGlue().getBean("HonorsBean") /
>
> >>        <cfset var HonorsService =
> >> getModelGlue().getBean( "HonorsService") />
> >>            <cfset var HonorsList = HonorsService.getHonorsListActive() />
> >>                <cfset var ErrorStruct = structNew() />
> >>                <cfset var isValid = false />
>
> >>                <cfset arguments.event.makeEventBean( HonorsBean ) />
> >>                <cfset isValid = HonorsBean.validate (ErrorStruct) />
>
> >>                <cfif isValid >
> >>                    <cfset HonorsService.saveHonors( HonorsBean ) />
> >>                        <cfset arguments.event.addResult("Success") />
> >>                <cfelse>
> >>                        <cfset arguments.event.setValue("ErrorStruct",
> >> ErrorStruct) />
> >>                        <cfset arguments.event.addResult("Failure") />
> >>                </cfif>
>
> >>        </cffunction>
>
> >> My Issue is that after I save this form, I need to email several
> >> individuals various files/data that they will need.  If the data
> >> validates and then saves, I'm confused how to get the ID of the record
> >> that was just saved, and where I need to place the call to the EMAIL
> >> function.  We are using an Oracle Database for this application.
> >> Should the call to EMAIL be in the isValid CFIF above, and if so, how
> >> do I pass something back from the DAO file that can tell me that it
> >> was CREATED and not UPDATED.
>
> >> Hope I haven't confused anyone, and thanks in Advance for any help.
> >> I'm still floundering with the ModelGlue concepts, but reading the
> >> tutorials and newsgroups have given us lots of help.
>
> >> I'm including the BEAN, DAO, GW,MODELGLUE.XML and SERVICE Files in
> >> case they are needed..
>
> >>  --
> > Model-Glue Sites:
> > Home Page:http://www.model-glue.com
> > Documentation:http://docs.model-glue.com
> > Bug Tracker:http://bugs.model-glue.com
> > Blog:http://www.model-glue.com/blog
>
> > You received this message because you are subscribed to the Google
> > Groups "model-glue" group.
> > To post to this group, send email to [email protected]
> > To unsubscribe from this group, send email to
> > [email protected]<model-glue%2bunsubscr...@googlegrou 
> > ps.com>
> > For more options, visit this group at
> >http://groups.google.com/group/model-glue?hl=en

-- 
Model-Glue Sites:
Home Page: http://www.model-glue.com
Documentation: http://docs.model-glue.com
Bug Tracker: http://bugs.model-glue.com
Blog: http://www.model-glue.com/blog

You received this message because you are subscribed to the Google
Groups "model-glue" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/model-glue?hl=en

Reply via email to