Thanh toán hóa đơn trong phần mềm Quản lý quán cafe với C# Winform

Lập trình phần mềm Quản lý quán cafe với C# Winform

4.8 (4 đánh giá)
Tạo bởi HowKteam Cập nhật lần cuối 4 năm trước 50.607 lượt xem 22 bình luận
Tác giả/Dịch giả: HowKteam
Học nhanh

Danh sách bài học

01. Thiết kế cơ sở dữ liệu cho phần mềm Quản lý quán cafe với C# Winform 02. Thiết kế giao diện cho phần mềm Quản lý quán cafe với C# Winform 03. Giới thiệu mô hình 3 lớp (3 Layers) 04. Tạo lớp DataProvider cho phần mềm Quản lý quán cafe với C# Winform 05. Giới thiệu design patern Singleton phần mềm Quản lý quán cafe với C# Winform 06. Tạo chức năng đăng nhập cho phần mềm Quản lý quán cafe với C# Winform 07. Hạn chế lỗi SQL Injection cho phần mềm Quản lý quán cafe với C# Winform 08. Hiển thị số bàn theo CSDL cho phần mềm Quản lý quán cafe với C# Winform 09. Hiển thị hóa đơn theo bàn cho phần mềm Quản lý quán cafe với C# Winform 10. Hiển thị tổng tiền cho phần mềm Quản lý quán cafe với C# Winform 11. Thêm bớt món hóa đơn trong phần mềm Quản lý quán cafe với C# Winform 12. Thanh toán hóa đơn trong phần mềm Quản lý quán cafe với C# Winform 13. Chuyển bàn trong phần mềm Quản lý quán cafe với C# Winform 14. Hiển thị sanh sách hóa đơn trong phần mềm Quản lý quán cafe với C# Winform 15. Thay đổi thông tin cá nhân trong phần mềm Quản lý quán cafe với C# Winform 16. Hiển thị danh sách thức ăn trong phần mềm Quản lý quán cafe với C# Winform 17. Binding thông tin thức ăn trong phần mềm Quản lý quán cafe với C# Winform 18. Thêm, xóa, sửa thức ăn trong phần mềm Quản lý quán cafe với C# Winform 19. Tìm kiếm gần đúng thức ăn trong phần mềm Quản lý quán cafe với C# Winform 20. Hiển thị danh sách tài khoản trong phần mềm Quản lý quán cafe với C# Winform 21. Thêm, xóa, sửa tài khoản trong phần mềm Quản lý quán cafe với C# Winform 22. Mã hóa mật khẩu trong phần mềm Quản lý quán cafe với C# Winform 23. Tạo phím tắt cho phần mềm Quản lý quán cafe với C# Winform 24. Phân trang cho hóa đơn trong phần mềm Quản lý quán cafe với C# Winform 25. Tạo report trong phần mềm Quản lý quán cafe với C# Winform 26. Đóng gói phần mềm Quản lý quán cafe với C# Winform

Thanh toán hóa đơn trong phần mềm Quản lý quán cafe với C# Winform

Không có gì tuyệt vời hơn là luyện tập với ví dụ thực tế. Nào cùng nhau thử thách bản thân với phần mềm: Quản lý quán cafe

Bạn nên có kiến thức về:

  • Lập trình Winform cơ bản
  • Delegate – Event
  • SQL server
  • Xử lý ngày tháng năm

Code Data.sql

Code fTableManager.cs

Code fTableManager.Designer.cs

Code BillDAO.cs

Bài sau chúng ta sẽ cùng nhau tìm hiểu cách chuyển bàn, gộp bàn.

Đừng quên: “Luyện tập – Thử thách – Không ngại khó


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Thanh toán hóa đơn trong phần mềm Quản lý quán cafe với C# Winform dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!

Project

Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tác giả/Dịch giả

Khóa học

Lập trình phần mềm Quản lý quán cafe với C# Winform

Bạn đã học qua LẬP TRÌNH C# CƠ BẢN? Xong nốt cả LẬP TRÌNH WINFORM lẫn SQL?

Bạn đã chán các bài tập căn bản, muốn thực hành các kiến thức đã học vào một dự án thực tế?

Hay đơn giản bạn là chủ quán café, mong muốn tự tạo nên phần mềm dành cho chính mình sử dụng?

Vậy còn chần chừ gì không tham gia ngay khóa học LẬP TRÌNH PHẦN MỀM QUÁN CAFÉ VỚI C# WINFORM?

Đánh giá

4.8
4 đánh giá
Đánh giá
5
3
4
1
3
2
1
DongTV đã đánh giá 4 năm trước

Miracle đã đánh giá 5 năm trước

buulaquoc đã đánh giá 5 năm trước

nucasspro đã đánh giá 6 năm trước

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Le Rachitique đã bình luận 3 năm trước

Thanh toán xong phải in ra hoá đơn nó mới ngầu, đây là hàm in ra hoá đơn mình viết, có gì các bác đóng góp giúp nhé

void PrintBillByID(int? id)
        {
            PrintDialog printDialog = new PrintDialog();
            PrintDocument printDocument = new PrintDocument();
            printDocument.PrintPage += PrintDocument_PrintPage;

            if (printDialog.ShowDialog() == DialogResult.OK)
            {
                printDocument.PrinterSettings.PrinterName = 
                printDialog.PrinterSettings.PrinterName;

                printDocument.DefaultPageSettings.PaperSize = 
                printDialog.PrinterSettings.PaperSizes[8]; //giấy A4(1169 - 827)

                printDocument.DocumentName = 
                $"BillID_{id}_" + DateTime.Now.ToString("ddMMyyy_hhmmss_tt");

                printDocument.Print();
            }
        }


private void PrintDocument_PrintPage(object sender, PrintPageEventArgs e)
        {
            Font fontBold = new Font(FontFamily.Families[159], 12, FontStyle.Bold); //font segoe UI
            Font fontRegular = new Font(FontFamily.Families[159], 9, FontStyle.Regular);

            string content = "**HOÁ ĐƠN THANH TOÁN**";
            e.Graphics.DrawString(content, fontBold, Brushes.Black, 300, 50);

            string pattern = @"\d+";
            var id = int.Parse(Regex.Match((sender as PrintDocument).DocumentName, pattern).Value);
            var bill = BillDAO.Instance.GetBillByID(id);
            
            content = $"Ngày:\t\t {DateTime.Now.ToString("F")}\nID hoá đơn:\t {id}\nID bàn:\t\t 
                                                      {bill.TableID}";
            e.Graphics.DrawString(content, fontRegular, Brushes.Black, 192, 120);

            Bitmap bitmap = new Bitmap(lsvBill.Width, lsvBill.Height, 
                                              System.Drawing.Imaging.PixelFormat.Format32bppRgb);
            lsvBill.DrawToBitmap(bitmap, new Rectangle(0, 0, lsvBill.Width - 1, lsvBill.Height));
                     
            e.Graphics.DrawImage(bitmap, new Point(192, 170));

            int discount = (int)nmDiscount.Value;
            double billTotalPrice = (double)txbTotalPrice.Tag;
            double billFinalPrice = billTotalPrice - billTotalPrice * discount / 100;
            System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("vi- 
                                                                                              vn");

            content = $"Thành tiền:\t {txbTotalPrice.Text}\nGiảm giá:\t {discount}%\nPhải trả:\t 
                                                   {billFinalPrice.ToString("c0", culture)}";
            e.Graphics.DrawString(content, fontBold, Brushes.Black, 192, 550);
        }

https://uphinh.vn/image/tDcJZA
https://uphinh.vn/image/tDc2UU

https://uphinh.vn/image/tDrl1b

Huyhoang5122002 đã bình luận 3 năm trước

Anh ơi cho e hỏi cái vấn đề lỗi mà : Trên flpTable có 2 bàn trở lên status = 1 khi mình thanh toán 1 bàn thì bàn đó thanh toán đc mà không đổi status về Trống đc, Mà khi flpTable có 1 bàn duy nhất status =1 khi mình thanh toán mới đổi về Trống đc ạ ? Anh giải đáp giúp e với ạ. e đã TRIGGER UTG_UpdateBill TRIGGER UTG_UpdateBillInfo rồi mà ko đc ạ

phuprince2z đã bình luận 4 năm trước

Hay quá

Miracle đã bình luận 5 năm trước

fix lỗi idBill luôn bằng -1 thế nào hả anh.

minh48h đã bình luận 5 năm trước

Anh, làm sao em nhấn nút thanh toán mà trong cơ sở dũ liệu thức ăn không bị xóa vậy anh. Nên khi table load() lại vẫn còn thức ăn

Không có video.