Пример #1
0
        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
            }
        }
Пример #2
0
        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();
            }
        }