Example #1
0
        /// <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;
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        /// <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);
        }
Example #5
0
        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.");
            }
        }