public static void ThemPhieuSuaChua(PHIEUSUACHUA psc) { PHIEUSUACHUA_DAO.ThemPhieuSuaChua(psc); string maHieuXe = XE_DAO.GetMaHieuXe(psc.MaXe.ToString()); string maBCDS = BC_DOANHSO_BUS.GetMaBC(psc.NgaySuaChua.Month, psc.NgaySuaChua.Year); if (maBCDS == "") { maBCDS = BC_DOANHSO_BUS.AutoMABC(); BC_DOANHSO baoCao = new BC_DOANHSO(); baoCao.MaBaoCaoDoanhSo = maBCDS; baoCao.Thang = psc.NgaySuaChua.Month; baoCao.Nam = psc.NgaySuaChua.Year; BC_DOANHSO_BUS.ThemBC(baoCao); } CT_BC_DOANHSO chiTiet = new CT_BC_DOANHSO(); chiTiet.MaBCDS = maBCDS; chiTiet.MaCTBC = CT_BC_DOANHSO_BUS.GetMaCTBC(maBCDS, maHieuXe); if (chiTiet.MaCTBC == "") { chiTiet.MaCTBC = CT_BC_DOANHSO_BUS.AutoMACTBC(); chiTiet.MaHieuXe = maHieuXe; CT_BC_DOANHSO_BUS.ThemCTBC(chiTiet); } CT_BC_DOANHSO_BUS.CapNhatSoLuotSua(chiTiet); string maBCT = BC_TONVTPT_BUS.GetMaBCT(psc.NgaySuaChua.Month, psc.NgaySuaChua.Year); if (maBCT == "") { maBCT = BC_TONVTPT_BUS.AutoMABCT(); BC_TONVTPT BCT = new BC_TONVTPT(); BCT.MaBCT = maBCT; BCT.Thang = psc.NgaySuaChua.Month; BCT.Nam = psc.NgaySuaChua.Year; BC_TONVTPT_BUS.ThemBC(BCT); } }
//Sử lí khi click nút Lưu private void btnSave_Click(object sender, EventArgs e) { DialogResult dr; dr = MessageBox.Show("Bạn có muốn lưu Phiếu sửa chữa không ?", "Xác nhận", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dr == DialogResult.OK) { int ChiPhiSuaChua = int.Parse(txtChiPhiSuaChua.Text); if (txtSoTienThu.Text.ToString() != "") { int SoTienThu = int.Parse(txtSoTienThu.Text); //Kiểm tra số tiền thu có bé hơn hoặc bằng Chi Phí sửa chữa hay không if (SoTienThu <= ChiPhiSuaChua) { //// Lưu Chi tiết sử dụng VTPT cho record cuối cùng trong dgvPhieuSuaChua if (dgvCT_SDVTPT.Rows.Count > 1 && flag == 0) { dtb[dem2] = new DataTable(); dtb[dem2].Columns.Add("STT", typeof(int)); dtb[dem2].Columns.Add("TenVTPT", typeof(string)); dtb[dem2].Columns.Add("DonGia", typeof(string)); dtb[dem2].Columns.Add("SoLuong", typeof(string)); dtb[dem2].Columns.Add("ThanhTien", typeof(string)); dtb[dem2].Columns.Add("MaVTPT", typeof(string)); for (int i = 0; i < dgvCT_SDVTPT.Rows.Count - 1; i++) { DataRow row; row = dtb[dem2].NewRow(); row["STT"] = i + 1; row["TenVTPT"] = dgvCT_SDVTPT.Rows[i].Cells[1].Value; row["DonGia"] = dgvCT_SDVTPT.Rows[i].Cells[2].Value; row["SoLuong"] = dgvCT_SDVTPT.Rows[i].Cells[3].Value; row["ThanhTien"] = dgvCT_SDVTPT.Rows[i].Cells[4].Value; row["MaVTPT"] = dgvCT_SDVTPT.Rows[i].Cells[5].Value; dtb[dem2].Rows.Add(row); flag++; } } //// Gán Thông tin phiếu sửa chửa cho đối tượng PhHIEUSUACHUA_DTO PHIEUSUACHUA_DTO PSC = new PHIEUSUACHUA_DTO(Convert.ToInt32(cbbMaXe.Text), dtpNgay.Value.Date, Convert.ToInt32(txtChiPhiSuaChua.Text), Convert.ToInt32(txtSoTienThu.Text), Convert.ToInt32(txtConLai.Text)); PHIEUSUACHUA_DAO.ThemPhieuSuaChua(PSC);// Lưu thông tin Phiếu sửa chữa xuống CSDL //// Gán vàLưu từng Chi tiết phiếu sửa chữa và danh sách các vật tư phụ tùng tương ứng xuống cơ sở dữ liệu for (int i = 0; i < dgvPhieuSuaChua.Rows.Count - 1; i++) { //Gán Chi tiết phiếu sửa chữa cho đối tượng CT_PHIEUSUACHUA_DTO CT_PHIEUSUACHUA_DTO CT_PSC = new CT_PHIEUSUACHUA_DTO(dgvPhieuSuaChua.Rows[i].Cells[1].Value.ToString(), Convert.ToInt32(dgvPhieuSuaChua.Rows[i].Cells[2].Value), Convert.ToInt32(dgvPhieuSuaChua.Rows[i].Cells[3].Value), Convert.ToInt32(dgvPhieuSuaChua.Rows[i].Cells[4].Value), Convert.ToInt32(dgvPhieuSuaChua.Rows[i].Cells[5].Value), Convert.ToInt32(dgvPhieuSuaChua.Rows[i].Cells[6].Value), Convert.ToInt32(dgvPhieuSuaChua.Rows[i].Cells[7].Value)); CT_PHIEUSUACHUA_DAO.ThemCT_PhieuSuaChua(CT_PSC, PSC);// lưu chi tiết phiếu sửa chữa xuống CSDL if (dtb[i] != null) { for (int j = 0; j <= dtb[i].Rows.Count - 1; j++) { // gán danh sách sử dụng VTPT vào đối tượng CT_SUDUNGVTPT_DTO với CT phiếu sưa chữa tương ứng CT_SUDUNGVTPT_DTO CT_SDVTPT = new CT_SUDUNGVTPT_DTO(Convert.ToInt32(dtb[i].Rows[j]["MaVTPT"].ToString()), Convert.ToInt32(dtb[i].Rows[j]["DonGia"].ToString()), Convert.ToInt32(dtb[i].Rows[j]["SoLuong"].ToString()), Convert.ToInt32(dtb[i].Rows[j]["ThanhTien"].ToString())); CT_SUDUNGVTPT_DAO.ThemCT_SUDUNGVTPT(CT_SDVTPT, CT_PSC, PSC);//Lưu danh sách Sử dựng VTPT xuống CSDL } } /// } MessageBox.Show("Bạn đã lưu thành công phiếu sửa chữa"); btnSave.Enabled = false; dgvPhieuSuaChua.ReadOnly = true; dgvCT_SDVTPT.ReadOnly = true; txtSoTienThu.ReadOnly = true; } else { MessageBox.Show("Nhập số tiền thu không hợp lệ, số tiền thu phải nhỏ hơn chi phí sửa chữa"); } } else { MessageBox.Show("Chưa nhập số tiền thu"); } } }