OutSystems - 4 영화 관리 프로그램 A

졍잉·2025년 1월 22일
post-thumbnail


(ERD 설계)

현재 만들고 있는 MovieProject는 자동화 관계에 대한 이해를 높이는 코드를 활용하여 진행되고 있다.

기존의 MovieDetails 화면에서 Movie와 관련된 Role을 가진 사람을 추가할 수 있는
Add Crew 버튼을 만들고 실제로 추가되도록 하였다.

내가 생성한 PersonMovieRole Entity는 Attribute가 다른 Entity와 Reference 관계에 있기 때문에 Entity 관계를 잘 정의하는 것이 중요하다.


여기는 Save 버튼을 눌렀을 때 실행되는 동작이 정의된 스크린이다.
MovieId를 가져오는 부분이 가장 헷갈렸는데, 설정한 화면에 들어오는 list에 뿌려진 값에서 MovieId를 Assignment로 지정되어야 원하는 값을 MoviePersonRoleId에 설정해줄 수 있다.


위의 SavePersonMovieRole은 다음과 같은 과정으로 정의되었다.
Core에서 Save하는 로직을 정의하고 이를 Public 설정 해주는 과정에서 Main에서 Function을 사용할 수 있게 되었다. (Output Parameter로 Id를 반환하도록 하였음)

따라서 새로 정보를 Create를 할 때 필요한 정보는 MovieId, PersonRoleId, PersonId 이렇게 세개이지만,
MovieDetails 화면에서 AddCrew 화면으로 넘어올 때 MovieId값이 자동으로 넘어오게 설정하였으므로 MovieId를 제외한 나머지 속성만 화면에 표시되고 선택하여 저장하도록 하였다.

저장된 정보는 다음과 같이 MovieDetails 화면 밑에 나타나도록 하였는데,
각 Producer와 Director/ Actor와 Crew로 나누어서 List에 나오도록 설정하였다.

GetProductionTalentGetCastAndCrew

필터조건은 다음과 같이 설정해주었는데, Label의 정보에 따라 다른 정보가 나타나도록 하였다.
또한 개별 MovieDetails화면에서 특정 Movie에 포함된 Person의 정보가 나와야하기 때문에 MovieId의 정보를 함께 Filter로 지정해주었다.



+ 추가로 나는 데이터가 없는데 Container가 나타나는게 싫어서....ㅎ

이렇게 if 조건을 걸어주었다.
조건문 안에 Count를 넣어서 count가 0이상일 때에만 리스트가 나타날 수 있도록 작성하였고,
그렇지 않으면 리스트 자체가 생성되지 않도록 하였다.
profile
군계일학으로 살아남기

0개의 댓글