private void BtnHuyHoaDon_Click(object sender, EventArgs e) { try { btnThemHoaDon.Enabled = true; btnLuuHD.Enabled = false; btnXoaHoaDon.Enabled = false; btnHuyHoaDon.Enabled = false; btnXuatHoaDon.Enabled = false; btnThemSP.Enabled = false; txtMaKH.Enabled = true; txtMaHoaDon.Text = ""; txtMaSanPham.Text = ""; txtTenSanPham.Text = ""; txtSoLuong.Text = ""; txtDonGia.Text = ""; txtThanhTien.Text = ""; dgvChiTietHoaDon.DataSource = null; MessageBox.Show("Đã hủy hóa đơn"); OrderHaunt odh = new OrderHaunt(); odh = db.OrderHaunts.OrderByDescending(o => o.OrderHauntID).First(); db.OrderHaunts.Remove(odh); db.SaveChanges(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void BtnLuuHD_Click(object sender, EventArgs e) { try { if (listHauntDetail_Database.Count != 0) { int hauntDetailID; if (db.HauntDetails.ToList().Count == 0) { hauntDetailID = 1; } else { hauntDetailID = (db.HauntDetails.OrderByDescending(o => o.HauntDetailID).First().HauntDetailID) + 1; } int mahd = int.Parse(txtMaHoaDon.Text); OrderHaunt odh = db.OrderHaunts.FirstOrDefault(o => o.OrderHauntID == mahd); HauntDetail hd = new HauntDetail(); ProductDetail prdt = new ProductDetail(); int dem = hauntDetailID; for (int i = 0; i < listHauntDetail_Database.Count; i++, dem++) { listHauntDetail_Database[i].HauntDetailID = dem; hd = listHauntDetail_Database[i]; prdt = db.ProductDetails.FirstOrDefault(p => p.SizeCode == hd.SizeCode && p.ProductID == hd.ProductID); prdt.Quantity = prdt.Quantity - hd.Quantity; db.HauntDetails.Add(hd); } MessageBox.Show("lưu hóa đơn thành công"); btnLuuHD.Enabled = false; btnThemHoaDon.Enabled = true; odh.ToTalPrice = listHauntDetail_Database.Sum(s => s.TotalPrice); db.SaveChanges(); } else if (listOrderDetail_Database.Count != 0)// nhớ là khi khởi tạo 1 new list nó sẽ được cấp 1 ô nhớ để lưu địa chỉ ô nhớ khác => nó không null { int orderDetailID; if (db.OrderDetails.ToList().Count == 0) { orderDetailID = 1; } else { orderDetailID = (db.OrderDetails.OrderByDescending(o => o.OrderDetailID).First().OrderDetailID) + 1; } int mahd = int.Parse(txtMaHoaDon.Text); Order odr = db.Orders.FirstOrDefault(o => o.OrderID == mahd); OrderDetail od = new OrderDetail(); ProductDetail prdt = new ProductDetail(); int dem = orderDetailID; for (int i = 0; i < listOrderDetail_Database.Count; i++, dem++) { listOrderDetail_Database[i].OrderDetailID = dem; od = listOrderDetail_Database[i]; prdt = db.ProductDetails.FirstOrDefault(p => p.SizeCode == od.SizeCode && p.ProductID == od.ProductID); prdt.Quantity = prdt.Quantity - od.Quantity; db.OrderDetails.Add(od); } odr.ToTalPrice = listOrderDetail_Database.Sum(s => s.TotalPrice); Customer ct = db.Customers.FirstOrDefault(c => c.SDT == txtSDT.Text); ct.BuyTotal = ct.BuyTotal + odr.ToTalPrice; db.SaveChanges(); MessageBox.Show("lưu hóa đơn thành công"); Customer update = db.Customers.FirstOrDefault(x => x.SDT == txtSDT.Text); if (update != null) { txtTongTienDaMua.Text = update.BuyTotal.ToString(); } btnLuuHD.Enabled = false; btnThemHoaDon.Enabled = true; } else { MessageBox.Show("hóa đơn rỗng, vui lòng thêm sản phẩm."); } } catch (Exception ex) { Exception exception = ex.GetBaseException(); MessageBox.Show(exception.Message); MessageBox.Show("đã bị lỗi ở lưu hóa đơn"); } }
private void BtnThemHoaDon_Click(object sender, EventArgs e) { listOrderDetail_Database.Clear(); listHauntDetail_Database.Clear(); dgvChiTietHoaDon.DataSource = null; txtTongTienHoaDon.Text = ""; if (txtMaKH.Text == "")// xử lý khi không có mã khách hàng { if (txtMaNV.Text == "") { MessageBox.Show("vui lòng nhập mã nhân viên"); } else { if (txtMaKH.Text == "" && checkStaff(int.Parse(txtMaNV.Text))) { txtMaKH.Enabled = false; } bool check = checkStaff(int.Parse(txtMaNV.Text)); if (check == false) { MessageBox.Show("mã nhân viên không tồn tại vui lòng nhập lại"); } else { OrderHaunt odh = new OrderHaunt(); odh.CreateDate = DateTime.Now; odh.AdminID = int.Parse(txtMaNV.Text); odh.ToTalPrice = 0; db.OrderHaunts.Add(odh); db.SaveChanges(); // dtpNgayban.Value = odh.CreateDate; chưa xử lý được phần ngày. odh = db.OrderHaunts.OrderByDescending(o => o.OrderHauntID).First(); //tìm ra hóa đơn có mã lớn nhất txtMaHoaDon.Text = odh.OrderHauntID.ToString(); // đưa mã hóa đơn lên textbox txtMaNV.Text = odh.AdminID.ToString(); Administrator admin = db.Administrators.FirstOrDefault(a => a.AdminID.ToString() == txtMaNV.Text); txtTenNhanVien.Text = admin.FullName; btnHuyHoaDon.Enabled = true; btnXuatHoaDon.Enabled = true; btnThemSP.Enabled = true; btnThemHoaDon.Enabled = false; txtMaSanPham.Enabled = true; MessageBox.Show("hóa đơn mới đã được tạo!"); } } }// kết thúc phần code không khách hàng else if (checkCustomer(int.Parse(txtMaKH.Text)) == false) { MessageBox.Show("không tồn tại khách hàng"); } else { Order od = new Order(); od.CreateDate = DateTime.Now; od.AdminID = int.Parse(txtMaNV.Text); od.ToTalPrice = 0; od.CustomerID = int.Parse(txtMaKH.Text); db.Orders.Add(od); db.SaveChanges(); // dtpNgayban.Value = odh.CreateDate; chưa xử lý được phần ngày. od = db.Orders.OrderByDescending(o => o.OrderID).First(); //tìm ra hóa đơn có mã lớn nhất txtMaHoaDon.Text = od.OrderID.ToString(); // đưa mã hóa đơn lên textbox txtMaNV.Text = od.AdminID.ToString(); Administrator admin = db.Administrators.FirstOrDefault(a => a.AdminID.ToString() == txtMaNV.Text); txtTenNhanVien.Text = admin.FullName; btnHuyHoaDon.Enabled = true; btnXuatHoaDon.Enabled = true; btnThemSP.Enabled = true; btnThemHoaDon.Enabled = false; txtMaSanPham.Enabled = true; txtSoLuong.Enabled = true; MessageBox.Show("hóa đơn mới đã được tạo!"); } }