Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
        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");
            }
        }
Exemplo n.º 3
0
        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!");
            }
        }