private void Reserve(object sender, RoutedEventArgs e) { if (calendar.SelectedDate == null) { MessageBox.Show("날짜를 선택해 주세요", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (!timeSelectControl.HasSeletedTime()) { MessageBox.Show("시간을 선택해 주세요", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (!classroomSelectControl.HasSelectedClassroom()) { MessageBox.Show("강의실을 선택해 주세요", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (nameTextBox.Text.Equals("")) { MessageBox.Show("이름을 입력해 주세요", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (nameTextBox.Text.Length > 100) { MessageBox.Show("이름은 100자를 넘을 수 없습니다", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (Essential.hasSpecialChar(nameTextBox.Text)) { MessageBox.Show("이름에 특수문자(\" \' ; : \\ / + = * # |)및 query구문(union, select 등)을 넣을 수 없습니다", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (numberTextBox.Text.Equals("")) { MessageBox.Show("연락처를 입력해 주세요", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (numberTextBox.Text.Length > 100) { MessageBox.Show("연락처는 100자를 넘을 수 없습니다", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (Essential.hasSpecialChar(numberTextBox.Text)) { MessageBox.Show("연락처에 특수문자(\" \' ; : \\ / + = * # |)및 query구문(union, select 등)을 넣을 수 없습니다", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (contentTextBox.Text.Equals("")) { MessageBox.Show("예약 내용을 입력해 주세요", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (contentTextBox.Text.Length > 1000) { MessageBox.Show("예약 내용은 1000자를 넘을 수 없습니다", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (Essential.hasSpecialChar(contentTextBox.Text)) { MessageBox.Show("예약 내용에 특수문자(\" \' ; : \\ / + = * # |)및 query구문(union, select 등)을 넣을 수 없습니다", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (passwordTextBox.Password.Equals("")) { MessageBox.Show("비밀번호을 입력해 주세요", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (passwordTextBox.Password.Length > 100) { MessageBox.Show("비밀번호는 100자를 넘을 수 없습니다", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (Essential.hasSpecialChar(passwordTextBox.Password)) { MessageBox.Show("비밀번호에 특수문자(\" \' ; : \\ / + = * # |)및 query구문(union, select 등)을 넣을 수 없습니다", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (Essential.hasKorean(passwordTextBox.Password)) { MessageBox.Show("비밀번호에 한글을 넣을 수 없습니다", "예약 불가", MessageBoxButton.OK, MessageBoxImage.Warning); } else { DateTime startDate = calendar.SelectedDates[0]; DateTime endDate = calendar.SelectedDates[calendar.SelectedDates.Count - 1]; int[] time = timeSelectControl.GetSelectedTime(); string classroom = classroomSelectControl.GetSelectedClassroom(); string name = nameTextBox.Text; string contact = numberTextBox.Text; string content = contentTextBox.Text; string password = LoginClient.EncryptString(passwordTextBox.Password); Logger.logNext(passwordTextBox.Password); item = new ReservationItem(startDate, endDate, time[0], time[1], classroom, name, contact, content, password); MessageBoxResult result = MessageBox.Show(item.ToString() + "이 맞습니까?", "예약 하기", MessageBoxButton.YesNo, MessageBoxImage.Information); if (result == MessageBoxResult.Yes) { overlapAll.Visibility = Visibility.Visible; BackgroundWorker _backgroundWorker = new BackgroundWorker(); _backgroundWorker.DoWork += _backgroundWorker_DoWork; _backgroundWorker.RunWorkerCompleted += _backgroundWorker_RunWorkerCompleted; _backgroundWorker.RunWorkerAsync(); } } }