public static void ThemCT_SUDUNGVTPT(CT_SUDUNGVTPT_DTO p, CT_PHIEUSUACHUA_DTO q, PHIEUSUACHUA_DTO n) { SqlConnection connection = new SqlConnection(); connection.ConnectionString = KetNoi.Instance.conn; connection.Open(); SqlCommand cmd = new SqlCommand("ThemCT_SuDungVTPT", connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MaXe", SqlDbType.Int); cmd.Parameters.Add("@NgaySuaChua", SqlDbType.SmallDateTime); cmd.Parameters.Add("@TongPhiSuaChua", SqlDbType.Int); cmd.Parameters.Add("@NoiDung", SqlDbType.NVarChar, 50); cmd.Parameters.Add("@MaTienCong", SqlDbType.Int); cmd.Parameters.Add("@TongTienCong", SqlDbType.Int); cmd.Parameters.Add("@ChiPhiVTPT", SqlDbType.Int); cmd.Parameters.Add("@TongChiPhi", SqlDbType.Int); cmd.Parameters.Add("@MaVTPT", SqlDbType.Int); cmd.Parameters.Add("@DonGia", SqlDbType.Int); cmd.Parameters.Add("@SoLuong", SqlDbType.Int); cmd.Parameters.Add("@ThanhTien", SqlDbType.Int); cmd.Parameters["@NoiDung"].Value = q.NoiDung; cmd.Parameters["@MaTienCong"].Value = q.MaTienCong; cmd.Parameters["@TongTienCong"].Value = q.TongTienCong; cmd.Parameters["@ChiPhiVTPT"].Value = q.ChiPhiVTPT; cmd.Parameters["@TongChiPhi"].Value = q.TongChiPhi; cmd.Parameters["@MaXe"].Value = n.MaXe; cmd.Parameters["@NgaySuaChua"].Value = n.NgaySuaChua; cmd.Parameters["@TongPhiSuaChua"].Value = n.TongChiPhi; cmd.Parameters["@MaVTPT"].Value = p.MaVTPT; cmd.Parameters["@DonGia"].Value = p.DonGia; cmd.Parameters["@SoLuong"].Value = p.SoLuong; cmd.Parameters["@ThanhTien"].Value = p.ThanhTien; int count = cmd.ExecuteNonQuery(); if (count > 0) { } connection.Close(); }
//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"); } } }