private void GuiUpdater(string msg) { App.Current.Dispatcher.Invoke( () => { Console.WriteLine(msg); string[] split = msg.Split('|'); /* split = * [0] ID L345 * [1] Gewicht * [2] Beladung */ ObservableCollection <Ladung> oldLadungsliste = new ObservableCollection <Ladung>(); foreach (var lkw in LKWs) { if (lkw.ID.Equals(split[0])) { oldLadungsliste = lkw.Ladungliste; SelectedLKW = null; LKWs.Remove(lkw); break; } } LKW newLKW = new LKW() { ID = split[0], Ladungsgewicht = int.Parse(split[1]), Ladungliste = oldLadungsliste }; ObservableCollection <Produkt> Produktsammlung = new ObservableCollection <Produkt>(); for (int i = 2; i < split.Length; i++) { Produktsammlung.Add(new Produkt() { Produktname = split[i] }); } Ladung newLadung = new Ladung(); newLadung.Produkte = Produktsammlung; newLKW.Ladungliste.Add(newLadung); newLKW.Ladunganzahl = newLKW.Ladungliste.Count(); LKWs.Add(newLKW); SelectedLKW = newLKW; }); }
public MainViewModel() { if (IsInDesignMode) { // für Design: LKWs = new ObservableCollection <LKW>(); DisplayedLadung = new ObservableCollection <Ladung>(); Ladungliste1 = new ObservableCollection <Ladung>(); Ladung1 = new Ladung(); Ladung2 = new Ladung(); Produkte = new ObservableCollection <Produkt>(); Produkte.Add(new Produkt() { Produktname = "Reis" }); Produkte.Add(new Produkt() { Produktname = "Apfel" }); Ladung1.Produkte = Produkte; Ladung2.Produkte = Produkte; Ladungliste1.Add(Ladung1); Ladungliste1.Add(Ladung2); LKW LKW2 = new LKW() { ID = "F34234", Ladungliste = Ladungliste1, Ladungsgewicht = 7, Ladunganzahl = Ladungliste1.Count() }; LKWs.Add(LKW2); DeleteLadungBtnClickCmd = new RelayCommand <Ladung>(DeleteLadung, true); DeleteAllBtnClickCmd = new RelayCommand(DeleteAllLadung, () => { return(CheckLadung()); }); SelectedLKW = LKW2; } else { LKWs = new ObservableCollection <LKW>(); DisplayedLadung = new ObservableCollection <Ladung>(); Ladungliste1 = new ObservableCollection <Ladung>(); Ladung1 = new Ladung(); Ladung2 = new Ladung(); Produkte = new ObservableCollection <Produkt>(); Produkte.Add(new Produkt() { Produktname = "Reis" }); Produkte.Add(new Produkt() { Produktname = "Apfel" }); Ladung1.Produkte = Produkte; Ladung2.Produkte = Produkte; Ladungliste1.Add(Ladung1); Ladungliste1.Add(Ladung2); LKW LKW1 = new LKW() { ID = "F34234", Ladungliste = Ladungliste1, Ladungsgewicht = 7, Ladunganzahl = Ladungliste1.Count() }; LKWs.Add(LKW1); DeleteLadungBtnClickCmd = new RelayCommand <Ladung>(DeleteLadung, true); DeleteAllBtnClickCmd = new RelayCommand(DeleteAllLadung, () => { return(CheckLadung()); }); // Kommunikation: Server = new Server(GuiUpdater); } }