private void ButtonUpdate_Click(object sender, RoutedEventArgs e)
        {
            switch (TabControlConsole.SelectedIndex)
            {
            case 2:
                if (LvEmployee.SelectedIndex < 0)
                {
                    MessageBox.Show("Please select an Employee", "Warning", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }
                Employee ep = (Employee)LvEmployee.Items[LvEmployee.SelectedIndex];
                TbEmployeeId.Text = ep.Id + "";
                TbFirstName.Text  = ep.FirstName;
                TbLastName.Text   = ep.LastName;
                TbUserName.Text   = ep.UserName;
                TbPassWord.Text   = ep.PSword;
                TbSalary.Text     = ep.Salary.ToString("$#.##");
                TabControlSearch.SelectedIndex  = 2;
                TabControlConsole.SelectedIndex = 2;
                break;

            case 1:
                if (LvOrders.SelectedIndex < 0)
                {
                    MessageBox.Show("Please select a Order Item", "Warning", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }
                Order o = (Order)LvOrders.Items[LvOrders.SelectedIndex];
                TbOrderID.Text                  = o.OrderId + "";
                TbInvoiceNo.Text                = o.InvoiceNr + "";
                TbCustomerId.Text               = o.CustomerId + "";
                TbEmployeeID.Text               = o.EmpId + "";
                TbTotalPrice.Text               = o.TotalPrice.ToString("$ ###.00");
                TbPaymentMethod.Text            = o.PaymentMethod + "";
                TbOderDate.Text                 = o.OrderDate.ToString();
                TabControlSearch.SelectedIndex  = 1;
                TabControlConsole.SelectedIndex = 1;
                break;

            case 0:
                if (LvItems.SelectedIndex < 0)
                {
                    MessageBox.Show("Please select a Item", "Warning", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }
                InStock ins = (InStock)LvItems.Items[LvItems.SelectedIndex];
                TbProductName.Text              = ins.ProductName;
                TbAlertUnit.Text                = ins.TriggerLevel + "";
                TbVendor.Text                   = ins.Vendor;
                TbSalePrice.Text                = ins.SalePrice.ToString("$ ##.00");
                TbCategoryId.Text               = ins.CategoryId + "";
                TbStockUnit.Text                = ins.Quantity + "";
                TbPurchasedPrice.Text           = ins.UnitPrice.ToString("$ ##.00");
                TbProductId.Text                = ins.Id + "";
                TabControlConsole.SelectedIndex = 0;
                TabControlSearch.SelectedIndex  = 0;
                break;
            }
        }
        private void ButtonDelete_Click(object sender, RoutedEventArgs e)
        {
            switch (TabControlConsole.SelectedIndex)
            {
            case 2:
                if (LvEmployee.SelectedIndex < 0)
                {
                    MessageBox.Show("Please select an Employee", "Warning", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }
                Employee ep = (Employee)LvEmployee.Items[LvEmployee.SelectedIndex];
                db1.DeleteEmployeeById(ep.Id);
                ReadEmployee();
                break;

            case 1:
                if (LvOrders.SelectedIndex < 0)
                {
                    MessageBox.Show("Please select a Order Item", "Warning", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }
                Order o = (Order)LvOrders.Items[LvOrders.SelectedIndex];
                db1.DeleteOrderById(o.OrderId);
                ReadOrders();
                break;

            case 0:
                if (LvItems.SelectedIndex < 0)
                {
                    MessageBox.Show("Please select a Item", "Warning", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }
                InStock ins = (InStock)LvItems.Items[LvItems.SelectedIndex];
                db1.DeleteProductById(ins.Id);
                ReadStocks();
                break;
            }
        }
        private void ButtonConfirm_Click(object sender, RoutedEventArgs e)
        {
            switch (TabControlSearch.SelectedIndex)
            {
            case 2:
                int Id;
                Int32.TryParse(TbEmployeeId.Text, out Id);
                decimal salary;
                decimal.TryParse(TbSalary.Text, out salary);
                Employee        ep   = new Employee(Id, TbFirstName.Text, TbLastName.Text, TbUserName.Text, TbPassWord.Text, salary);
                List <Employee> list = db1.GetAllEmployees();
                if (list != null)
                {
                    foreach (Employee emp in list)
                    {
                        if (emp.Id == Id)
                        {
                            db1.UpdateEmployee(ep);
                            ReadEmployee();
                            return;
                        }
                    }
                    db1.AddEmployee(ep);
                    ReadEmployee();
                }
                return;

            case 1:
                int orderId;
                Int32.TryParse(TbOrderID.Text, out orderId);
                decimal totalPrice;
                decimal.TryParse(TbTotalPrice.Text, out totalPrice);
                int invoiceNr;
                Int32.TryParse(TbInvoiceNo.Text, out invoiceNr);
                int customerId;
                Int32.TryParse(TbCustomerId.Text, out customerId);
                int empId;
                Int32.TryParse(TbEmployeeID.Text, out empId);
                string   paymentMethod = TbPaymentMethod.Text;
                DateTime orderDate;
                DateTime.TryParse(TbOderDate.Text, out orderDate);
                Order od = new Order(orderId, empId, orderDate, customerId, totalPrice, paymentMethod, invoiceNr);
                // Order o = new Order(currentOrderId, 1, dpDate.SelectedDate.Value.Date, 100, total, ComboCard.Text, invoiceNo);
                List <Order> oList = db1.GetAllOrders();
                if (oList != null)
                {
                    foreach (Order o in oList)
                    {
                        if (o.OrderId == orderId)
                        {
                            db1.UpdateOrder(od);
                            ReadOrders();
                            return;
                        }
                    }
                    db1.AddOrder(od);
                    ReadOrders();
                }
                return;

            case 0:
                int productId;
                Int32.TryParse(TbProductId.Text, out productId);
                int categoryId;
                Int32.TryParse(TbCategoryId.Text, out categoryId);
                string  productName = TbProductName.Text;
                decimal unitPrice;
                decimal.TryParse(TbPurchasedPrice.Text, out unitPrice);
                decimal salePrice;
                decimal.TryParse(TbSalePrice.Text, out salePrice);
                int quantity;
                Int32.TryParse(TbStockUnit.Text, out quantity);
                int triggerLevel;
                Int32.TryParse(TbAlertUnit.Text, out triggerLevel);
                string   vendor   = TbVendor.Text;
                DateTime expyDate = DateTime.Today;
                //  DateTime.TryParse(TbExpDate.Text, out expyDate);
                InStock        ins     = new InStock(productId, categoryId, productName, unitPrice, salePrice, quantity, triggerLevel, vendor, expyDate);
                List <InStock> insList = db1.GetAllProducts();
                if (insList != null)
                {
                    foreach (InStock insL in insList)
                    {
                        if (insL.Id == productId)
                        {
                            db1.UpdateProduct(ins);
                            ReadStocks();
                            return;
                        }
                    }
                    db1.AddProduct(ins);
                    ReadStocks();
                }
                return;
            }
        }