private void btnDeposit_Click(object sender, EventArgs e) //예금 계좌 조회 { dgvMember2.Columns.Clear(); CommonUtil.AddGridTextColumn(dgvMember2, "계좌 번호", "DAccountNum", 120); CommonUtil.AddGridTextColumn(dgvMember2, "생성 날짜", "DateCreated", 120); CommonUtil.AddGridTextColumn(dgvMember2, "고객 번호", "CustomerNum"); CommonUtil.AddGridTextColumn(dgvMember2, "고객 이름", "CustomerName"); CommonUtil.AddGridTextColumn(dgvMember2, "계좌 종류", "KindOfAcc"); CommonUtil.AddGridTextColumn(dgvMember2, "예금액", "AmountOfDeposit"); CommonUtil.AddGridTextColumn(dgvMember2, "출금 계좌", "OutAccount"); CommonUtil.AddGridTextColumn(dgvMember2, "출금 계좌 비밀번호", "OutAccountPwd", 150); CommonUtil.AddGridTextColumn(dgvMember2, "비밀번호", "NewPwd"); CommonUtil.AddGridTextColumn(dgvMember2, "현재 잔액", "CurrentMoney"); CommonUtil.AddGridTextColumn(dgvMember2, "가입 기간", "Duration"); try { DepositAccountDB db = new DepositAccountDB(); DataTable dt = db.GetEveryData(CustomerNum); if (dt != null) { dgvMember2.DataSource = dt; } db.Dispose(); } catch (Exception) { MessageBox.Show("계좌 조회에 실패했습니다."); } }
private void btndepositExtension_Click(object sender, EventArgs e) { //데이터그리드 뷰에서 연장할 예금을 꼭 클릭하게 하기 if (dgvMemver.SelectedRows.Count < 1) { MessageBox.Show("반드시 위의 만기 예정 목록에서 하나를 더블클릭해주세요."); return; } //연장 기간을 꼭 선택하게 체크 if (cbxduration.Text.Length < 1) { MessageBox.Show("연장할 기간은 꼭 선택해주셔야합니다."); return; } DepositAccountDB db = new DepositAccountDB(); if (!db.Update(depositInfoForExtension)) { MessageBox.Show("예금 연장에 실패하였습니다."); return; } MessageBox.Show("성공적으로 예금 기간을 연장하였습니다."); db.Dispose(); this.Close(); }
private void frmMain_Activated(object sender, EventArgs e) //메세지 띄우기, 적금이나 예금 만기 한 달 전일 떄 안내 메세지가 팝업 되게 하기 { //적금이나 예금 만기 한 달 전일 떄 안내 메세지가 팝업 되게 하기 //이 때 선택이 예 이면 각 계좌에서 일반 계좌로 돈을 쏘게 하고, 아니요이면 연장 시키기 //예금 만기 한달 전일 때 DepositAccountDB dp = new DepositAccountDB(); dt = dp.GetExpireData(CustomerNum); if (dt != null) { for (int i = 0; i < dt.Rows.Count; i++) { //만기 한달 전인 예금을 현재 날짜와 비교하여 알려주기 if ((dt.Rows[i][1].ToString().Replace(" ", "")) == DateTime.Now.AddMonths(+1).ToString("yyyyMM").Replace(" ", "")) { if (wannaExtend) { if (MessageBox.Show("만기 예정인 예금이 있습니다. 연장하시겠습니까? \n 연장하지 않을 시 일반계좌로 금액이 반환됩니다.", "만기 안내", MessageBoxButtons.YesNo) == DialogResult.Yes) { //연장하려하는 예금 폼 띄우기 wannaExtend = true; frmDepositExtension frm = new frmDepositExtension(dt, customerInfo); frm.MdiParent = this; frm.Show(); frm.Activate(); } else //연장을 원하지 않을 때 , 다음 로그인 때까지 안 뜨게하기 { //날짜와 응답을 비교해서 일반계좌로 돈을 보내기 wannaExtend = false; MessageBox.Show("만기 날짜가 되면 귀하의 일반 계좌로 만기 예금이 입금됩니다."); } } } //만기날짜가 되었을 때, 예금을 응답 여부에 따라서 일반계좌로 송금해주기 if (dt.Rows[i][2].ToString().Replace(" ", "") == DateTime.Now.ToString("yyyyMMdd").Replace(" ", "")) { if (wannaExtend == false)//응답이 예금을 연장하지 않을 때 { //디비 열어서 예금에서 일반으로 송금 MessageBox.Show("예금이 만기가 되어 귀하의 일반 계좌로 만기 예금이 입금됩니다."); NormalAccountDB n1 = new NormalAccountDB(); if (!n1.UpdateReceiver(dt.Rows[i][10].ToString(), dt.Rows[i][7].ToString())) { MessageBox.Show("일반 계좌로 만기 예금을 송금하는데 실패하였습니다."); } //돈을 송금하고 해당 예금은 삭제합니다. DepositAccountDB db = new DepositAccountDB(); if (!db.Delete(CustomerNum, dt.Rows[i][0].ToString())) { MessageBox.Show("만기 예금을 삭제하는데 실패하였습니다."); } } else //응답이 예금을 연장할 때 { //그냥 넘어감~ 연장했으니 알림 없이 진행 } } } } //만료 한달 전 안내 SavingDB db2 = new SavingDB(); dt2 = db2.GetExpireData(CustomerNum); if (dt2 != null) { for (int i = 0; i < dt2.Rows.Count; i++) { //만기 한달 전인 적금을 현재 날짜와 비교하여 알려주기 if (dt2.Rows[i][1].ToString().Replace(" ", "") == DateTime.Now.AddMonths(+1).ToString("yyyyMM").Replace(" ", "")) { if (wannaExtendS) { if (MessageBox.Show("만기 예정인 적금이 있습니다. 연장하시겠습니까? \n 연장하지 않을 시 일반계좌로 금액이 반환됩니다.", "만기 안내", MessageBoxButtons.YesNo) == DialogResult.Yes) { //연장하려하는 적금 폼 띄우기 wannaExtendS = true; frmSavingExtension frm2 = new frmSavingExtension(dt2, customerInfo); frm2.MdiParent = this; frm2.Show(); frm2.Activate(); } else //연장을 원하지 않을 때 { //날짜와 응답을 비교해서 일반계좌로 돈을 보내기 wannaExtendS = false; MessageBox.Show("만기 날짜가 되면 귀하의 일반 계좌로 만기 적금이 입금됩니다."); } } } //만기날짜가 되었을 때, 적금을 응답 여부에 따라서 일반계좌로 송금해주기 if (dt2.Rows[i][2].ToString().Replace(" ", "") == DateTime.Now.ToString("yyyyMMdd").Replace(" ", "")) { if (wannaExtendS == false)//응답이 예금을 연장하지 않을 때 { //디비 열어서 예금에서 일반으로 송금 MessageBox.Show("적금이 만기가 되어 귀하의 일반 계좌로 만기 적금이 입금됩니다."); NormalAccountDB n1 = new NormalAccountDB(); if (!n1.UpdateReceiver(dt2.Rows[i][9].ToString(), dt2.Rows[i][6].ToString())) { MessageBox.Show("일반 계좌로 만기 적금을 송금하는데 실패하였습니다."); } //돈을 송금하고 해당 예금은 삭제합니다. SavingDB db = new SavingDB(); if (!db.Delete(CustomerNum, dt2.Rows[i][0].ToString())) { MessageBox.Show("만기 적금을 삭제하는데 실패하였습니다."); } } else //응답이 예금을 연장할 때 { //그냥 넘어감~ 연장했으니 알림 없이 진행 } } } } //적금 기입날 이어서 송금할 것인지 묻는 문자 보내기 //만약 하루 내에 송금하지 않을 시 적금은 해지되어 일반 계좌로 보내지게 코딩 }
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(); }