//-----------------giảm số lượng món ăn xuống 1----------------- private void btnGiamSoLuongMonAn_Click(object sender, EventArgs e) { int index; int sl; try { sl = int.Parse(dgvHoaDonOrder.Rows[chiSoCuaLsvHoaDon].Cells[1].Value.ToString()); } catch (Exception) { return; } if (chiSoCuaLsvHoaDon != -1) { if (sl > 1) { sl = sl - 1; } dgvHoaDonOrder.Rows[chiSoCuaLsvHoaDon].Cells[1].Value = sl.ToString(); // Giảm số lượng món ăn đi 1 index = chiSoCuaLsvHoaDon; // cập nhật lại số lượng món ăn trong cơ sở dữ liệu HoaDonOrder_BUS.CapNhatSoLuongMonAn(sl, HoaDonOrder_BUS.layIDHoaDon(danhSachBanAn[indexTable].ID), MonAn_BUS.layIDMonAn(dgvHoaDonOrder.Rows[chiSoCuaLsvHoaDon].Cells[0].Value.ToString())); LoadHoaDon(danhSachBanAn[indexTable].ID); // sau khi thêm thì load lại hóa đơn dgvHoaDonOrder.CurrentCell = dgvHoaDonOrder.Rows[index].Cells[0]; chiSoCuaLsvHoaDon = index; } }
private void btnThongKe_Click(object sender, EventArgs e) { lbDoanhThu.Text = DoanhThu(); List <QuanLiHoaDon_DTO> lstHoaDon = HoaDonOrder_BUS.LocHoaDon(dtpTuNgay.Text, dtpDenNgay.Text); if (lstHoaDon == null) { MessageBox.Show("Không có kết quả nào"); return; } long doanhThu = 0; foreach (QuanLiHoaDon_DTO hd in lstHoaDon) { doanhThu += long.Parse(hd.SoTien); } CultureInfo cul = new CultureInfo("vi-VN"); lbDT.Text = doanhThu.ToString("c", cul); DataTable dt = DataProvider.LayDataTable("select NgayThanhToan , sum(SoTien) as DoanhThu from HoaDon where NgayThanhToan >= '" + dtpTuNgay.Text + "' AND NgayThanhToan <= '" + dtpDenNgay.Text + "' group by NgayThanhToan", conn); chartDoanhThu.DataSource = dt; chartDoanhThu.ChartAreas["ChartArea1"].AxisX.Title = "Ngày"; chartDoanhThu.ChartAreas["ChartArea1"].AxisY.Title = "Doanh Thu"; chartDoanhThu.Series["Doanh Thu"].XValueMember = "NgayThanhToan"; chartDoanhThu.Series["Doanh Thu"].YValueMembers = "DoanhThu"; }
//------------Mở bàn------------------------ private void btnMoBan_Click(object sender, EventArgs e) { if (indexTable == -1) // nếu chưa có bàn nào được chọn { MessageBox.Show("Chọn 1 Bàn Để Mở", "Thông Báo"); return; } if (listBanAn.Items[indexTable].ImageIndex == 0) // Nếu Bàn Đang Mở thì không thêm hóa đơn nữa { MessageBox.Show("Bàn Đang Mở", "Thông Báo"); return; } // khi click thì thêm 1 hóa đơn vào bảng hóa đơn // nếu Thêm hóa đơn thành công thì Bàn sẽ màu xanh và trạng thái thành có người if (HoaDonOrder_BUS.ThemHoaDon(danhSachBanAn[indexTable].ID) == true && BanAn_BUS.SuaTrangThaiBanAn(danhSachBanAn[indexTable].ID) == true) { lbTrangThai.Text = "Có Người"; listBanAn.Items[indexTable].ImageIndex = 0; lbBan.ForeColor = Color.Green; lbTrangThai.ForeColor = Color.Green; MessageBox.Show("Đã Mở Bàn", "Thông Báo"); panelOrderMon.Visible = true; return; } MessageBox.Show("Lỗi", "Thông Báo"); }
private void LoadHoaDon(int idBan) { int tongTien = 0; dgvHoaDonOrder.Rows.Clear(); // xóa hết các dòng trên listview đi để tránh cái sau đè lên cái trước danhSachHoaDon = HoaDonOrder_BUS.LoadHoaDon(idBan); // lấy hóa đơn của bàn đang được click if (danhSachHoaDon == null) // nếu không có hóa đơn tiền = 0 { LabelTongTienSo.Text = "0"; return; } else // nếu có hóa đơn { for (int i = 0; i < danhSachHoaDon.Count; i++) // duyệt từ đầu danh sách hóa đơn đến cuối danh sách hóa đơn { tongTien += int.Parse(danhSachHoaDon[i].ThanhTien.ToString()); // tính tổng tiền dgvHoaDonOrder.Rows.Add(danhSachHoaDon[i].TenMonAn.ToString(), danhSachHoaDon[i].SoLuong.ToString(), danhSachHoaDon[i].Gia.ToString(), danhSachHoaDon[i].ThanhTien.ToString()); // thêm items vừa tạo vào listview } //CultureInfo cul = new CultureInfo("vi-VN"); // Gán Tiền vào textbox LabelTongTienSo.Text = tongTien.ToString(); } }
//---------------Xóa Hóa Đơn----------- private void btnXoa_Click(object sender, EventArgs e) { if (TKDN.Substring(0, 2) == "NV") { MessageBox.Show("Chỉ có chức vụ quản lý mới được sử dụng chức năng này.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (dr == null) { MessageBox.Show("Chọn hóa đơn muốn xóa"); return; } if (MessageBox.Show("Xác nhận xóa", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { if (HoaDonOrder_BUS.XoaHoaDon(int.Parse(dr.Cells["IDHoaDon"].Value.ToString()))) { dr = null; LayDanhSachHoaDon(); MessageBox.Show("Xóa thành công"); return; } } else { MessageBox.Show("Xóa thất bại"); } } }
private void btn_DoubleClick(object sender, EventArgs e) { int iD = ((sender as Guna.UI.WinForms.GunaAdvenceTileButton).Tag as MonAn_DTO).ID; string tenMonAn = ((sender as Guna.UI.WinForms.GunaAdvenceTileButton).Tag as MonAn_DTO).TenMonAn; int gia = ((sender as Guna.UI.WinForms.GunaAdvenceTileButton).Tag as MonAn_DTO).Gia; if (listBanAn.Items.Count > 0) { for (int i = 0; i < dgvHoaDonOrder.RowCount; i++) { try { if (dgvHoaDonOrder.Rows[i].Cells[0].Value.ToString() == tenMonAn) { MessageBox.Show("Món ăn đã có rồi", "Thông Báo"); return; } } catch (Exception) // có lỗi ở chỗ này thì thoát { MessageBox.Show("Món ăn đã có rồi", "Thông Báo"); return; } } } dgvHoaDonOrder.Rows.Add(tenMonAn, soluong, gia, soluong * gia); HoaDonOrder_BUS.ThemThongTinHoaDon(HoaDonOrder_BUS.layIDHoaDon(danhSachBanAn[indexTable].ID), iD, soluong); LoadHoaDon(danhSachBanAn[indexTable].ID); //sau khi thêm thì load lại hóa đơn }
public void BangThongKeTheoThang() { BatBieuDo(); DataTable dtHoaDon = HoaDonOrder_BUS.LocHoaDonTheoThang(cbNam.Text); List <QuanLiHoaDon_DTO> lstHD = new List <QuanLiHoaDon_DTO>(); if (dtHoaDon == null) { MessageBox.Show("Không có kết quả nào"); return; } for (int i = 0; i < dtHoaDon.Rows.Count; i++) { QuanLiHoaDon_DTO hoaDon = new QuanLiHoaDon_DTO(); hoaDon.NgayThanhToan = dtHoaDon.Rows[i]["Thang"].ToString(); hoaDon.SoTien = dtHoaDon.Rows[i]["DoanhThu"].ToString(); lstHD.Add(hoaDon); } CultureInfo cul = new CultureInfo("vi-VN"); lbDTNum.Text = DoanhThu(lstHD); chartDoanhThu.DataSource = dtHoaDon; chartDoanhThu.ChartAreas["ChartArea1"].AxisX.Title = "Tháng"; chartDoanhThu.ChartAreas["ChartArea1"].AxisY.Title = "Doanh Thu"; chartDoanhThu.Series["Doanh Thu"].XValueMember = "Thang"; chartDoanhThu.Series["Doanh Thu"].YValueMembers = "DoanhThu"; }
//------------------Lọc Hóa Đơn--------------- private void btnLoc_Click(object sender, EventArgs e) { List <QuanLiHoaDon_DTO> lstHoaDon; lstHoaDon = HoaDonOrder_BUS.LocHoaDon(dtpTuNgay.Text, dtpDenNgay.Text); if (lstHoaDon == null) { MessageBox.Show("Không có kết quả nào"); return; } dgvDanhSachHoaDon.DataSource = lstHoaDon; }
//------------------Xóa Tất cả Hóa đơn----------- private void btnXoaTatCa_Click(object sender, EventArgs e) { if (lstHoaDon == null) { return; } if (MessageBox.Show("Xóa toàn bộ hóa đơn", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { HoaDonOrder_BUS.XoaToanBoHoaDon(); MessageBox.Show("Đã xóa"); LayDanhSachHoaDon(); return; } }
private void btnDoanhThuTrongNgay_Click(object sender, EventArgs e) { KieuTK = "Ngay"; lbDTNum.Text = "Chưa có dữ liệu"; lbBieuDo.Visible = false; lbTK.Visible = false; chartDoanhThu.Visible = false; cbNam.Visible = false; List <QuanLiHoaDon_DTO> lstHD = HoaDonOrder_BUS.DoanhThuTrongNgay(dtpNgay.Text); CultureInfo cul = new CultureInfo("vi-VN"); if (lstHD != null) { lbDTNum.Text = DoanhThu(lstHD); } }
private void ButtonThanhToan_Click(object sender, EventArgs e) { if (indexTable == -1) { return; } if (listBanAn.Items[indexTable].ImageIndex == 1) { MessageBox.Show("Mở Bàn Để Thanh Tóan"); return; } int tien = int.Parse(lbThanhTien.Text); CultureInfo cul = new CultureInfo("vi-VN"); // định dạng tiền việt string tienThanhToan = tien.ToString("c", cul); if (MessageBox.Show("Thanh Toán: " + tienThanhToan, "Thanh Toán", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { // xóa hết món ăn trên bàn ăn đó HoaDonOrder_BUS.XoaThongTinHoaDon(HoaDonOrder_BUS.layIDHoaDon(danhSachBanAn[indexTable].ID)); // update số tiền DateTime time = DateTime.Now; string ngayThanhToan = time.ToString("dd/MM/yyyy"); try { HoaDonOrder_BUS.UpdateHoaDon(1, ngayThanhToan, int.Parse(lbThanhTien.Text), danhSachBanAn[indexTable].ID); } catch (Exception) { MessageBox.Show("Lỗi Rồi...."); return; } // sửa lại trạng thái bàn ăn thành trống BanAn_BUS.SuaTrangThaiBanAn2(danhSachBanAn[indexTable].ID); listBanAn.Items[indexTable].ImageIndex = 1; lbTrangThai.Text = "Trống"; lbBan.ForeColor = Color.Red; // load lại màu chữ lbTrangThai.ForeColor = Color.Red; // load lại màu chữ LoadHoaDon(danhSachBanAn[indexTable].ID); // sau khi xóa thì load lại hóa đơn } }
private string DoanhThu() { List <QuanLiHoaDon_DTO> lstHoaDon = HoaDonOrder_BUS.LocHoaDon(now.ToString("dd/MM/yyyy"), now.ToString("dd/MM/yyyy")); long doanhThu = 0; if (lstHoaDon != null) { foreach (QuanLiHoaDon_DTO hd in lstHoaDon) { doanhThu += long.Parse(hd.SoTien); } } CultureInfo cul = new CultureInfo("vi-VN"); return(doanhThu.ToString("c", cul)); }
private void btnchuyenBan_Click(object sender, EventArgs e) { if (indexTable == -1) { MessageBox.Show("Chọn bàn muốn chuyển"); return; } if (listBanAn.Items[indexTable].ImageIndex == 1) { MessageBox.Show("Mở bàn để chuyển bàn"); return; } FormChuyenBan formChuyenBan = new FormChuyenBan(); // khởi tạo form chuyển bàn để lấy dữ liệu từ form formChuyenBan.ShowDialog(); int idToTable = formChuyenBan.idToTable; // lấy id của bàn muốn chuyển đến if (formChuyenBan.chuyenBan == false) // chuyển bàn = false thì không được chuyển { return; } // chuyển từ bàn có id là idfromTable đến bàn có id là idTotable if (HoaDonOrder_BUS.ChuyenBan(danhSachBanAn[indexTable].ID, idToTable)) { BanAn_BUS.SuaTrangThaiBanAn2(danhSachBanAn[indexTable].ID); // cập nhật lại trạng thái cho bàn vừa bị chuyển thành trống BanAn_BUS.SuaTrangThaiBanAn(idToTable); // cập nhật lại trạng thái cho bàn được chuyển đến thành có người listBanAn.Clear(); // load lại bàn ăn LoadBanAn(); LoadHoaDon(danhSachBanAn[indexTable].ID); // load lại hóa đơn // cập nhật lại màu chữ cho label lbTrangThai.Text = "Trống"; lbBan.ForeColor = Color.Red; lbTrangThai.ForeColor = Color.Red; MessageBox.Show("Chuyển thành công"); return; } MessageBox.Show("Chuyển thất bại !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); }
void LayDanhSachHoaDon() { lstHoaDon = HoaDonOrder_BUS.DanhSachHoaDon(); dgvDanhSachHoaDon.DataSource = lstHoaDon; if (lstHoaDon == null) { return; } dgvDanhSachHoaDon.Columns["IDHoaDon"].HeaderText = "So HD"; dgvDanhSachHoaDon.Columns["TenBan"].HeaderText = "Tên Bàn"; dgvDanhSachHoaDon.Columns["TinhTrangThanhToan"].HeaderText = "Tình Trạng Thanh Toán"; dgvDanhSachHoaDon.Columns["NgayThanhToan"].HeaderText = "Ngày Thanh Toán"; dgvDanhSachHoaDon.Columns["SoTien"].HeaderText = "Số Tiền"; dgvDanhSachHoaDon.Columns["IDHoaDon"].Width = 50; dgvDanhSachHoaDon.Columns["TenBan"].Width = 150; dgvDanhSachHoaDon.Columns["TinhTrangThanhToan"].Width = 150; dgvDanhSachHoaDon.Columns["NgayThanhToan"].Width = 150; dgvDanhSachHoaDon.Columns["SoTien"].Width = 125; }
//-----------------Tăng số lượng món ăn lên 1----------------- private void btnTangSoLuongMonAn_Click(object sender, EventArgs e) { int sl; try { sl = int.Parse(dgvHoaDonOrder.Rows[chiSoCuaLsvHoaDon].Cells[1].Value.ToString()); } catch (Exception) { return; } if (chiSoCuaLsvHoaDon != -1) { sl = sl + 1; dgvHoaDonOrder.Rows[chiSoCuaLsvHoaDon].Cells[1].Value = sl.ToString(); // tăng số lượng món ăn trong lstHoaDon lên 1 HoaDonOrder_BUS.CapNhatSoLuongMonAn(sl, HoaDonOrder_BUS.layIDHoaDon(danhSachBanAn[indexTable].ID), MonAn_BUS.layIDMonAn(dgvHoaDonOrder.Rows[chiSoCuaLsvHoaDon].Cells[0].Value.ToString())); LoadHoaDon(danhSachBanAn[indexTable].ID); // sau khi thêm thì load lại hóa đơn } }
//------------------Xóa Tất cả Hóa đơn----------- private void btnXoaTatCa_Click(object sender, EventArgs e) { if (TKDN.Substring(0, 2) == "NV") { MessageBox.Show("Chỉ có chức vụ quản lý mới được sử dụng chức năng này.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (lstHoaDon == null) { return; } if (MessageBox.Show("Xóa toàn bộ hóa đơn", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { HoaDonOrder_BUS.XoaToanBoHoaDon(); MessageBox.Show("Đã xóa"); LayDanhSachHoaDon(); return; } } }
//---------------Xóa Hóa Đơn----------- private void btnXoa_Click(object sender, EventArgs e) { if (dr == null) { MessageBox.Show("Chọn hóa đơn muốn xóa"); return; } if (MessageBox.Show("Xác nhận xóa", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { if (HoaDonOrder_BUS.XoaHoaDon(int.Parse(dr.Cells["IDHoaDon"].Value.ToString()))) { dr = null; LayDanhSachHoaDon(); MessageBox.Show("Xóa thành công"); return; } } else { MessageBox.Show("Xóa thất bại"); } }
private void btnXoaMonAn_Click(object sender, EventArgs e) { if (dgvHoaDonOrder.RowCount < 1) { return; } if (chiSoCuaLsvHoaDon != -1) { // xóa món ăn đã chọn dựa vào id hóa đơn và id món ăn try { // xóa món ăn trong cơ sở dữ liệu dựa vào IDHoaDon và IDMonAN HoaDonOrder_BUS.XoaMonAn(HoaDonOrder_BUS.layIDHoaDon(danhSachBanAn[indexTable].ID), MonAn_BUS.layIDMonAn(dgvHoaDonOrder.Rows[chiSoCuaLsvHoaDon].Cells[0].Value.ToString())); } catch (Exception) { return; } dgvHoaDonOrder.Rows.RemoveAt(chiSoCuaLsvHoaDon); // xóa món ăn trên listview LoadHoaDon(danhSachBanAn[indexTable].ID); // sau khi xóa thì load lại hóa đơn } }
private void ButtonThanhToan_Click(object sender, EventArgs e) { if (indexTable == -1) { return; } if (listBanAn.Items[indexTable].ImageIndex == 1) { MessageBox.Show("Mở Bàn Để Thanh Tóan"); return; } int tien = int.Parse(lbThanhTien.Text); CultureInfo cul = new CultureInfo("vi-VN"); // định dạng tiền việt string tienThanhToan = tien.ToString("c", cul); int ID = HoaDonOrder_BUS.layIDHoaDon(danhSachBanAn[indexTable].ID); if (MessageBox.Show("Thanh Toán: " + tienThanhToan, "Thanh Toán", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { // xóa hết món ăn trên bàn ăn đó HoaDonOrder_BUS.XoaThongTinHoaDon(ID); // update số tiền DateTime time = DateTime.Now; string ngayThanhToan = time.ToString("dd/MM/yyyy"); try { HoaDonOrder_BUS.UpdateHoaDon(1, ngayThanhToan, int.Parse(lbThanhTien.Text), danhSachBanAn[indexTable].ID); } catch (Exception) { MessageBox.Show("Lỗi Rồi...."); return; } Document doc = new Document(iTextSharp.text.PageSize.LETTER, 5, 5, 2, 2); string timesTTF = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "times.TTF"); BaseFont arial = BaseFont.CreateFont(timesTTF, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); iTextSharp.text.Font f_24_Bold = new iTextSharp.text.Font(arial, 24, iTextSharp.text.Font.BOLD); iTextSharp.text.Font f_20_normal = new iTextSharp.text.Font(arial, 20, iTextSharp.text.Font.NORMAL); iTextSharp.text.Font f_20_Bold = new iTextSharp.text.Font(arial, 20, iTextSharp.text.Font.BOLD); FileStream os = new FileStream(lbBan.Text.ToString() + ".pdf", FileMode.Create); using (os) { //Khi báo lỗi tick vào ô itextsharp, lỗi này đã được itextsharp exception xử lý rồi nên sẽ không sao //Sau khi skip exception của lỗi này thì chương trình vẫn chạy bình thường //Lỗi này không xuất hiện khi chạy ứng dụng cài bằng file setup PdfWriter wri = PdfWriter.GetInstance(doc, os); doc.Open(); PdfPTable table = new PdfPTable(1); iTextSharp.text.Image JPEG = iTextSharp.text.Image.GetInstance(stringIMAGE); JPEG.BorderColor = iTextSharp.text.BaseColor.WHITE; JPEG.Alignment = Element.ALIGN_CENTER; table.WidthPercentage = 20; table.AddCell(JPEG); doc.Add(table); PdfPTable table1 = new PdfPTable(1); float[] width = new float[] { 20f, 40f }; PdfPCell cell1 = new PdfPCell(new Phrase("\nRESTAURANT", f_24_Bold)); PdfPCell cell3 = new PdfPCell(new Phrase("\nĐT: 0854402341 - 0333304558", f_20_normal)); PdfPCell cell4 = new PdfPCell(new Phrase("-----------------------------------------", f_20_normal)); PdfPCell cell5 = new PdfPCell(new Phrase("Hóa Đơn Thanh Toán", f_24_Bold)); PdfPCell cell6 = new PdfPCell(new Phrase($"Số HD: {ID}", f_20_normal)); PdfPCell cell7 = new PdfPCell(new Phrase("Ngày in: " + lbNgay.Text.ToString() + " Giờ in: " + DateTime.Now.ToString("HH:mm:ss tt"), f_20_normal)); PdfPCell cell8 = new PdfPCell(new Phrase("Bàn: " + lbBan.Text.ToString(), f_20_Bold)); PdfPCell cell9 = new PdfPCell(new Phrase($"Thu ngân: {nv.TenNhanVien}", f_20_normal)); PdfPCell cell10 = new PdfPCell(new Phrase("Số khách: ", f_20_normal)); cell1.Border = iTextSharp.text.Rectangle.NO_BORDER; cell3.Border = iTextSharp.text.Rectangle.NO_BORDER; cell4.Border = iTextSharp.text.Rectangle.NO_BORDER; cell5.Border = iTextSharp.text.Rectangle.NO_BORDER; cell6.Border = iTextSharp.text.Rectangle.NO_BORDER; cell7.Border = iTextSharp.text.Rectangle.NO_BORDER; cell8.Border = iTextSharp.text.Rectangle.NO_BORDER; cell9.Border = iTextSharp.text.Rectangle.NO_BORDER; cell10.Border = iTextSharp.text.Rectangle.NO_BORDER; cell1.HorizontalAlignment = Element.ALIGN_JUSTIFIED_ALL; cell3.HorizontalAlignment = Element.ALIGN_CENTER; cell4.HorizontalAlignment = Element.ALIGN_CENTER; cell5.HorizontalAlignment = Element.ALIGN_CENTER; cell6.HorizontalAlignment = Element.ALIGN_JUSTIFIED; cell7.HorizontalAlignment = Element.ALIGN_JUSTIFIED; cell8.HorizontalAlignment = Element.ALIGN_JUSTIFIED; cell9.HorizontalAlignment = Element.ALIGN_JUSTIFIED; cell10.HorizontalAlignment = Element.ALIGN_JUSTIFIED; cell1.VerticalAlignment = Element.ALIGN_TOP; cell3.VerticalAlignment = Element.ALIGN_CENTER; table1.WidthPercentage = 80; table1.HorizontalAlignment = Element.ALIGN_CENTER; table1.AddCell(cell1); table1.AddCell(cell3); table1.AddCell(cell4); table1.AddCell(cell5); table1.AddCell(cell6); table1.AddCell(cell7); table1.AddCell(cell8); table1.AddCell(cell9); table1.AddCell(cell10); table1.SpacingAfter = 5; table1.SpacingBefore = 5; doc.Add(table1); PdfPTable pdfTable = new PdfPTable(dgvHoaDonOrder.Columns.Count); pdfTable.DefaultCell.Padding = 3; pdfTable.WidthPercentage = 80; pdfTable.HorizontalAlignment = Element.ALIGN_CENTER; pdfTable.SpacingAfter = 5; pdfTable.SpacingBefore = 5; foreach (DataGridViewColumn column in dgvHoaDonOrder.Columns) { PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText, f_20_Bold)); cell.Border = iTextSharp.text.Font.BOLD + iTextSharp.text.Rectangle.BOTTOM_BORDER; cell.HorizontalAlignment = Element.ALIGN_CENTER; pdfTable.AddCell(cell); } foreach (DataGridViewRow row in dgvHoaDonOrder.Rows) { foreach (DataGridViewCell cell in row.Cells) { PdfPCell c = new PdfPCell(new Phrase(cell.Value.ToString(), f_20_normal)); c.Border = iTextSharp.text.Rectangle.NO_BORDER; c.HorizontalAlignment = Element.ALIGN_CENTER; pdfTable.AddCell(c); } } doc.Add(pdfTable); //Thành tiền PdfPTable table2 = new PdfPTable(1); PdfPCell c1 = new PdfPCell(new Phrase("\nTổng Tiền: " + lbTongTienThanhToan.Text.ToString() + " VND", f_20_Bold)); PdfPCell c2 = new PdfPCell(new Phrase("\nKhuyến Mãi: " + txtKhuyenMaiPhanTram.Text.ToString() + "%" + "\n\n\n", f_20_Bold)); PdfPCell c3 = new PdfPCell(new Phrase("\nThành Tiền: " + lbThanhTien.Text.ToString() + " VND", f_20_Bold)); PdfPCell c4 = new PdfPCell(new Phrase("\n\n\nHân hạnh được phục vụ quý khách !", f_20_normal)); c1.Border = iTextSharp.text.Font.BOLD; c2.Border = iTextSharp.text.Rectangle.BOTTOM_BORDER; c3.Border = iTextSharp.text.Rectangle.NO_BORDER; c4.Border = iTextSharp.text.Rectangle.NO_BORDER; c1.HorizontalAlignment = Element.ALIGN_JUSTIFIED; c2.HorizontalAlignment = Element.ALIGN_JUSTIFIED; c3.HorizontalAlignment = Element.ALIGN_JUSTIFIED; c3.VerticalAlignment = Element.ALIGN_CENTER; c4.HorizontalAlignment = Element.ALIGN_CENTER; table2.HorizontalAlignment = Element.ALIGN_CENTER; table2.WidthPercentage = 80; table2.AddCell(c1); table2.AddCell(c2); table2.AddCell(c3); table2.AddCell(c4); table2.SpacingAfter = 10; table2.SpacingBefore = 10; doc.Add(table2); doc.Close(); System.Diagnostics.Process.Start(lbBan.Text.ToString() + ".pdf"); } // sửa lại trạng thái bàn ăn thành trống BanAn_BUS.SuaTrangThaiBanAn2(danhSachBanAn[indexTable].ID); listBanAn.Items[indexTable].ImageIndex = 1; lbTrangThai.Text = "Trống"; lbBan.ForeColor = Color.Red; // load lại màu chữ lbTrangThai.ForeColor = Color.Red; // load lại màu chữ LoadHoaDon(danhSachBanAn[indexTable].ID); // sau khi xóa thì load lại hóa đơn panelOrderMon.SendToBack(); } }