// edit invoice
        public void FuncEditInvoice(tblHoaDonBanHang invoice)
        {
            var getInvoice = DB.tblHoaDonBanHangs.Find(invoice.MaHoaDonBan);

            getInvoice.NgayBan     = invoice.NgayBan;
            getInvoice.MaNhanVien  = invoice.MaNhanVien;
            getInvoice.MaKhachHang = invoice.MaKhachHang;
            DB.SaveChanges();
        }
 // payment for invoice
 public void FuncPayment(tblHoaDonBanHang newInvoice, DataTable dataTable)
 {
     db.tblHoaDonBanHangs.Add(newInvoice);
     db.SaveChanges();// thêm đơn hàng vào db
     foreach (DataRow dataRow in dataTable.Rows)
     {
         db.tblChiTietHoaDonBanHangs.Add(getDetailInvoice(dataRow, newInvoice.MaHoaDonBan));
         db.SaveChanges();// thêm hóa đơn bán hàng chi tiết
         var product = db.tblHangHoas.Find(dataRow["MaHangHoa"].ToString());
         product.SoLuong -= Convert.ToInt32(dataRow["SoLuong"].ToString());
         db.SaveChanges();// thay đổi số lượng hàng hóa sau khi thanh toán
     }
 }
Esempio n. 3
0
 // Btn thanh toán
 private void btnPAYMENT_Click(object sender, EventArgs e)
 {
     if (DATA.Rows.Count == 0)
     {
         MessageBox.Show("Không thể thực hiện chức năng này", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     else
     {
         SALEMANAGEMENT_DB DB         = new SALEMANAGEMENT_DB();
         tblHoaDonBanHang  NEWINVOICE = new tblHoaDonBanHang();
         if (string.IsNullOrEmpty(txtID_INVOICE.Text) || invoicePrice == 0 || cbbCUSTOMER.SelectedIndex == 0 || cbbSTAFF.SelectedIndex == 0 ||
             cbbSTAFF.SelectedIndex == 0 || cbbCUSTOMER.SelectedIndex == 0)
         {
             MessageBox.Show("Vui lòng nhập đầy đủ thông tin", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         else
         {
             NEWINVOICE.MaHoaDonBan = txtID_INVOICE.Text;
             NEWINVOICE.MaNhanVien  = ((CBBItem)cbbSTAFF.SelectedItem).VALUE;
             NEWINVOICE.NgayBan     = dpDAY.Value;
             NEWINVOICE.MaKhachHang = ((CBBItem)cbbCUSTOMER.SelectedItem).VALUE;
             NEWINVOICE.SoTien      = invoicePrice;
             NEWINVOICE.GiamGia     = invoiceDiscount;
             try
             {
                 MessageBox.Show("Tạo thành công hóa đơn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 DB.tblHoaDonBanHangs.Add(NEWINVOICE);
                 DB.SaveChanges();// thêm đơn hàng vào DB
                 foreach (DataRow data in DATA.Rows)
                 {
                     DB.tblChiTietHoaDonBanHangs.Add(BLL_CREATEINVOICE.Instance.GetInvoice_Detail(data, NEWINVOICE.MaHoaDonBan));
                     DB.SaveChanges();// thêm hóa đơn bán hàng chi tiết
                     var item = DB.tblHangHoas.Find(data["MaHangHoa"].ToString());
                     item.SoLuong -= Convert.ToInt32(data["SoLuong"].ToString());
                     DB.SaveChanges();// thay đổi số lượng hàng hóa sau khi thanh toán
                 }
                 ShowProduct();
                 load();
             }
             catch (Exception)
             {
                 MessageBox.Show("Tạo hóa đơn thất bại. Mã đơn bị trùng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
 }
        //Btn thanh toán
        private void btnPayment_Click(object sender, EventArgs e)
        {
            string           message = "Thông tin lỗi:\n";
            tblHoaDonBanHang invoice = new tblHoaDonBanHang();

            invoice.MaHoaDonBan = txtIdInvoice.Text.Trim();
            invoice.MaNhanVien  = ((CBBItem)cbbStaff.SelectedItem).VALUE;
            invoice.NgayBan     = dpDate.Value;
            invoice.MaKhachHang = idCustomer;
            invoice.SoTien      = intoMoney;
            invoice.GiamGia     = invoiceDiscount;
            if (String.IsNullOrEmpty(invoice.MaKhachHang) ||
                (dataTable.Rows.Count == 0) || (sendByCustomer < intoMoney) || (intoMoney < 0))
            {
                if (String.IsNullOrEmpty(invoice.MaKhachHang))
                {
                    message += "+ Khách hàng trống\n";
                }
                if (dataTable.Rows.Count == 0)
                {
                    message += "+ Hóa đơn trống sản phẩm\n";
                }
                if (sendByCustomer < intoMoney)
                {
                    message += "+ Số tiền của khách hàng trả không hợp lệ\n";
                }
                if (intoMoney < 0)
                {
                    message += "+ Hóa đơn âm tiền\n";
                }
                MessageBox.Show(message, "Lỗi tạo đơn", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            else
            {
                DialogResult answer = MessageBox.Show("Bạn chắc nhắn muốn thanh toán?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (answer == DialogResult.Yes)
                {
                    BLL_SALEPRODUCT.Instance.FuncPayment(invoice, dataTable); // Payment invoice
                    MessageBox.Show("Tạo thành công hóa đơn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    LoadData();
                    ResetInvoice(true);
                }
            }
        }