예제 #1
0
        public void loadSaleInvoice()
        {
            selectedSaleInvoice = null;
            List <ActionForm> listAction = new List <ActionForm>()
            {
                new ActionForm("choose", "Chọn thao tác"),
                new ActionForm("view", "Xem chi tiết"),
                new ActionForm("create", "Thêm hóa đơn"),
                new ActionForm("delete", "Xóa hóa đơn")
            };

            cbActionSaleInvoice.DataSource    = listAction;
            cbActionSaleInvoice.DisplayMember = "action";
            cbActionSaleInvoice.ValueMember   = "key";
            dgvHoaDonBan.DataSource           = new db_sale_managementEntities().hoa_don_ban.ToList();

            List <khach_hang> listCustomer = new db_sale_managementEntities().khach_hang.ToList();

            cbKhachHang.DataSource    = listCustomer;
            cbKhachHang.DisplayMember = "ho_ten";
            cbKhachHang.ValueMember   = "ma_khach_hang";

            List <nhan_vien> listStaff = new db_sale_managementEntities().nhan_vien.ToList();

            cbNhanVien.DataSource    = listStaff;
            cbNhanVien.DisplayMember = "ho_ten";
            cbNhanVien.ValueMember   = "ma_nhan_vien";
        }
예제 #2
0
 private void dgvHoaDonBan_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
 {
     try
     {
         selectedSaleInvoice = db.hoa_don_ban.Find(dgvHoaDonBan.Rows[e.RowIndex].Cells[0].Value);
     }
     catch (Exception)
     {
         MessageBox.Show("Click chuột sai vị trí", "Lỗi", MessageBoxButtons.OK);
     }
 }
예제 #3
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         int quantity = txtQuantity.Value;
         if (quantity <= 0)
         {
             MessageBox.Show("Số lượng phải là số nguyên dương!", "Thông báo", MessageBoxButtons.OK);
             return;
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Yêu cầu nhập đúng định dạng của thông tin!", "Thông báo", MessageBoxButtons.OK);
     }
     try
     {
         san_pham product = db.san_pham.Find(int.Parse(cbProduct.SelectedValue.ToString()));
         if (txtQuantity.Value > product.so_luong)
         {
             MessageBox.Show("Số lượng sản phẩm không đủ!", "Thông báo", MessageBoxButtons.OK);
             return;
         }
         //Thêm chi tiết hóa đơn
         chi_tiet_hoa_don_ban entity = new chi_tiet_hoa_don_ban();
         entity.ma_hoa_don  = selectedSaleInvoice.ma_hoa_don;
         entity.ma_san_pham = product.ma_san_pham;
         entity.so_luong    = txtQuantity.Value;
         entity.don_gia     = product.gia_san_pham;
         entity.thanh_tien  = entity.so_luong * entity.don_gia;
         db.chi_tiet_hoa_don_ban.Add(entity);
         db.SaveChanges();
         //Cập nhật số lượng sản phẩm
         product.so_luong  -= entity.so_luong;
         product.tinh_trang = (product.so_luong > 0) ? true : false;
         db.SaveChanges();
         //Cập nhật tổng tiền của hóa đơn
         hoa_don_ban saleInvoice = db.hoa_don_ban.Find(selectedSaleInvoice.ma_hoa_don);
         List <chi_tiet_hoa_don_ban> listDetail = db.chi_tiet_hoa_don_ban.Where(x => x.ma_hoa_don == selectedSaleInvoice.ma_hoa_don).ToList();
         double sum = 0;
         foreach (chi_tiet_hoa_don_ban item in listDetail)
         {
             sum += item.thanh_tien;
         }
         saleInvoice.tong_tien = sum;
         db.SaveChanges();
         load();
     }
     catch (Exception)
     {
         MessageBox.Show("Sản phẩm không tồn tại hoặc đã có trong hóa đơn!", "Thông báo", MessageBoxButtons.OK);
     }
 }
예제 #4
0
        public void load()
        {
            selectedSaleInvoice  = QuanLy.selectedSaleInvoice;
            dgvDetail.DataSource = db.chi_tiet_hoa_don_ban.Where(x => x.ma_hoa_don == selectedSaleInvoice.ma_hoa_don).ToList();
            lblTitle.Text        = "Mã hóa đơn: " + selectedSaleInvoice.ma_hoa_don;

            cbProduct.DataSource    = db.san_pham.ToList();
            cbProduct.DisplayMember = "ten_san_pham";
            cbProduct.ValueMember   = "ma_san_pham";

            cbProduct.Enabled   = false;
            txtQuantity.Enabled = false;
            btnDelete.Enabled   = false;
            btnSave.Enabled     = false;
        }
예제 #5
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            san_pham             product = db.san_pham.Find(int.Parse(cbProduct.SelectedValue.ToString()));
            chi_tiet_hoa_don_ban entity  = db.chi_tiet_hoa_don_ban.SingleOrDefault(x => x.ma_hoa_don == selectedSaleInvoice.ma_hoa_don && x.ma_san_pham == product.ma_san_pham);

            db.chi_tiet_hoa_don_ban.Remove(entity);
            db.SaveChanges();
            //Cập nhật tổng tiền của hóa đơn
            hoa_don_ban saleInvoice = db.hoa_don_ban.Find(selectedSaleInvoice.ma_hoa_don);
            List <chi_tiet_hoa_don_ban> listDetail = db.chi_tiet_hoa_don_ban.Where(x => x.ma_hoa_don == selectedSaleInvoice.ma_hoa_don).ToList();
            double sum = 0;

            foreach (chi_tiet_hoa_don_ban item in listDetail)
            {
                sum += item.thanh_tien;
            }
            saleInvoice.tong_tien = sum;
            db.SaveChanges();
            MessageBox.Show("Xóa dữ liệu thành công!", "Thông báo", MessageBoxButtons.OK);
            load();
        }
예제 #6
0
        private void cbActionSaleInvoice_SelectedValueChanged(object sender, EventArgs e)
        {
            if (USER_LOGIN.phan_quyen > 2 && check == 1)
            {
                MessageBox.Show("Bạn không có quyền thực hiện thao tác này!", "Thông báo", MessageBoxButtons.OK);
                return;
            }
            string selectedAction = cbActionSaleInvoice.SelectedValue.ToString();

            switch (selectedAction)
            {
            case "view":
                if (selectedSaleInvoice == null)
                {
                    MessageBox.Show("Chọn hóa đơn muốn xem chi tiết!", "Thông báo", MessageBoxButtons.OK);
                    refresh();
                    return;
                }
                else
                {
                    ChiTietHoaDonBan xform = new ChiTietHoaDonBan();
                    xform.ShowDialog(this);
                    refresh();
                }
                break;

            case "create":
                hoa_don_ban entity = new hoa_don_ban();
                entity.ngay_lap      = DateTime.Now;
                entity.tong_tien     = 0;
                entity.ma_khach_hang = int.Parse(cbKhachHang.SelectedValue.ToString());
                entity.ma_nhan_vien  = int.Parse(cbNhanVien.SelectedValue.ToString());
                db.hoa_don_ban.Add(entity);
                db.SaveChanges();
                MessageBox.Show("Thêm dữ liệu thành công!", "Thông báo", MessageBoxButtons.OK);
                refresh();
                break;

            case "delete":
                try
                {
                    if (selectedSaleInvoice == null)
                    {
                        MessageBox.Show("Chọn hóa đơn cần xóa!", "Thông báo", MessageBoxButtons.OK);
                        refresh();
                        return;
                    }
                    else
                    {
                        if (MessageBox.Show(null, "Việc xóa hóa đơn này sẽ làm mất đi cả các thông tin chi tiết của hóa đơn. Bạn có chắc chắn muốn xóa không?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                        {
                            List <chi_tiet_hoa_don_ban> listDetail = db.chi_tiet_hoa_don_ban.Where(x => x.ma_hoa_don == selectedSaleInvoice.ma_hoa_don).ToList();
                            foreach (chi_tiet_hoa_don_ban item in listDetail)
                            {
                                db.chi_tiet_hoa_don_ban.Remove(item);
                                db.SaveChanges();
                            }
                            db.hoa_don_ban.Remove(selectedSaleInvoice);
                            db.SaveChanges();
                            refresh();
                            MessageBox.Show("Xóa dữ liệu thành công!", "Chúc mừng", MessageBoxButtons.OK);
                        }
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Xóa thất bại", "Lỗi", MessageBoxButtons.OK);
                }
                break;
            }
        }