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(); }