

(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에 나오도록 설정하였다.
GetProductionTalent | GetCastAndCrew |
|---|
필터조건은 다음과 같이 설정해주었는데, Label의 정보에 따라 다른 정보가 나타나도록 하였다.
또한 개별 MovieDetails화면에서 특정 Movie에 포함된 Person의 정보가 나와야하기 때문에 MovieId의 정보를 함께 Filter로 지정해주었다.
+ 추가로 나는 데이터가 없는데 Container가 나타나는게 싫어서....ㅎ
![]() | 이렇게 if 조건을 걸어주었다. 조건문 안에 Count를 넣어서 count가 0이상일 때에만 리스트가 나타날 수 있도록 작성하였고, 그렇지 않으면 리스트 자체가 생성되지 않도록 하였다. |
|---|