//Lấy danh sách tên tiền công và mã tiền công tương ứng trong CSDL vào trong dgvPhieuSuaChua private void MaTienCong_Load() { DataTable dt = new DataTable(); dt = PHIEUSUACHUA_DAO.LayMaTienCong(); TenTienCong.DataSource = dt; TenTienCong.ValueMember = "MaTienCong"; TenTienCong.DisplayMember = "TenTienCong"; }
//Load mã vật tư phụ tùng từ CSDL lên dgvNhapVTPT private void MaVTPT_load() { DataTable dt = new DataTable(); dt = PHIEUSUACHUA_DAO.LayMaVTPT(); MaVTPT.DataSource = dt; MaVTPT.ValueMember = "MaVTPT"; MaVTPT.DisplayMember = "TenVTPT"; }
//Lấy danh sách mã xe và biển số xe tương ứng trong co sở dữ liệu lên cbbMaXe và txtBienSo private void MaXe_Load() { DataTable dt = new DataTable(); dt = PHIEUSUACHUA_DAO.LayMaXe(); cbbMaXe.DataSource = dt; cbbMaXe.ValueMember = "MaXe"; cbbMaXe.DisplayMember = "MaXe"; txtBienSo.DataBindings.Add("TEXT", cbbMaXe.DataSource, "BienSo"); }
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ự kiện thay đổi giá trị trong Dgv_CTSDVTPT private void dgvCT_SDVTPT_CellValueChanged(object sender, DataGridViewCellEventArgs e) { int TongTien = 0;// Thành tiền vật tư phụ tùng for (int i = 0; i < dgvCT_SDVTPT.Rows.Count - 1; i++) { ////Lấy đơn giá tương ứng với vật tư phụ tùng dgvCT_SDVTPT.Rows[i].Cells[0].Value = i + 1; DataTable dt = new DataTable(); dt = PHIEUSUACHUA_DAO.LayThongTinVTPT("Where TenVTPT ='" + dgvCT_SDVTPT.Rows[i].Cells[1].Value.ToString() + "'"); for (int j = 0; j < dt.Rows.Count; j++) { if (dgvCT_SDVTPT.Rows[i].Cells[1].Value.ToString() == dt.Rows[j]["TenVTPT"].ToString()) { dgvCT_SDVTPT.Rows[i].Cells[2].Value = dt.Rows[j]["DonGia"].ToString(); dgvCT_SDVTPT.Rows[i].Cells[5].Value = dt.Rows[j]["MaVTPT"].ToString(); break; } } //// int dg = Convert.ToInt32(dgvCT_SDVTPT.Rows[i].Cells[2].Value); int sl = 0; int n = 0; //// Kiểm tra số lượng nhập vào có phải là kí số hay không if (dgvCT_SDVTPT.Rows[i].Cells[3].Value != null) { if (int.TryParse(this.dgvCT_SDVTPT.Rows[i].Cells[3].Value.ToString(), out n)) { sl = Convert.ToInt32(dgvCT_SDVTPT.Rows[i].Cells[3].Value); } else { if (dgvCT_SDVTPT.Rows[i].Cells[3].Value.ToString() != "") { MessageBox.Show("Số lượng phải là ký số"); } } } //// int thanhtien = dg * sl; dgvCT_SDVTPT.Rows[i].Cells[4].Value = Convert.ToString(thanhtien); TongTien = TongTien + thanhtien; } txtTongTienVTPT.Text = Convert.ToString(TongTien); LayDuLieu(txtTongTienVTPT.Text, ChiMuc);// Truyền dữ liệu từ dgvCT_SDVTPT sang dgvPhieuSuaChua }
//Sự kiện khi thay đổi giá trị trong dgvPhieuSuaChua private void dgvPhieuSuaChua_CellValueChanged(object sender, DataGridViewCellEventArgs e) { int TongTien = 0;//Tổng phí sửa chữa của phiếu sửa chữa for (int i = 0; i < dgvPhieuSuaChua.Rows.Count - 1; i++) { dgvPhieuSuaChua.Rows[i].Cells[0].Value = i + 1; if (dgvPhieuSuaChua.Rows[i].Cells[2].Value != null) { //// Lấy Tiền công cho Mã Tiền công tương ứng DataTable dt = new DataTable(); dt = PHIEUSUACHUA_DAO.LayTienCong("Where MaTienCong ='" + dgvPhieuSuaChua.Rows[i].Cells[2].Value.ToString() + "'"); for (int j = 0; j < dt.Rows.Count; j++) { if (dgvPhieuSuaChua.Rows[i].Cells[2].Value.ToString() == dt.Rows[j]["MaTienCong"].ToString()) { dgvPhieuSuaChua.Rows[i].Cells[3].Value = dt.Rows[j]["TienCong"].ToString(); break; } } //// int dg = Convert.ToInt32(dgvPhieuSuaChua.Rows[i].Cells[3].Value); int sl = 0; int n = 0; //// Kiểm tra số lượng nhâp vào có phải kí số hay không if (dgvPhieuSuaChua.Rows[i].Cells[4].Value != null) { if (int.TryParse(this.dgvPhieuSuaChua.Rows[i].Cells[4].Value.ToString(), out n)) { sl = Convert.ToInt32(dgvPhieuSuaChua.Rows[i].Cells[4].Value); } else { MessageBox.Show("Số lần phải là ký số"); } } int thanhtien = dg * sl; dgvPhieuSuaChua.Rows[i].Cells[5].Value = Convert.ToString(thanhtien); dgvPhieuSuaChua.Rows[i].Cells[7].Value = thanhtien + Convert.ToInt32(dgvPhieuSuaChua.Rows[i].Cells[6].Value); TongTien = TongTien + thanhtien + Convert.ToInt32(dgvPhieuSuaChua.Rows[i].Cells[6].Value); } } txtChiPhiSuaChua.Text = Convert.ToString(TongTien); }
//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"); } } }