Von der Datenbank bis zur Oberfläche mit .NET, Teil 5: Desktop- und Browseranwendung mit Silverlight
Seite 8: Listing 4
Inhaltsverzeichnis
Listing 4: NeuerPassagierViewModel.cs
Weiterlesen nach der Anzeige
using System.ComponentModel; using System.Collections.ObjectModel; using WWWings_GO; using WWWings_SLDienstproxies.WWWingsServer; using System;
namespace WWWings_SL.Ansichten { public partial class NeuerPassagierViewModel : INotifyPropertyChanged {
/// ################ Befehle ################ public ActionCommand SpeichernCommand { get; set; } public ActionCommand AbbrechenCommand { get; set; }
/// ################ Ereignisse ################ public event Action<Passagier> NeuerPassagierViewModelExit;
/// ################ Daten (Properties) ################ public Passagier passagier; public Passagier Passagier // Das neue Passagier-Objekt { get { return passagier; } set { passagier = value; OnPropertyChanged("Passagier"); } }
public string fehlerMeldung; public string FehlerMeldung // StatusMeldung nach Speichern { get { return fehlerMeldung; } set { fehlerMeldung = value; OnPropertyChanged("FehlerMeldung"); } }
/// ################ Konstruktor ################
public NeuerPassagierViewModel() { SpeichernCommand = new ActionCommand(Speichern); AbbrechenCommand = new ActionCommand(Abbrechen);
// Passagier instanziieren Passagier = new Passagier();
// Nur zum Test Passagier.Vorname = "Max"; Passagier.Name = "Mustermann"; Passagier.Geburtsdatum = DateTime.Now.Date; Passagier.PassagierStatus = "A"; }
/// ################ Aktion 1 ################
private void Speichern() {
// Neuen Passagier speichern ObservableCollection<Passagier> GeändertePassagiere = new ObservableCollection<Passagier>() { Passagier }; string Statistik;
BuchungsServiceClient client = new BuchungsServiceClient(); client.SavePassagierSetCompleted += new EventHandler<SavePassagierSetCompletedEventArgs> (client_SavePassagierSetCompleted); client.SavePassagierSetAsync(GeändertePassagiere); }
if (antwort.Count == 1) { // Der erste neue Passagier muss der angelegte sein, // der nun auch die ID enthält! Passagier = antwort[0]; FehlerMeldung = ""; if (NeuerPassagierViewModelExit != null) NeuerPassagierViewModelExit(Passagier); } } else { FehlerMeldung = e.Error.Message; if (NeuerPassagierViewModelExit != null) NeuerPassagierViewModelExit(null); } }
void Abbrechen() { if (NeuerPassagierViewModelExit != null) NeuerPassagierViewModelExit(null); }