private void Dgv입고등록_CellEndEdit(object sender, DataGridViewCellEventArgs e) { DataGridView dgv = (DataGridView)sender; int nowColum = dgv.CurrentCell.ColumnIndex; int nowRow = dgv.CurrentCell.RowIndex; int maxRow = dgv.RowCount; int maxColum = dgv.ColumnCount; if (nowColum == maxColum - 3) { if (dgv.Rows[nowRow].Cells[nowColum].Value == null) { MessageBox.Show("데이터를 입력하세요"); return; } else { if (DB.발주서.Is발주번호(dgv.Rows[nowRow].Cells[nowColum].Value.ToString()).Count == 0) { MessageBox.Show("발주되지 않은 발주서입니다"); dgv.CurrentCell = dgv[1, 0]; return; } else { dgv입고등록리스트.Rows.Clear(); dgv.CurrentRow.Cells[0].Value = (DB.입고등록.GetCount() + 1).ToString(); dgv.CurrentRow.Cells[2].Value = DB.일반거래처.Get공급업체번호From발주서(dgv.Rows[nowRow].Cells[nowColum].Value.ToString()); dgv.CurrentRow.Cells[3].Value = DateTime.Today.ToShortDateString(); if (DB.입고등록.Is입고등록(dgv.CurrentRow.Cells[0].Value.ToString()).Count == 0) { ClassLibrary.입고등록 입고등록정보 = new ClassLibrary.입고등록(); 입고등록정보.입고등록번호 = dgv.CurrentRow.Cells[0].Value.ToString(); 입고등록정보.공급업체번호 = DB.일반거래처.Get공급업체번호From이름(dgv.CurrentRow.Cells[2].Value.ToString()).Select(x => x.거래처코드번호).FirstOrDefault(); 입고등록정보.발주번호 = dgv.CurrentRow.Cells[1].Value.ToString(); 입고등록정보.검사일자 = DateTime.Today; if (DialogResult.OK == MessageBox.Show("등록하시겠습니까?", "알림", MessageBoxButtons.OKCancel)) { DB.입고등록.Insert(입고등록정보); dgv.CurrentCell = dgv[nowColum, nowRow]; dgv.Rows.Add(); dgv입고등록리스트.Rows.Add(); dgv입고등록리스트.Focus(); dgv입고등록리스트.CurrentCell = dgv입고등록리스트[0, 0]; } } } } } }
private void Dgv입고등록_KeyDown(object sender, KeyEventArgs e) { DataGridView dgv = (DataGridView)sender; if (e.KeyCode == Keys.Delete) { e.SuppressKeyPress = true; if (DB.입고등록.Is입고등록(dgv.CurrentRow.Cells[0].Value.ToString()).Count > 0) { ClassLibrary.입고등록 입고등록 = new ClassLibrary.입고등록(); 입고등록.입고등록번호 = dgv.CurrentRow.Cells[0].Value.ToString(); 입고등록.발주번호 = dgv.CurrentRow.Cells[1].Value.ToString(); 입고등록.공급업체번호 = DB.일반거래처.Get공급업체번호From이름(dgv.CurrentRow.Cells[2].Value.ToString()).Select(x => x.거래처코드번호).FirstOrDefault(); 입고등록.검사일자 = DateTime.Parse(dgv.CurrentRow.Cells[3].Value.ToString()); if (DB.입고등록리스트.Search입고등록리스트(dgv.CurrentRow.Cells[0].Value.ToString()).Count > 0) { var list = DB.입고등록리스트.Search입고등록리스트(dgv.CurrentRow.Cells[0].Value.ToString()); 입고등록리스트 입고등록리스트 = new 입고등록리스트(); for (int i = 0; i < list.Count; i++) { if (DB.불량상세정보.Search불량상세정보(dgv.CurrentRow.Cells[0].Value.ToString(), list[i].자재번호).Count > 0) { 불량상세정보 불량상세정보 = new 불량상세정보(); if (DB.반품처리서.Search반품처리서From입고등록번호(dgv.CurrentRow.Cells[0].Value.ToString()).Count > 0) { var list4 = DB.반품처리서.Search반품처리서From입고등록번호(dgv.CurrentRow.Cells[0].Value.ToString()); for (int j = 0; j < list4.Count; j++) { var list5 = DB.반품처리리스트.Search반품처리리스트(list4[j].반품처리서번호); foreach (var item in list5) { DB.반품처리리스트.Delete(item); } DB.반품처리서.Delete(list4[j]); } } var list1 = DB.불량상세정보.Search불량상세정보(dgv.CurrentRow.Cells[0].Value.ToString(), list[i].자재번호); 불량상세정보.입고등록번호 = dgv.CurrentRow.Cells[0].Value.ToString(); 불량상세정보.자재번호 = list[i].자재번호; for (int j = 0; j < list1.Count; j++) { 불량상세정보.불량코드번호 = list1[j].불량코드번호; 불량상세정보.불량수량 = list1[j].불량수량; DB.불량상세정보.Delete(불량상세정보); } } var list3 = DB.자재.Get자재(list[i].자재번호).FirstOrDefault(); list3.재고량 += (int)list[i].양품수량; DB.자재.Update(list3); 입고등록리스트.입고등록번호 = list[i].입고등록번호; 입고등록리스트.자재번호 = list[i].자재번호; 입고등록리스트.양품수량 = list[i].양품수량; 입고등록리스트.불량수량 = list[i].불량수량; DB.입고등록리스트.Delete(입고등록리스트); } } DB.입고등록.Delete(입고등록); dgv입고등록.Rows.Clear(); dgv입고등록.Rows.Add(); var list2 = DB.입고등록.입고등록정보(txb거래처이름.Text, txb발주번호.Text, FirstDate.Value, LastDate.Value); for (int i = 0; i < list2.Count; i++) { dgv입고등록.Rows[i].Cells[0].Value = list2[i].입고등록번호; dgv입고등록.Rows[i].Cells[1].Value = list2[i].발주번호; dgv입고등록.Rows[i].Cells[2].Value = list2[i].공급업체번호; dgv입고등록.Rows[i].Cells[3].Value = list2[i].검사일자; dgv입고등록.Rows.Add(); } } } }