/// <summary> /// Liest eine XML Datei aus und speicher diese im Adressbuch als Liste. /// </summary> /// <param name="kontaktDatei">Absoluter Pfad mit Datei und Endung</param> private void ReadAdressbookXMLFile(string kontaktDatei) { if (!System.IO.File.Exists(kontaktDatei)) throw new FileNotFoundException("Adressdatei nicht gefunden."); XDocument xdoc = XDocument.Load(_adrBuch.AdressenPfad); var query = from kontakt in xdoc.Descendants("contact") select kontakt; IList<Address> tempKontakte = new List<Address>(); Address tempAdr; foreach (XElement element in query) { tempAdr = new Address(); try { tempAdr.Name = element.Attribute("name").Value; tempAdr.Strasse = element.Element("street").Value; tempAdr.Postleitzahl = element.Element("postcode").Value; tempAdr.Ort = element.Element("city").Value; } catch (NullReferenceException) { } tempKontakte.Add(tempAdr); } _adrBuch.Kontakte = tempKontakte; }
public AdresserForm(Addressbook adressBuch, Address adresse) { _adressBuch = adressBuch; _adresse = adresse; InitializeComponent(); // delegates registrieren _adressBuch.updateKontakte += new Addressbook.OnUpdateKontakteDelegate(ladeKontakte); _adresse.updateAdressEigenschaft += new Address.OnUpdateAdressEigenschaft(ladeAdressdetails); }
public Adresser() { _adrBuch = new Addressbook(); _adr = new Address(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); _view = new AdresserForm(_adrBuch, _adr); // delegate registrieren _adrBuch.updateAdressbuchDatei += new Addressbook.OnUpdateAdressbuchDateiDelegate(ReadAdressbookXMLFile); _adrBuch.updateSpeichern += new Addressbook.OnUpdateSpeichernDelegate(WriteAdressbookXMLFile); Application.Run(_view); }
/// <summary> /// Lädt eine Adresse in die aktuelle Anzeige /// </summary> /// <param name="adr">Adresssatz</param> private void ladeAdressdetails(Address adr) { txtName.Text = adr.Name; txtStrasse.Text = adr.Strasse; txtPostleitzahl.Text = adr.Postleitzahl; txtOrt.Text = adr.Ort; setzeAnzeigeModus(Anzeigemodus.Anzeigen); }
private void itemNeu_Click(object sender, EventArgs e) { try { Address newAdr = new Address(); _adressBuch.Kontakte.Insert(0, newAdr); ladeAdressdetails(newAdr); setzeAnzeigeModus(Anzeigemodus.Bearbeiten); } catch (NullReferenceException) { MessageBox.Show("Kein Adressbuch geladen."); } }