public static void ShowScheduleByMovieIdAndDatetime(int movie_id, ScheduleBL schechule, string datetime, string datetimeforDatabase) { Console.Clear(); MoviesBL movie = new MoviesBL(); Movies informatin = movie.getMovieById(movie_id); RoomBL room = new RoomBL(); TimeSpan datefortimespan = DateTime.Now.TimeOfDay; DateTime comparedatetime = DateTime.Now; string comparedatetime1 = comparedatetime.ToString($"{comparedatetime:dd/MM/yyyy}"); // Lấy ra lịch chiếu nhờ STT của Ngày chiếu. Console.WriteLine("====================================================================="); Console.WriteLine($"-Chọn Lịch Chiếu Của Phim : {informatin.Name} Ngày {datetime} -"); Console.WriteLine("---------------------------------------------------------------------"); Console.WriteLine("STT | Lịch Chiếu | Phòng | Số ghế còn lại "); Console.WriteLine("---------------------------------------------------------------------"); List <Schedules> demons = schechule.SelectTime(movie_id, datetimeforDatabase); // Lưu tất cả các TimeSpan để so sánh với DateTime.Now.TimeOfDay List <string> list1 = new List <string> (); // List2 để lấy ra các thời gian show ra màn hình. List <string> list2 = new List <string> (); string tym_one = string.Format("{0:D2}:{1:D2}:{2:D2}", datefortimespan.Hours, datefortimespan.Minutes, datefortimespan.Seconds); int count1 = 0; foreach (var item in demons) { string timeText = string.Format("{0:D2}:{1:D2}:{2:D2}", item.Start_time.Hours, item.Start_time.Minutes, item.Start_time.Seconds); list1.Add(timeText); } for (int j = 0; j < demons.Count; j++) { Rooms ro = room.GetRoomById(demons[j].Room_id); string date1 = demons[j].Show_date.ToString($"{demons[j].Show_date:yyyy-MM-dd}"); string timeTe = string.Format("{0:D2}:{1:D2}:{2:D2}", demons[j].Start_time.Hours, demons[j].Start_time.Minutes, demons[j].Start_time.Seconds); // Schedules sche = schechule.SelectTimeBy (demons[j].Movie_id,date1,timeTe); if (comparedatetime1.CompareTo(datetime) == 0) { if (tym_one.CompareTo(list1[j]) < 0) { string start = string.Format("{0:D2}:{1:D2}", demons[j].Start_time.Hours, demons[j].Start_time.Minutes); string end = string.Format("{0:D2}:{1:D2}", demons[j].End_time.Hours, demons[j].End_time.Minutes); count1++; string addtimetolist2 = string.Format("{0:D2}:{1:D2}:{2:D2}", demons[j].Start_time.Hours, demons[j].Start_time.Minutes, demons[j].Start_time.Seconds); list2.Add(addtimetolist2); Schedules sche = schechule.SelectTimeBy(demons[j].Movie_id, date1, timeTe); string[] count = sche.Schedule_room_seat.Trim().Split(";"); string[] seated = count[2].Split(","); string[] chaier = ro.Chaire_not_placed.Split(","); int a = 0; if (seated[0] != "") { a = ro.Number_Of_seats - seated.Length; } else { a = ro.Number_Of_seats; } if (chaier[0] != "") { a = a - chaier.Length; } string format = string.Format($"{count1}. | {start,-5} - {end,-5} | {ro.Name,-10} | {a}"); Console.WriteLine(format); } } else { string start = string.Format("{0:D2}:{1:D2}", demons[j].Start_time.Hours, demons[j].Start_time.Minutes); string end = string.Format("{0:D2}:{1:D2}", demons[j].End_time.Hours, demons[j].End_time.Minutes); count1++; Schedules sche = schechule.SelectTimeBy(demons[j].Movie_id, date1, timeTe); string[] count = sche.Schedule_room_seat.Trim().Split(";"); string[] seated = count[2].Split(","); int a = 0; if (seated[0] != "") { a = ro.Number_Of_seats - seated.Length; } else { a = ro.Number_Of_seats; } string[] chaier = ro.Chaire_not_placed.Split(","); if (chaier[0] != "") { a = a - chaier.Length; } string addtimetolist2 = string.Format("{0:D2}:{1:D2}:{2:D2}", demons[j].Start_time.Hours, demons[j].Start_time.Minutes, demons[j].Start_time.Seconds); list2.Add(addtimetolist2); string format = string.Format($"{count1}. | {start,-5} - {end,-5} | {ro.Name,-10} | {a }"); Console.WriteLine(format); } } Console.WriteLine("---------------------------------------------------------------------"); int number1; Console.WriteLine("0. Quay lại menu chính."); Console.WriteLine("*: Nhập số thứ tự để suất chiếu."); Console.WriteLine("---------------------------------------------------------------------"); Console.Write("#Chọn : "); while (true) { bool isINT = Int32.TryParse(Console.ReadLine(), out number1); if (!isINT) { Console.WriteLine("Bạn vừa nhập sai giá trị, vui lòng nhập lại."); Console.Write("#Chọn: "); } else if (number1 < 0 || number1 > list2.Count) { Console.WriteLine($"Giá trị trong khoảng từ 0 - > { list2.Count }"); Console.Write("#Chọn: "); } else { break; } } if (number1 == 0) { CinemaInterface.Cinema(); } Console.Clear(); Schedules sch = schechule.SelectTimeBy(movie_id, datetimeforDatabase, list2[number1 - 1]); ChoiceMapSeats.MenuChoiceSeats(sch); }
public void HistoryBookingTicket() { ReservationBL reser = new ReservationBL(); // List<Reservation> list = null; try { List <Reservation> list = reser.GetReservationByCustomerId(UserInterface.LoginCinema.GetCustomer().Customer_id); if (list.Count == 0 || list == null) { Console.WriteLine("Bạn chưa có giao dịch nào với Rạp Thế Giới ! Đặt vé ngay bạn yêu nhé."); Console.WriteLine("Nhập <Enter> để trở lại."); Console.ReadLine(); return; } else { Console.Clear(); Console.WriteLine(" Thông tin vé đặt trước "); Console.WriteLine(" _________________________"); Console.WriteLine("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine("STT | Tên Phim | Ngày Chiếu | Số Lượng (V-T) |Giá Tiền "); Console.WriteLine("_____________________________________________________________________________________________"); for (int i = 0; i < list.Count; i++) { ScheduleBL sch = new ScheduleBL(); Schedules schedule = sch.GetScheduleByIdSchedule(list[i].Schedule_id); MoviesBL movie = new MoviesBL(); Movies informatin = movie.getMovieById(schedule.Movie_id); string start1 = string.Format("{0:D2}:{1:D2}", schedule.Start_time.Hours, schedule.Start_time.Minutes); string end1 = string.Format("{0:D2}:{1:D2}", schedule.End_time.Hours, schedule.End_time.Minutes); string time = schedule.Show_date.ToString($"{schedule.Show_date:dd/MM/yyyy}"); string datetime = time + " " + start1 + " - " + end1; string[] a = list[i].Seats.Trim().Split(" "); string format = string.Format($"{i+1,-6}| {informatin.Name,-25}| {datetime,-25}| {CheckCount(a),-18}|{ChoiceMapSeats.Tien (list[i].Price.ToString ()),-9} VND"); Console.WriteLine(format); Console.WriteLine(""); } Console.WriteLine("_____________________________________________________________________________________________"); Console.WriteLine("\n\n\n0. Quay lại."); Console.WriteLine("*: Nhập số thứ tự để xem chi tiết vé ."); Console.WriteLine("---------------------------------------------------------------------------------------------"); Console.Write("#Chọn : "); int number; while (true) { bool isINT = Int32.TryParse(Console.ReadLine(), out number); if (!isINT) { Console.WriteLine("Giá trị sai vui lòng nhập lại. "); Console.Write("#Chọn: "); } else if (number < 0 || number > list.Count) { Console.WriteLine($"Giá trị sai vui lòng nhập lại 0 -> {list.Count}."); Console.Write("#Chọn : "); } else { break; } } if (number == 0) { return; } ChoiceMapSeats.InformationTickets(list[number - 1], 1); Console.Write(" Nhập <Enter> để trở lại."); Console.ReadLine(); return; } } catch (System.Exception) { List <Reservation> list = reser.GetReservationByCustomerId(Login.GetCustomer1().Customer_id); if (list.Count == 0 || list == null) { Console.WriteLine("Bạn chưa có giao dịch nào với Rạp Thế Giới ! Đặt vé ngay bạn yêu nhé."); Console.WriteLine("Nhập <Enter> để trở lại."); Console.ReadLine(); return; } else { Console.Clear(); Console.WriteLine(" Thông tin vé đặt trước "); Console.WriteLine(" _________________________"); Console.WriteLine("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine("STT | Tên Phim | Ngày Chiếu | Số Lượng (V-T) |Giá Tiền "); Console.WriteLine("_____________________________________________________________________________________________"); for (int i = 0; i < list.Count; i++) { ScheduleBL sch = new ScheduleBL(); Schedules schedule = sch.GetScheduleByIdSchedule(list[i].Schedule_id); MoviesBL movie = new MoviesBL(); Movies informatin = movie.getMovieById(schedule.Movie_id); string start1 = string.Format("{0:D2}:{1:D2}", schedule.Start_time.Hours, schedule.Start_time.Minutes); string end1 = string.Format("{0:D2}:{1:D2}", schedule.End_time.Hours, schedule.End_time.Minutes); string time = schedule.Show_date.ToString($"{schedule.Show_date:dd/MM/yyyy}"); string datetime = time + " " + start1 + " - " + end1; string[] a = list[i].Seats.Trim().Split(" "); string format = string.Format($"{i+1,-6}| {informatin.Name,-25}| {datetime,-25}| {CheckCount(a),-18}|{ChoiceMapSeats.Tien (list[i].Price.ToString ()),-9} VND"); Console.WriteLine(format); Console.WriteLine(""); } Console.WriteLine("_____________________________________________________________________________________________"); Console.WriteLine("\n\n\n0. Quay lại."); Console.WriteLine("*: Nhập số thứ tự để xem chi tiết vé ."); Console.WriteLine("---------------------------------------------------------------------------------------------"); Console.Write("#Chọn : "); int number; while (true) { bool isINT = Int32.TryParse(Console.ReadLine(), out number); if (!isINT) { Console.WriteLine("Giá trị sai vui lòng nhập lại. "); Console.Write("#Chọn: "); } else if (number < 0 || number > list.Count) { Console.WriteLine($"Giá trị sai vui lòng nhập lại 0 -> {list.Count}."); Console.Write("#Chọn : "); } else { break; } } if (number == 0) { return; } ChoiceMapSeats.InformationTickets(list[number - 1], 1); Console.Write(" Nhập <Enter> để trở lại."); Console.ReadLine(); return; } } }