private void dtgv_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { DataGridViewRow temp = dtgv.Rows[e.RowIndex]; txt_soPM.Text = temp.Cells[0].Value.ToString(); cbx_docgia.Text = temp.Cells[1].Value.ToString(); cbx_nhanvien.Text = temp.Cells[2].Value.ToString(); dtpk_ngaymuon.Value = DateTime.ParseExact(temp.Cells[3].Value.ToString(), "dd/MM/yyyy", null); dtpk_ngaytra.Value = DateTime.ParseExact(temp.Cells[4].Value.ToString(), "dd/MM/yyyy", null); chbox_xacnhantra.Checked = bool.Parse(temp.Cells[5].Value.ToString()); txt_ghichu.Text = temp.Cells[6].Value.ToString(); if (chbox_xacnhantra.Checked) { btn_sua.Enabled = btn_xoa.Enabled = btn_luu.Enabled = false; Utils.readOnly_text_box(new List<TextBox> { txt_ghichu }, true); Utils.enable_combobox(new List<ComboBox> { cbx_docgia, cbx_nhanvien }, false); chbox_xacnhantra.Enabled = false; dtgv_sachmuon.Enabled = false; dtpk_ngaytra.Enabled = false; dtpk_ngaymuon.Enabled = false; } else { btn_sua.Enabled = btn_xoa.Enabled = btn_luu.Enabled = true; } chitietphieu_ctrl chitiet_ctrl = new chitietphieu_ctrl(); var list_sach = chitiet_ctrl.select_all_chitietphieu_by_sopm(int.Parse(txt_soPM.Text)); var data_sach = list_sach.data; if (data_sach != null) { dtgv_sachmuon.RowCount = data_sach.Count() + 1; for (int i = 0; i < data_sach.Count(); i++) { dtgv_sachmuon.Rows[i].Cells[0].Value = data_sach[i].masach; dtgv_sachmuon.Rows[i].Cells[1].Value = data_sach[i].trangthaisach; } } else { dtgv_sachmuon.Rows.Clear(); } } }
private void btn_luu_Click(object sender, EventArgs e) { switch (option) { case Option.Nodata: break; case Option.Insert: get_ds_sach(); var check_docgia = Utils.err_null_data_cbx(cbx_docgia); if (check_docgia != null) { MessageBox.Show(check_docgia); break; } var check_nhanvien = Utils.err_null_data_cbx(cbx_nhanvien); if (check_nhanvien != null) { MessageBox.Show(check_nhanvien); break; } get_info(); //check if existing data var check = true; var data = dtgv.Rows; foreach (DataGridViewRow item in data) { if (int.Parse(item.Cells[0].Value.ToString()) == phieumuontra_ett.sophieumuon) { check = false; } } if (!check) { Utils.err_duplicate_data(); break; } List<string> lst_masach = new List<string>(); var sach_dataRows = dtgv_sachmuon.Rows; foreach (DataGridViewRow item in sach_dataRows) { if (item.Cells[0].Value != null) { lst_masach.Add(item.Cells[0].Value.ToString()); } } var temp = phieumuontra_ctrl.insert_phieumuontra(phieumuontra_ett, lst_masach); switch (temp.errcode) { case ErrorCode.NaN: break; case ErrorCode.sucess: MessageBox.Show(Constants.success_insert); load_data(); Utils.erase_text_box(new List<TextBox> { txt_soPM, txt_ghichu }); Utils.erase_combobox(new List<ComboBox>() { cbx_docgia, cbx_nhanvien }); chbox_xacnhantra.Checked = false; dtgv_sachmuon.Rows.Clear(); // insert chitietphieu var sopm = temp.data.sophieumuon; chitietphieu_ctrl chitiet_ctrl = new chitietphieu_ctrl(); get_ds_sach(); phieumuontra_ett.sophieumuon = sopm; foreach (chitietphieu_ett item in chitietphieu) { item.sophieumuon = sopm; chitiet_ctrl.insert_chitietphieu(item); } break; case ErrorCode.fail: break; default: break; } break; case Option.Edit: get_info(); //check if existing data var check1 = true; var data1 = dtgv.Rows; foreach (DataGridViewRow item in data1) { if (int.Parse(item.Cells[0].Value.ToString()) == phieumuontra_ett.sophieumuon) { check1 = false; } } if (check1) { Utils.err_no_duplicate_data(); break; } List<string> lst_masach1 = new List<string>(); var sach_dataRows1 = dtgv_sachmuon.Rows; foreach (DataGridViewRow item in sach_dataRows1) { if (item.Cells[0].Value != null) { lst_masach1.Add(item.Cells[0].Value.ToString()); } } var temp1 = phieumuontra_ctrl.edit_phieumuontra(phieumuontra_ett, lst_masach1); var sopm1 = phieumuontra_ett.sophieumuon; chitietphieu_ctrl chitiet_ctrl1 = new chitietphieu_ctrl(); var list_sach = chitiet_ctrl1.select_all_chitietphieu_by_sopm(phieumuontra_ett.sophieumuon); if (list_sach.data != null) { foreach (chitietphieu_ett item in list_sach.data) { chitiet_ctrl1.delete_chitietphieu(item.sophieumuon, item.masach); } } switch (temp1.errcode) { case ErrorCode.NaN: break; case ErrorCode.sucess: MessageBox.Show(Constants.success_edit); load_data(); get_ds_sach(); foreach (chitietphieu_ett item in chitietphieu) { item.sophieumuon = sopm1; chitiet_ctrl1.insert_chitietphieu(item); } Utils.erase_text_box(new List<TextBox> { txt_soPM, txt_ghichu}); Utils.readOnly_text_box(new List<TextBox> {txt_ghichu}, true); Utils.erase_combobox(new List<ComboBox>() { cbx_nhanvien, cbx_docgia }); Utils.enable_combobox(new List<ComboBox>() { cbx_nhanvien, cbx_docgia }, false); dtpk_ngaymuon.Enabled = false; dtgv_sachmuon.Enabled = false; dtgv_sachmuon.Rows.Clear(); dtpk_ngaytra.Enabled = false; chbox_xacnhantra.Enabled = false; chbox_xacnhantra.Checked = false; break; case ErrorCode.fail: if (Utils.switch_false()) { MessageBox.Show(temp1.errInfor); } break; default: break; } break; default: break; } }