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 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(); } }