private void invoiceTextbox_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter && invoiceTextbox.Text != "")
            {
                stockHistoryDG.Items.Clear();
                salesHistoryDG.Items.Clear();
                try
                {
                    Sale sales    = Sale_TableData.getSalesbyInvoiceID(int.Parse(invoiceTextbox.Text));
                    var  cus_sale = sales.Customer_Sales;

                    foreach (var item in cus_sale)
                    {
                        SalesHistoryDataGrid salesHis;
                        if (item.Gifts.Count == 0)
                        {
                            salesHis = new SalesHistoryDataGrid(item, "");
                        }
                        else
                        {
                            salesHis = new SalesHistoryDataGrid(item, item.Gifts.First().Barcode);
                        }

                        salesHistoryDG.Items.Add(salesHis);
                        stockHistoryDG.Items.Add(item.Product);
                    }
                }
                catch (Exception ex)
                {
                    Xceed.Wpf.Toolkit.MessageBox.Show("No product found. Press 'OK' to exit.\n\nDetailed Error:" + ex.Message, "Empty Product", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
        private void fillSaleDGandProductDG()
        {
            DB.resetConnString();
            productsDG.Items.Clear();
            salesHistoryDG.Items.Clear();
            listView.Items.Clear();
            deleteSelected.IsEnabled = false;
            adjustQuantity.IsEnabled = false;

            if (productModel.SelectedIndex == -1)
            {
                return;
            }

            // for product and barocde datagrid
            product = ProductTableData.getProductByModel(productModel.SelectedItem.ToString());
            Barcode[] barcodes = ProductTableData.getBarcodesByPID(product.ID);

            if (product.Unique_Barcode.StartsWith("Y"))
            {
                deleteSelected.IsEnabled = true;
            }
            else
            {
                adjustQuantity.IsEnabled = true;
            }

            foreach (var item in barcodes)
            {
                if (premitBarcodeinListView(item.Barcode_Serial) == true)
                {
                    listView.Items.Add(new ListViewItems(listView.Items.Count + 1, item.Barcode_Serial, item.Color, item.Date.ToString()));
                }
            }

            productsDG.Items.Add(product);

            //for sales table
            List <Customer_Sale> customer_Sale_List = Customer_SaleTableData.getCustomer_SalebyMatchingProduct(product);

            foreach (var item in customer_Sale_List)
            {
                if (item.Sale == null)
                {
                    MessageBox.Show("Error showing this item. ");
                    continue;
                }
                SalesHistoryDataGrid salesHis;
                if (item.Gifts.Count == 0)
                {
                    salesHis = new SalesHistoryDataGrid(item, "");
                }
                else
                {
                    salesHis = new SalesHistoryDataGrid(item, item.Gifts.First().Barcode);
                }

                salesHistoryDG.Items.Add(salesHis);
            }
        }
        private void barcodeimeiTextBox_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter && barcodeimeiTextBox.Text != "")
            {
                stockHistoryDG.Items.Clear();
                salesHistoryDG.Items.Clear();
                try
                {
                    //for stock datagrid
                    Barcode bar     = ProductTableData.getBarcode(barcodeimeiTextBox.Text);
                    Product product = bar.Product;

                    stockHistoryDG.Items.Add(product);

                    //for sales datagrid
                    Gift gif = bar.Gift;
                    if (gif != null)
                    {
                        Customer_Sale cus_sale = gif.Customer_Sale;

                        SalesHistoryDataGrid salesHis = new SalesHistoryDataGrid(cus_sale, gif.Barcode);
                        salesHistoryDG.Items.Add(salesHis);
                    }
                }
                catch (Exception ex)
                {
                    Xceed.Wpf.Toolkit.MessageBox.Show("No product found. Press 'OK' to exit.\n\nDetailed Error:" + ex.Message, "Empty Product", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }