Пример #1
0
        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;
            });
        }
Пример #2
0
        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);
            }
        }