private void btnSend_Click(object sender, EventArgs e)      //계좌이체 버튼 클릭
        {
            if (txtAmountOfSending.TextLength < 1 || InputAcc.Length < 1 || cbxOutAcc.SelectedItem.ToString().Length < 1 || txtOutPwd.TextLength < 1)
            {
                MessageBox.Show("필수 입력 항목들은 꼭 입력해주셔야합니다.");
                return;
            }

            //계좌에 남아있는 잔액보다 큰 돈은 보낼 수 없게 체크
            DataTable dt3 = db.GetCurrentMoney(cbxOutAcc.Text);

            if (dt3 != null)
            {       //출금 계좌 잔액에서 이체 금액을 뺀 값이 0보다 작을 경우
                if ((Convert.ToInt32(dt3.Rows[0][0].ToString()) - Convert.ToInt32(txtAmountOfSending.Text)) < 0)
                {
                    MessageBox.Show("계좌 잔액보다 큰 금액은 보낼 수 없습니다.");
                    return;
                }
            }
            else
            {
                MessageBox.Show("출금 계좌의 잔액에 관한 자료를 가져오지 못했습니다.");
                return;
            }
            //내 계좌(일반 > 일반)으로 보내는 경우
            if (cbxOutAcc.Text == InputAcc)
            {
                MessageBox.Show("같은 계좌로 보낼 수는 없습니다.");
                return;
            }
            //내 계좌(예금, 적금)로 보내는 경우
            //이 때도 출금계좌 유효성 체크하자
            if (MyAccountSending.Length > 0)     //내 계좌 항목(예금, 적금)을 선택시 입금계좌 입력 항목을 비게 코딩했음
            {
                ReceiverName = $"{CustomerName}";
                if (MessageBox.Show($@"받으시는 분의 성함이 맞습니까?  
                                                         입금주명 : {ReceiverName}
                                                         입금 계좌 : {InputAcc}",
                                    "이체 정보 확인", (MessageBoxButtons.YesNo)) == DialogResult.Yes)
                {
                    frmSending2 frm = new frmSending2(SendingInfo, MyAccountSending);
                    frm.Show();
                    frm.Activate();
                }
            }
            else
            {
                //내 계좌가 아닌 다른 사람의 일반 계좌로 보내는 경우


                if (MessageBox.Show("입력하신 정보가 맞습니까?", "최종 확인", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    //일반 계좌 db들어가서 입금계좌 정보에 해당하는 고객정보가져오라
                    NormalAccountDB db  = new NormalAccountDB();
                    DataTable       dt2 = db.GetNormalAccountData(InputAcc.Trim().Replace(" ", ""));

                    if (dt2 == null)
                    {
                        MessageBox.Show("해당 입금 계좌가 존재하지 않습니다.\n입금 계좌 정보를 다시 한 번 확인해주세요.");
                        return;
                    }
                    else
                    {
                        ReceiverName = dt2.Rows[0]["CustomerName"].ToString();                          //결과가 뭐라도 나왔으니 수신인 이름에 값을 준다

                        if (db.GetEveryData(cbxOutAcc.SelectedItem.ToString(), txtOutPwd.Text) == null) //출금 계좌 유효성 체크
                        {
                            MessageBox.Show("출금 계좌의 정보를 다시 한 번 확인해주세요.");
                            return;
                        }
                        if (MessageBox.Show($@"받으시는 분의 성함이 맞습니까?  
                                                         입금주명 : {ReceiverName}
                                                         입금 계좌 : {InputAcc}",
                                            "이체 정보 확인", (MessageBoxButtons.YesNo)) == DialogResult.Yes)
                        {
                            frmSending2 frm = new frmSending2(SendingInfo);
                            frm.Show();
                            frm.Activate();
                        }
                    }
                }
            }
        }
        private void btnNewAccount_Click(object sender, EventArgs e)        //계좌 생성 버튼 클릭
        {
            //출금 계좌와 신규 계좌 비밀번호들이 4자리가 아닐 때

            if (cbxKindOfAccount.SelectedItem.ToString().Length < 1)        //계좌 종류 반드시 선택하게하기
            {
                MessageBox.Show("계좌의 종류는 반드시 선택해주셔야합니다.");
                return;
            }
            if (txtNewPwd.Text.Length < 1 || txtCheckNewPwd.Text.Length < 1)        //신규 계좌 정보 꼭 입력하게 하기
            {
                MessageBox.Show("신규 계좌 정보는 반드시 입력해주셔야합니다.");
                return;
            }
            if (cbxKindOfAccount.SelectedItem.ToString() == "일반 계좌")
            {
                if (txtNewPwd.Text.Length != 4)
                {
                    MessageBox.Show("계좌의 비밀번호들은 4자리여야만 합니다.");
                    return;
                }
            }
            else
            {
                if (txtOutPwd.TextLength != 4 || txtNewPwd.Text.Length != 4)
                {
                    MessageBox.Show("계좌의 비밀번호들은 4자리여야만 합니다.");
                    return;
                }
            }

            if (cbxKindOfAccount.SelectedItem.ToString() == "일반 계좌")
            {
                //일반 계좌에 연결
                NormalAccountDB db = new NormalAccountDB();

                if (!db.Insert(accountinfo))
                {
                    MessageBox.Show("실행 도중 오류가 발생하였습니다.");
                    return;
                }
                db.Dispose();
            }
            else if (cbxKindOfAccount.SelectedItem.ToString() == "예금 계좌")
            {
                //가입기간, 출금계좌, 비번, 예치금 입력여부 체크
                if (cbxduration.Text.Length < 1 || txtOutAccount.Text.Length < 1 || txtOutPwd.Text.Length < 1 || txtAmountOfDeposit.Text.Length < 1)
                {
                    MessageBox.Show(@"예금 계좌의 경우 가입 기간, 출금계좌, 
                                     출금계좌의 비밀번호,예치금은 필수 입력입니다.");
                    return;
                }

                //출금 계좌와 비번이 맞는지 확인하는 함수 호출
                if (!CheckOutAccount())
                {
                    return;
                }

                //현재 일반 계좌에서 해당 에치금을 보낼 수 있는지 부터 체크
                NormalAccountDB n            = new NormalAccountDB();
                DataTable       dt           = n.GetCurrentMoney(txtOutAccount.Text);
                string          currentMoney = dt.Rows[0][0].ToString();                      //현재 일반계좌 잔액
                if (Convert.ToInt32(currentMoney) < Convert.ToInt32(txtAmountOfDeposit.Text)) //예치금이 잔액보다 크면 걸러내기
                {
                    MessageBox.Show("출금 계좌의 잔액보다 많은 금액은 예금할 수 없습니다.");
                    return;
                }
                if (!n.UpdateSender(txtAmountOfDeposit.Text, txtOutAccount.Text))
                {
                    MessageBox.Show("실행 도중 오류가 발생하였습니다.");
                }


                //내가 내 계좌내에 보낸 것도 이체 내역에 저장할까?? 고민중
                //예금 계좌에 연결
                DepositAccountDB db = new DepositAccountDB();
                if (!db.Insert(depositInfo))
                {
                    MessageBox.Show("실행 도중 오류가 발생하였습니다.");
                    return;
                }
                db.Dispose();
            }
            else if (cbxKindOfAccount.SelectedItem.ToString() == "적금 계좌")
            {
                //가입기간, 매회 납입금액, 출금 계좌, 비번 체크
                if (cbxduration.Text.Length < 1 || txtpayPerMonth.Text.Length < 1 ||
                    txtOutAccount.Text.Length < 1 || txtOutPwd.Text.Length < 1)
                {
                    MessageBox.Show(@"적금 계좌의 경우 가입 기간, 매회 납입 금액, 출금계좌, 
                                     출금계좌의 비밀번호는 필수 입력입니다.");
                    return;
                }

                if (!CheckOutAccount())      //출금 계좌와 비번이 맞는지 확인하는 함수 호출
                {
                    return;
                }
                //적금 계좌에 연결
                SavingDB db = new SavingDB();

                if (!db.Insert(savingInfo))
                {
                    MessageBox.Show("실행 도중 오류가 발생하였습니다.");
                    return;
                }
                db.Dispose();
            }
            else
            {
                MessageBox.Show("반드시 계좌 종류를 선택하셔야합니다.");
                return;
            }

            MessageBox.Show("계좌 생성이 완료되었습니다.");
            this.Close();
        }