1.제목을 먼저 누르고 지점을 눌렀을 때를 생각해보자, 영화 제목을 눌렀을 때 그 영화를 상영하고 있는 지점들이 먼저 처리될 것이고 그 이후에 지점을 눌렀을 때 그 지점에서 상영 중인 영화들로 바뀔 것이다.
= 내가 설계한 sql =
제목값이 들어가있는 상태에서 극장을 눌렀을 때 / 극장 값을 넣고 subject를 새로 불러오는 것인데
체크되어있는 subject의 값은 class로 체크 표시를 그대로 유지하고, 상영을 하지 않는 영화는 순번을 밑으로 내려서 블러처리를 해야 된다.
이 고민을 정말 많이 했었는데, 내가 아직 미숙한 탓에 깔끔한 코드로 구현하지 못했다. ( 내가 생각한 내용 )
A , B , C 영화가 있다고 하면 / A를 눌렀을 때 / 1 , 2 , 3 , 4 , 5 극장이 나오고
1 극장을 눌렀을 때 / A영화가 체크되어 있는 상태에서 B , C 영화는 블러처리를 한다.
처음에는 ListSet을 이용해서 모든 제목 정보를 중복값 없이 새로 저장해서 어떻게 출력할까 이런 식으로 고민했었는데
최종 결론은 맨 처음에 기본적으로 모든 제목 정보를 출력했던 그 값이랑 내가 극장 정보를 넣었을 때 값을 비교해서
하나 하나 손수 작업으로 진행하는 방법으로 코딩을했다.
내가 최대로 생각할 수 있는 부분까지 끌어올린 것인데, 극장 값이 담긴 list와 subjectList를 2중 for문으로 비교,
그 중에 내가 지금 입력 받은 제목값과 list에 있는 제목값이 동일하면 class를 넣어서 체크되어있게 만들고
그렇지 않은 값 중에 subjectList와 list를 비교해서 같은 값이 있으면 선택할 수 있게 생성한다. (msg값에 다 담는다)
testList1이라는 새로운 ArrayList를 만들어서 subjectList와 list의 값이 같을 때 그 제목 값을 testList1에 저장한다.
그 저장된 값을 기준으로 극장에서 상영하지 않는 영화들을 블러처리 할 것이다.
그 과정 ->
testList1에 담긴 값이 subjectList에 없는 값을 따로 빼서 msg2에 블러처리한 class를 담고 생성한다.
그리고 msg , msg2를 합치면 CGV에서 구현했던 것을 그대로 할 수 있다.
이런식으로 bye를 체크한 상태에서 gangnam을 눌렀을 때,
gangnam에서 상영 중인 영화가 아닌 것을 블러처리 시키고 bye는 그대로 체크되어있다.
그리고 그 값에 맞게 날짜도 불러왔다.
코드가 너무 지저분하고 효율적인 방법으로는 못했지만 , 최대한 구현에 초점을 맞추었다.
프로젝트가 종료되고, 더 공부를해서 리팩토링 할 것이다.
'파이널 프로젝트' 카테고리의 다른 글
변수 이름에 자료형 사용X subjectList처럼 이렇게 사용X (0) | 2022.11.09 |
---|---|
내 생각대로 새로 짠 영화관 ( 좌석 , 관 설계 ) - 구현에만 집중 (0) | 2022.11.02 |
4)영화관 만들기 - 예매,극장 페이지 구현 중 - date타입 에러! (0) | 2022.10.23 |
2)영화관 만들기 - 예매 페이지 구현 과정(자바스크립트 사용) (0) | 2022.10.17 |
1)영화관 만들기 - 예매 페이지 구현 과정(DB설계 후,페이지만들기) (1) | 2022.10.15 |