private void SaveToDB(object obj)
        {
            foreach (var item in OrdersInSelected)
            {
                if (item.SettedCount < 1)
                {
                    MessageBox.Show($"u diente een numerieke waarde in te geven dat hoger" +
                                    $" ligt dan 0 in de kolom 'Aantal' in rij '{item.ProductName}'",
                                    "validatie fout", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
            }


            //orderins opbouwen
            //============================

            var idsSuppliers = OrdersInSelected.Select(x => x.ID_supplier).Distinct();

            List <OrderIn> lstOrderInsBuilded = new List <OrderIn>();

            foreach (var item in idsSuppliers)
            {
                OrderIn newOrder = new OrderIn()
                {
                    Id_OrderedBy = _appDbRespository.Employee.InloggedEmployee.Id,
                    Id_Supplier  = item,
                    OrderedAt    = DateTime.Now,
                };
                newOrder.OrderLineIns = new List <OrderLineIn>();
                foreach (var ordselctd in OrdersInSelected)
                {
                    if (ordselctd.ID_supplier == item)
                    {
                        newOrder.OrderLineIns.Add(
                            new OrderLineIn()
                        {
                            EAN_Product      = ordselctd.EAN,
                            UnitPrice        = ordselctd.UnitPrice,
                            NumberOfProducts = ordselctd.SettedCount
                        });
                    }
                }
                lstOrderInsBuilded.Add(newOrder);
            }

            //messagebox string opbouwen (ook test)
            //==========================================

            StringBuilder sb = new StringBuilder();

            foreach (var buildedOrder in lstOrderInsBuilded)
            {
                sb.Append("\n" + OrdersInSelected.Where(x => x.ID_supplier == buildedOrder.Id_Supplier).Select(x => x.Name_supplier).FirstOrDefault() + "\n");
                sb.Append("===============================\n");
                foreach (var item in buildedOrder.OrderLineIns)
                {
                    sb.Append($"Aantal: {item.NumberOfProducts}  \tEAN: {item.EAN_Product} \n");
                }
            }


            //save to db
            //==========

            if (MessageBoxResult.Yes ==
                MessageBox.Show("wil je de volgende bestellingen verzenden naar de leverancier(s)?\n" +
                                sb.ToString(),
                                "Verzend Bestellingen naar leverancier", MessageBoxButton.YesNo, MessageBoxImage.Question))
            {
                foreach (var item in lstOrderInsBuilded)
                {
                    try
                    {
                        _appDbRespository.OrderIn.Add(item);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message + ex.InnerException);
                        return;
                    }
                    MessageBox.Show("Bestellingen met succes geregistreerd");
                }

                RefreschData();
            }
        }
        private void CheckInDatagridSuppliers(object obj)
        {
            int teller = 0;

            foreach (var item in AvailableTempOrdersOutdependentOfSelectedProduct)
            {
                if (item.IsChecked == true)
                {
                    teller++;
                }
            }



            //komt altijd van 1, dus alle IsBefore afzetten
            if (teller == 0)
            {
                foreach (var item in AvailableTempOrdersOutdependentOfSelectedProduct)
                {
                    item.IsBeforeChecked = false;
                    item.SettedCount     = item.CalculatedCount;
                }
            }
            //komt altijd van 0
            else if (teller == 1)
            {
                foreach (var item in AvailableTempOrdersOutdependentOfSelectedProduct)
                {
                    if (item.IsChecked)
                    {
                        item.IsBeforeChecked = true;
                    }
                }
            }
            //komt altijd van 1, dus
            //kijken of vorige geset was, dan deze afzetten (incl before),
            //before setten voor geschekte welke before niet geset was
            else
            {
                foreach (var item in AvailableTempOrdersOutdependentOfSelectedProduct)
                {
                    if (item.IsChecked && item.IsBeforeChecked)
                    {
                        item.IsBeforeChecked = false; item.IsChecked = false;
                        item.SettedCount     = item.CalculatedCount;
                    }
                    else if (item.IsChecked)
                    {
                        item.IsBeforeChecked = true;
                    }
                }
            }
            //Console.WriteLine("--------------------------------------------");
            //foreach (var item in AvailableTempOrdersOutdependentOfSelectedProduct)
            //{
            //    Console.WriteLine(item.Name_supplier + "\t" + item.IsChecked);
            //}

            //Console.WriteLine("--------------------------------------------");

            //de property ischecked bijwerken van AllProducts
            foreach (var Prod in ProductsAll)
            {
                foreach (var item in AvailableTempOrdersOutdependentOfSelectedProduct)
                {
                    if (item.EAN == Prod.EAN)
                    {
                        Prod.IsChecked = item.IsChecked;
                        if (item.IsChecked)
                        {
                            break;
                        }
                    }
                    ;
                }
            }

            //de data source bijwerken voor de bestellingen
            OrdersInSelected = _workingTempOrdersOut
                               .Where(x => x.IsChecked == true)
                               .ToList();

            CanSave_CounterOrdersSelected = OrdersInSelected.Count();
        }