Movies Assignment Step 7.2

Movies Assignment Step 7.2

  

Hi,

Like others i got stuck on step 7.2 of the Movies Assignment.
I don't know how to proceed in creating the content of the SessionsPerDay block. I mean this part:

In the Content placeholder, we want to display all the available Movie Sessions for that particular day.

From this point on, i don't understand how to proceed correctly. I know how to create a block, but i don't understand how to correctly fill it with values. I went all the way to: "We also need to add an Event to the Block called SelectSessionEvent with an Input Parameter named MovieSessionId" but in the end i just get these warnings, that i attach to this post (warnings.jpg).

I don't understand how to use, for example, CinemaId and MovieId input parameters in the SessionPerDay block.

I got stuck before in the assignment, which is normal, but i managed to solve the problems by myself by reading again some PDFs in "Developing Mobile Apps" course. This time i have no clue...

Can someone point me in the right direction?

Is there a Movies app that's been completed so i can see how to proceed?

Thank you

Hi,

About a completed app, you can always use the next lesson material where you get the previous lesson exercise done.

Bruno Fonte wrote:

Hi,

About a completed app, you can always use the next lesson material where you get the previous lesson exercise done.

Yes, but the thing is that there's no other lesson after the "Movie Assignment"... it's like the "final exam".


Sorry, I was on the wrong impression you were referring to the OSMDB from another course.

Meanwhile, I found this on the Forge: https://www.outsystems.com/forge/2116/

It seems to be exactly what you are looking for. 

Thank you, Bruno, i'll have a look at it!

Up! same question bro, also stuck on that step

Hi Michael,

For your SessionsPerDay Block you would receive the CinemaId, MovieId and SessionDay (a Date). You would fetch the list of MovieSessions (for that Movie in that Cinema) filtered by the Date portion, and display only the Time portion in a List. The event the project mentions is needed because your Block needs to inform its parent about the selected MovieSession.

The warnings you see are because you're not using your inputs and because this is actually not a best practice in terms of performance, as you will be hitting the server database multiple times, but for the exercise that will not be a relevant issue.

Hi Jorge,


It's quite confusing on the event part how will I able to do that?


Thanks

Michael,

I'd suggest you go through the presentation and exercise on Blocks again ;) there's a nice set of instructions and details on defining events and generating them in your Blocks. Think of these as the outputs of your Block (since they cannot have Output Parameters).

You will want to generate an event when the user selects (touches) a particular movie session time, similar to what was done with the priorities and star of the ToDo block.

How to do next part  7.3

where to create MovieSessionId Local Variable on Buy screen or on web block

Hi Pavan,

You should create a Local Variable named SelectedMovieSessionId in the BuyTicket Screen (as stated at the beginning of 7.2).

In the Event Handler for SelectedSessionEvent you should assign to the SelectedMovieSessionId screen local variable the value of the MovieSessionId (input parameter of the Event Handler).

Then in 7.3 you can use SelectedMovieSessionId in the If condition to determine if the user has already selected a movie session or not.

 yes that part is working but after that how to display the seats 

The exercise's suggestion is you use a Block to display the seats in one row (a simple List with a BottomBarItem as its content), and then display a List of rows, where each row would be displayed by the previously created block. So, on your Screen you'd get an aggregate to return the list of rows of seats, that you would bind to a List. Inside that List you'd place your Block, not forgetting to pass in the Row that you want to display.

I find it is simpler (although less flexible) to use a Gallery pattern. On your Screen you'd add an Aggregate that returns the seats for that MovieSession (don't forget info on whether they're empty or not) and use that as the source for the List inside the Gallery. You just need to make sure to assign the number of columns for the Gallery (should correspond to how many seats are there in a row, and this is were this approach is less flexible: all rows will need to have the same number of seats).

Hi, Pavan:

1. As suggested in the assignment, create a block "Seats" of five seats (a row) - sorry cannot find seat icon in the Studio: 


2. In the BuyTicket that use that block above, just select seats join with tickets... and group by row...

3. So we can pass the row to the block and statically add col1, col2, col3, col4, col5 to the expression:

A1, A2, A3, etc.. the expression can be rowNo + "1"...etc..


4. That's it the basic...the rest will be intuitively smooth..

Here my result:

for 7.2 may be this link is helpful:

https://www.outsystems.com/forums/discussion/33983/re-movie-app-step-7-2/

regards,

indra