Esempio n. 1
0
        public MainWindowModel()
        {
            var pizzaService = new PizzaService.PizzaServiceClient();

            Neuladen = new Command(() =>
            {
                Pizzen = new ObservableCollection<PizzaViewModel>(pizzaService.Pizzen().Select(p => new PizzaViewModel(p)));
                NotifyChanged("Pizzen");
                Ausgewählt = null;

                var bestellungen = pizzaService.Bestellungen(von: BestellerName);
                Bestellungen = new ObservableCollection<BestellungViewModel>(bestellungen.Select(b => new BestellungViewModel(b)));
                NotifyChanged("Bestellungen");
            });

            Bestellen = new Command(() =>
            {
                if (Ausgewählt != null)
                {
                    Warenkorb.Add(new WarenkorbPizzaViewModel(Ausgewählt));
                }
            });

            Abschicken = new Command(() =>
            {
                if (string.IsNullOrWhiteSpace(BestellerName) == false && Warenkorb.Any())
                {
                    pizzaService.Bestellen(BestellerName, Warenkorb.Select(p => p.Pizza.AsEntity()).ToArray());

                    Neuladen.Execute(null);

                    Warenkorb.Clear();
                }
            });

            Warenkorb = new ObservableCollection<WarenkorbPizzaViewModel>();
            Warenkorb.CollectionChanged += (s, e) => NotifyChanged("WarenkorbGesamtpreis");

            Neuladen.Execute(null);
        }