public MainWindowModel() { var pizzaService = new PizzaService.PizzaServiceClient(); Neuladen = new Command(() => { Pizzen = new ObservableCollection<PizzaViewModel>(pizzaService.Pizzen().Select(p => new PizzaViewModel(p))); NotifyChanged("Pizzen"); Bestellungen = new ObservableCollection<BestellungViewModel>(pizzaService.AlleBestellungen().Select(b => new BestellungViewModel(b))); NotifyChanged("Bestellungen"); }); Neu = new Command(() => { Ausgewählt = new PizzaViewModel(); }); Speichern = new Command(() => { if (Ausgewählt == null) return; Ausgewählt.Name = Name; Ausgewählt.Preis = Preis; Ausgewählt.Zutaten = PizzaViewModel.Arrayify(Zutaten); if (Ausgewählt.Id == 0) { Pizzen.Add(Ausgewählt); } pizzaService.Speichern(Ausgewählt.AsEntity()); }); Pdf = new Command(() => { if (Bestellung == null) return; var dateiname = Bestellung.Name + ".pdf"; var dateinhalt = "Bestellung von " + Bestellung.Name + " vom " + Bestellung.Datum + " in Höhe " + Bestellung.Gesamtpreis.ToString("C") + "\r\n\r\n" + string.Join("\r\n", Bestellung.Pizzen.Select(p => " - " + p)); var document = new PdfDocument(); document.Info.Title = "Created with PDFsharp"; var page = document.AddPage(); var gfx = XGraphics.FromPdfPage(page); var font = new XFont("Verdana", 15, XFontStyle.Regular); var tf = new XTextFormatter(gfx); tf.DrawString(dateinhalt, font, XBrushes.Black, new XRect(40, 100, page.Width-40, page.Height-100), XStringFormats.TopLeft); document.Save(dateiname); System.Diagnostics.Process.Start(dateiname); }); Neuladen.Execute(null); }
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); }