コード例 #1
0
        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();
                }
            }
        }