public bool EntferneMeldungAusToDoListe(Cdv_Meldung pin_meldung)
 {
     try
     {
         // istInToDoListe auf false setzen, dadurch wird die Meldung nicht
         // mehr in die ToDo-Liste des ehemaligen Benutzers gesetzt
         pin_meldung.IstInToDoListe = false;
         _ObjektManager.Meldungen.Speichern(pin_meldung);
         return true;
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Exemple #2
0
 public void LadeMeldung(Cdv_Meldung pin_Meldung)
 {
     _aktuelleMeldung = pin_Meldung;
     this._usc_Meldung.LadeMeldung(pin_Meldung);
 }
 /// <summary>
 /// Öffnet das jeweilige Formular und zeigt den angeklickten Eintrag der ToDo-Liste an
 /// </summary>
 /// <param name="pin_meldung">Anzuzeigende Meldung</param>
 private void OeffneListeneintrag(Cdv_Meldung pin_meldung)
 {
     Cpr_frm_MeldungsAnzeige _frm_Meldung = new Cpr_frm_MeldungsAnzeige(_st_ToDo, this);
     // füge das Formular zum Anzeigen von Meldungen dem Oberformular hinzu
     this.FindForm().AddOwnedForm(_frm_Meldung);
     _frm_Meldung.LadeMeldung(pin_meldung);
     _frm_Meldung.ShowDialog();
 }
 /// <summary>
 /// Fügt eine Meldung in den entsprechenden Knoten im Treeview ein
 /// </summary>
 /// <param name="pin_Termin">einzufügende Meldung</param>
 private void FuegeMeldungHinzu(Cdv_Meldung pin_meldung)
 {
     // Neuen Knoten erzeugen, Meldung dort ablegen
     TreeNode tnNeueMeldung  = new TreeNode();
     tnNeueMeldung.Text = pin_meldung.Text;
     tnNeueMeldung.Tag = pin_meldung;
     // neuen Knoten einordnen
     _tn_Meldungen.Nodes.Add(tnNeueMeldung);
 }
        /// <summary>
        /// stellt eine Meldung aus den Werten der Eingabeelemente zusammen 
        /// und speichert sie
        /// </summary>
        protected void SpeichereMeldung()
        {
            // erstelle eine neue Meldung
            Cdv_Meldung neueMeldung = new Cdv_Meldung();
            neueMeldung.ID = _aktuelleMitteilungsID;
            // falls laufende Nummer bereits vergeben wurde
            if (this.lbl_laufendeNummer.Text != "")
                neueMeldung.LaufendeNummer = Convert.ToInt16(this.lbl_laufendeNummer.Text.Remove(0,1));
            // Abfassungsdatum: wähle JETZT oder das angebene Datum
            if (this.cbx_AbfassungsdatumJetzt.Checked)
                neueMeldung.Abfassungsdatum = DateTime.Now;
            else
                neueMeldung.Abfassungsdatum = this.dtp_AbfassungsDatum.Value;
            // Absender
            neueMeldung.Absender = this.txt_Absender.Text;
            // Bearbeiter
            neueMeldung.BearbeiterBenutzerID = ((Cdv_Benutzer) this._st_Funk.HoleAktuellenBenutzer()).ID;
            // Benutzerempfänger
            if (cmb_Benutzerempfaenger.SelectedIndex != -1)
            {
                neueMeldung.EmpfaengerBenutzerID =
                    ((Cdv_Benutzer) this._st_Funk._AlleBenutzer[cmb_Benutzerempfaenger.SelectedIndex]).ID;
                neueMeldung.IstInToDoListe = true;
            }
            // EmpfängerKräfteMenge
            ArrayList IDMenge =
                this.HoleAlleAusgewaehltenEmpfaengerIDs(this.tvw_Empfaenger.Nodes);
            int[] IDMengeINT = (int[]) IDMenge.ToArray(typeof(int));
            neueMeldung.EmpfaengerMengeKraftID = IDMengeINT;
            //Übermittlung
            neueMeldung.IstUebermittelt = this.cbx_IstUebermittelt.Checked;
            // Übermittlungsart
            neueMeldung.Uebermittlungsart = (pELS.Tdv_Uebermittlungsart)this.cmb_Uebermittlungsart.SelectedItem;
            // Übermittlungsdatum: wähle JETZT oder das angebene Datum
            if (this.cbx_UebermittlungszeitpunktJetzt.Checked)
                neueMeldung.Uebermittlungsdatum = DateTime.Now;
            else
                neueMeldung.Uebermittlungsdatum = this.dtp_Uebermittlungsdatum.Value;
            // Text
            neueMeldung.Text = this.txt_Meldungstext.Text;
            //Kategorie
            neueMeldung.Kategorie = (pELS.Tdv_MeldungsKategorie)this.cmb_Meldungskategorie.SelectedItem;

            // überprüfe, ob es sich um einen Erkundungsbericht handelt
            if (this.rBtn_Meldungart_Erkundungsbericht.Checked == true)
            {
                #region kopiere Daten für Erkundungsbericht
                int ESPID = -1;
                // EinsatzschwerpunktID ermitteln
                if (cmb_Einsatzschwerpunkte.SelectedIndex != -1)
                {
                    Cdv_Einsatzschwerpunkt esp = this.cmb_Einsatzschwerpunkte.SelectedItem as Cdv_Einsatzschwerpunkt;
                    if(esp != null)
                        ESPID = esp.ID;
                    else
                        ESPID = 0;
                }
                // neues Erkundungsergebnis
                Cdv_Erkundungsergebnis neuesErkundungsergebnis = new Cdv_Erkundungsergebnis(
                    neueMeldung.Text,
                    neueMeldung.Absender,
                    neueMeldung.Uebermittlungsart,
                    neueMeldung.Kategorie,
                    true,
                    neueMeldung.IstInToDoListe,
                    neueMeldung.BearbeiterBenutzerID,
                    ESPID,
                    this.txt_Erkunder.Text);
                neuesErkundungsergebnis.Abfassungsdatum = neueMeldung.Abfassungsdatum;
                neuesErkundungsergebnis.EmpfaengerBenutzerID = neueMeldung.EmpfaengerBenutzerID;
                neuesErkundungsergebnis.EmpfaengerMengeKraftID = neueMeldung.EmpfaengerMengeKraftID;
                neuesErkundungsergebnis.ID = neueMeldung.ID;
                neuesErkundungsergebnis.IstUebermittelt = neueMeldung.IstUebermittelt;
                neuesErkundungsergebnis.Uebermittlungsdatum = neueMeldung.Uebermittlungsdatum;
                #endregion
                #region erstelle Erkundungsobjekt
                // neues Erkundungsobjekt
                Cdv_Erkundungsobjekt neuesErkundungsobjekt = new Cdv_Erkundungsobjekt();
                // neue Anschrift
                Cdv_Anschrift neueAnschrift = new Cdv_Anschrift();
                neueAnschrift.Hausnummer	= this.txt_HausNr.Text;
                neueAnschrift.Ort			= this.txt_Ort.Text;
                neueAnschrift.PLZ			= this.txt_PLZ.Text;
                neueAnschrift.Strasse		= this.txt_Strasse.Text;
                neuesErkundungsobjekt.Anschrift = neueAnschrift;
                // Versorgung
                neuesErkundungsobjekt.Abwasserentsorgung = this.cbx_Abwasser.Checked;
                neuesErkundungsobjekt.Wasserversorgung = this.cbx_Wasser.Checked;
                neuesErkundungsobjekt.Elektroversorgung = this.cbx_Strom.Checked;
                // Bauart
                neuesErkundungsobjekt.Bauart = (Tdv_Bauart) cmb_Bauart.SelectedItem;
                neuesErkundungsobjekt.Bezeichnung = txt_Erkundungsobjekt.Text;
                neuesErkundungsobjekt.Erkundungsdatum = dtp_Erk_Datum.Value;
                neuesErkundungsobjekt.Haustyp = txt_Haustyp.Text;
                neuesErkundungsobjekt.Heizung = txt_Heizung.Text;
                // neues Kellerobjekt
                Cdv_Keller neuerKeller = new Cdv_Keller();
                // Abfangen des Fehlers, falls der Nutzer gar nichts eingibt.
                if ((neuerKeller.Vorhanden = cbx_KellerIstVorhanden.Checked)==true)
                {
                    if(txt_KellerInProzent.Text.CompareTo("") == 0)
                        neuerKeller.Prozentsatz = 0;
                    else
                        neuerKeller.Prozentsatz = Convert.ToInt16(txt_KellerInProzent.Text);
                }
                else
                {
                    neuerKeller.Prozentsatz = 0;
                }
                neuesErkundungsobjekt.Keller = neuerKeller;
                neuesErkundungsergebnis.Erkundungsobjekt = neuesErkundungsobjekt;
                #endregion
                this._st_Funk.SpeichereMeldung(neuesErkundungsergebnis);
            }
            else
            {
                this._st_Funk.SpeichereMeldung(neueMeldung);
            }
            _zuletztGespeicherteMitteilung = neueMeldung;
        }
        /// <summary>
        /// lädt eine Meldung in das Formular
        /// </summary>
        /// <param name="pin_Meldung"></param>
        public void LadeMeldung(Cdv_Meldung pin_Meldung)
        {
            _aktuelleMitteilungsID = pin_Meldung.ID;
            this.lbl_laufendeNummer.Text = "E" + pin_Meldung.LaufendeNummer.ToString();
            // Abfassungsdatum
            this.dtp_AbfassungsDatum.Value = pin_Meldung.Abfassungsdatum;
            // Bearbeiter
            Cdv_Benutzer BenutzerBearbeiter = _st_Funk.ID2Benutzer(pin_Meldung.BearbeiterBenutzerID);
            if (BenutzerBearbeiter != null)
            {
                this.lbl_Rolle.Text = BenutzerBearbeiter.Systemrolle.ToString();
                this.lbl_Beabeiter.Text = BenutzerBearbeiter.Benutzername;
            }
            // Absender
            this.txt_Absender.Text = pin_Meldung.Absender;
            // Benutzerempfänger
            Cdv_Benutzer BenutzerEmpfaenger = _st_Funk.ID2Benutzer(pin_Meldung.EmpfaengerBenutzerID);
            if (BenutzerEmpfaenger != null)
                this.cmb_Benutzerempfaenger.Text = BenutzerEmpfaenger.Benutzername;
            else
                this.cmb_Benutzerempfaenger.Text = "";
            // EmpfängerKräfteMenge
            SetzeAlleAusgewaehltenEmpfaenger(
                this.tvw_Empfaenger.Nodes, pin_Meldung.EmpfaengerMengeKraftID);
            this.tvw_Empfaenger.ExpandAll();
            //Übermittlung
            this.cbx_IstUebermittelt.Checked = pin_Meldung.IstUebermittelt;
            // Übermittlungsart
            this.cmb_Uebermittlungsart.SelectedItem = pin_Meldung.Uebermittlungsart;
            // Übermittlungsdatum
            this.dtp_Uebermittlungsdatum.Value = pin_Meldung.Uebermittlungsdatum;
            // Text
            this.txt_Meldungstext.Text = pin_Meldung.Text;
            //Kategorie
            this.cmb_Meldungskategorie.Enabled = false;
            this.cmb_Meldungskategorie.SelectedItem = pin_Meldung.Kategorie;
            // überprüfe, ob es sich um einen Erkundungsbericht handelt
            Cdv_Erkundungsergebnis ErkBericht = pin_Meldung as  Cdv_Erkundungsergebnis;
            if(ErkBericht != null)
            {
                this.txt_Erkunder.Text = ErkBericht.Erkunder;
                this.rBtn_Meldungart_Erkundungsbericht.Checked = true;
                // Einsatzschwerpunkt
                Cdv_Einsatzschwerpunkt neuerESP = _st_Funk.ID2ESP(ErkBericht.EinsatzschwerpunkID);
                if(neuerESP != null)
                    //XTY cmb_Einsatzschwerpunkte.SelectedItem = neuerESP.Bezeichnung;
                    cmb_Einsatzschwerpunkte.SelectedItem = neuerESP;

                else cmb_Einsatzschwerpunkte.SelectedIndex = -1;
                // Anschrift
                this.txt_HausNr.Text = ErkBericht.Erkundungsobjekt.Anschrift.Hausnummer;
                this.txt_Ort.Text = ErkBericht.Erkundungsobjekt.Anschrift.Ort;
                this.txt_PLZ.Text = ErkBericht.Erkundungsobjekt.Anschrift.PLZ;
                this.txt_Strasse.Text = ErkBericht.Erkundungsobjekt.Anschrift.Strasse;
                // Versorgung
                this.cbx_Abwasser.Checked = ErkBericht.Erkundungsobjekt.Abwasserentsorgung;
                this.cbx_Wasser.Checked = ErkBericht.Erkundungsobjekt.Wasserversorgung;
                this.cbx_Strom.Checked = ErkBericht.Erkundungsobjekt.Elektroversorgung;
                // Bauart
                cmb_Bauart.SelectedItem = ErkBericht.Erkundungsobjekt.Bauart;
                txt_Erkundungsobjekt.Text = ErkBericht.Erkundungsobjekt.Bezeichnung;
                dtp_Erk_Datum.Value = ErkBericht.Erkundungsobjekt.Erkundungsdatum;
                txt_Haustyp.Text = ErkBericht.Erkundungsobjekt.Haustyp;
                txt_Heizung.Text = ErkBericht.Erkundungsobjekt.Heizung;
                // neues Kellerobjekt
                cbx_KellerIstVorhanden.Checked = ErkBericht.Erkundungsobjekt.Keller.Vorhanden;
                if (ErkBericht.Erkundungsobjekt.Keller.Vorhanden)
                    txt_KellerInProzent.Text = ErkBericht.Erkundungsobjekt.Keller.Prozentsatz.ToString();
            }
            else
            {
                this.rBtn_Meldungart_Meldung.Checked = true;
            }
        }
        public Cdv_Meldung[] LadeMeldungenFuerToDoListe(Cdv_Benutzer pin_benutzer)
        {
            // Alle Meldungen aus der DB
            IPelsObject[] temp_ipoa = _ObjektManager.Meldungen.HolenAlle();
            Cdv_Meldung[] meldungsMenge = new Cdv_Meldung[temp_ipoa.Length];
            temp_ipoa.CopyTo(meldungsMenge, 0);
            // Zwischenspeicher für alle benötigten Meldungen (Benutzer stimmt und istInToDoListe == true)
            ArrayList al_meldungen = new ArrayList();
            // Benötigten Meldungen in ArrayList schreiben
            foreach(Cdv_Meldung m in meldungsMenge)
                if ( (m.EmpfaengerBenutzerID == pin_benutzer.ID) && (m.IstInToDoListe == true) )
                    al_meldungen.Add(m);

            // benötigte Meldungen
            Cdv_Meldung[] pout_meldungsMenge = new Cdv_Meldung[al_meldungen.Count];
            // Meldungen von ArrayList nach Cdv_MeldungsArray überführen
            al_meldungen.CopyTo(pout_meldungsMenge);

            if (pout_meldungsMenge.Length != 0) return pout_meldungsMenge;
            else return null;
        }
        private bool SpeichereMeldung()
        {
            // Datenaufnahme
            // der obere Teil
            Cdv_Benutzer aktBenutzer = this._stMAT.HoleAktuellenBenutzer();
            //			Cdv_Erkundungsergebnis meldung = new Cdv_Erkundungsergebnis();
            Cdv_Meldung meldung = new Cdv_Meldung();
            meldung.BearbeiterBenutzerID = aktBenutzer.ID;
            if(this.cbx_AbfassungsdatumJetzt.Checked == true) meldung.Abfassungsdatum = DateTime.Now;
            else meldung.Abfassungsdatum = this.dtp_AbfassungsDatum.Value;
            meldung.Kategorie = (Tdv_MeldungsKategorie)Enum.Parse(typeof(Tdv_MeldungsKategorie), cmb_Meldungskategorie.SelectedItem.ToString(), true);
            meldung.Uebermittlungsart= (Tdv_Uebermittlungsart) Enum.Parse(typeof(Tdv_Uebermittlungsart), cmb_Uebermittlungsart.SelectedItem.ToString(), true);

            if((meldung.IstUebermittelt = this.cbx_IstUebermittelt.Checked)== true)
            {
                // = rBtn_Meldungart_Erkundungsbericht.Checked;
                if(this.cbx_UebermittlungszeitpunktJetzt.Checked == true)
                    meldung.Uebermittlungsdatum = DateTime.Now;
                else
                    meldung.Uebermittlungsdatum = this.dtp_Uebermittlungsdatum.Value;
            }
            else
            {
                meldung.Uebermittlungsdatum = DateTimePicker.MaxDateTime;
            }
            // der untere Teil: Erkundungsergebnis
            meldung.Text = this.txt_Meldungstext.Text;
            // Treeview: EmpfängerKräfteMenge
            ArrayList IDMenge =
                this.HoleAlleAusgewaehltenEmpfaengerIDs(this.tvw_Meldung_Empfaenger.Nodes);
            int[] IDMengeINT = (int[]) IDMenge.ToArray(typeof(int));
            meldung.EmpfaengerMengeKraftID = IDMengeINT;

            //
            Cdv_Benutzer EmpfangerBenutzer = this.cmb_Benutzerempfaenger.SelectedItem as Cdv_Benutzer;
            if(EmpfangerBenutzer == null)
                meldung.IstInToDoListe= false;
            else
            {
                meldung.IstInToDoListe = true;
                meldung.EmpfaengerBenutzerID = EmpfangerBenutzer.ID;
            }

            meldung.Absender = this.txt_Meldung_AbsenderText.Text;

            if(this.rBtn_Meldungart_Erkundungsbericht.Checked == false)
            {
            //				Cdv_Meldung freieMeldung = new Cdv_Meldung();
            //				//freieMeldung
            //				freieMeldung = meldung;
                this._stMAT.SpeichereMeldung(meldung);
            //				_zuletztGespeicherteMitteilung = freieMeldung;
                _zuletztGespeicherteMitteilung = meldung;
                // FreieMeldung als zuletztgespeicherte Meldung speichern
                return true;
            }
            else
            {
                Cdv_Erkundungsergebnis neuesErkundungsergebnis = new Cdv_Erkundungsergebnis(
                    meldung.Text,
                    meldung.Absender,
                    meldung.Uebermittlungsart,
                    meldung.Kategorie,
                    true,
                    meldung.IstInToDoListe,
                    meldung.BearbeiterBenutzerID,
                    0,
                    this.txt_Erkunder.Text);

                neuesErkundungsergebnis.Erkunder = this.txt_Erkunder.Text;
                Cdv_Einsatzschwerpunkt esp = this.cmb_Einsatzschwerpunkte.SelectedItem as Cdv_Einsatzschwerpunkt;
                if(esp == null)
                    neuesErkundungsergebnis.EinsatzschwerpunkID = 0;
                else
                    neuesErkundungsergebnis.EinsatzschwerpunkID = esp.ID;
                neuesErkundungsergebnis.Erkundungsobjekt.Bezeichnung = this.txt_Erkundungsobjekt.Text;
                neuesErkundungsergebnis.Erkundungsobjekt.Erkundungsdatum = this.dtp_Erk_Datum.Value;
                neuesErkundungsergebnis.Erkundungsobjekt.Anschrift.Strasse = this.txt_Strasse.Text;
                neuesErkundungsergebnis.Erkundungsobjekt.Anschrift.Hausnummer= this.txt_HausNr.Text;
                neuesErkundungsergebnis.Erkundungsobjekt.Anschrift.PLZ = this.txt_PLZ.Text;
                neuesErkundungsergebnis.Erkundungsobjekt.Anschrift.Ort = this.txt_Ort.Text;
                neuesErkundungsergebnis.Erkundungsobjekt.Haustyp = txt_Haustyp.Text;
                neuesErkundungsergebnis.Erkundungsobjekt.Bauart = (Tdv_Bauart)Enum.Parse(typeof(Tdv_Bauart),cmb_Bauart.SelectedItem.ToString(),true);

                // Abfangen des Fehlers, falls der Nutzer gar nichts eingibt.
                if((neuesErkundungsergebnis.Erkundungsobjekt.Keller.Vorhanden = cbx_KellerIstVorhanden.Checked)==true)
                {
                    if(txt_KellerInProzent.Text.CompareTo("") == 0)
                        neuesErkundungsergebnis.Erkundungsobjekt.Keller.Prozentsatz = 0;
                    else
                        neuesErkundungsergebnis.Erkundungsobjekt.Keller.Prozentsatz = int.Parse(txt_KellerInProzent.Text);
                }
                else
                {
                    neuesErkundungsergebnis.Erkundungsobjekt.Keller.Prozentsatz = 0;
                }
                neuesErkundungsergebnis.Erkundungsobjekt.Heizung = txt_Heizung.Text;
                neuesErkundungsergebnis.Erkundungsobjekt.Elektroversorgung =cbx_Strom.Checked;
                neuesErkundungsergebnis.Erkundungsobjekt.Wasserversorgung = cbx_Wasser.Checked;
                neuesErkundungsergebnis.Erkundungsobjekt.Abwasserentsorgung = this.cbx_Abwasser.Checked;
                this._stMAT.SpeichereErkundungsergebnis(neuesErkundungsergebnis);
                // neuesErkundungsergebnis als zuletztgespeicherte neuesErkundungsergebnis speichern
                _zuletztGespeicherteMitteilung = neuesErkundungsergebnis;
                return true;
            }
        }
Exemple #9
0
 public bool SpeichereMeldung(Cdv_Meldung pin_Meldung)
 {
     this._PortalLogikMAT.SpeichereMeldung(pin_Meldung);
     this.WerfeSystemereignis(pin_Meldung);
     return true;
 }
        public Cdv_Meldung[] LadeMeldungen()
        {
            // konvertiere Ergebnis in das korrekte Format
            pELS.DV.Server.Interfaces.IPelsObject[] ipoa = _ObjektManager.Meldungen.HolenAlle();
            Cdv_Meldung[] pout_meldungen = new Cdv_Meldung[ipoa.Length];
            ipoa.CopyTo(pout_meldungen,0);

            return pout_meldungen;
        }
Exemple #11
0
 public Cdv_Meldung SpeichereMeldung(Cdv_Meldung pin_Meldung)
 {
     Cdv_Mitteilung tmp = this._PortalLogikFunk.SpeichereMitteilung(pin_Meldung);
     this.WerfeSystemereignis(pin_Meldung);
     return (Cdv_Meldung) tmp;
 }
        // lädt alle noch nicht versendeten Mitteilungen
        public Cdv_Meldung[] LadeAlleNichtVersendetenMeldungen()
        {
            pELS.DV.Server.Interfaces.IPelsObject[] ipoa = _ObjektManager.Meldungen.HolenAlle();
            if(!(ipoa == null) || (ipoa.Length == 0))
            {
                // ArrayList, welche alle Mitteilungen enthält, die zurückgegeben werden
                ArrayList _tmpAL = new ArrayList();
                Cdv_Meldung[] tmpMeldungen = new Cdv_Meldung[ipoa.Length];
                ipoa.CopyTo(tmpMeldungen,0);
                // entferne alle bereits versendeten Meldungen
                for (int pos = (tmpMeldungen.Length - 1); pos >= 0; pos--)
                {
                    if(!tmpMeldungen[pos].IstUebermittelt) _tmpAL.Add(tmpMeldungen[pos]);
                }

                // kopiere Einträge aus ArrayList nach Array
                Cdv_Meldung[] pout_Meldungen = new Cdv_Meldung[_tmpAL.Count];
                _tmpAL.CopyTo(pout_Meldungen);
                return pout_Meldungen;
            }
            else return null;
        }
Exemple #13
0
 /// <summary>
 /// Entfernt eine Meldung aus der ToDo-Liste und gibt den Aufruf
 /// auch nach unten weiter
 /// </summary>
 /// <param name="pin_meldung">zu entfernde Meldung</param>
 public void EntferneMeldungAusToDoListe(Cdv_Meldung pin_Meldung)
 {
     _EventSelbstAusgeloest = true;
     if(pin_Meldung != null)
          _PortalLogikToDo.EntferneMeldungAusToDoListe(pin_Meldung);
     _EventSelbstAusgeloest = false;
     BehandleEventMeldungen(null);
 }
        public override IPelsObject[] LadeAusDerDB()
        {
            // Reader, der Daten aufnimmt
            NpgsqlDataReader dreader_meldg_erg;
            // Zum initialisieren des Pels-Objekt-Arrays
            int i_anzahlZeilen;
            // Select anfrage
            String str_SELECTAnfrage = "Select * from \"Meldungen\"";
            // Zugriff auf DB
            dreader_meldg_erg = db.AusfuehrenSelectAnfrage(str_SELECTAnfrage, out i_anzahlZeilen);
            // Objekte-Behälter für die Ergebnisse
            Cdv_Meldung[] meldg_erg = new Cdv_Meldung[i_anzahlZeilen];
            int i = 0;

            while(dreader_meldg_erg.Read())
            {
                if(dreader_meldg_erg.GetBoolean(dreader_meldg_erg.GetOrdinal("istErkundungsergebnis")))
                    meldg_erg[i] = new Cdv_Erkundungsergebnis();
                else
                    meldg_erg[i] = new Cdv_Meldung();
                meldg_erg[i].ID = dreader_meldg_erg.GetInt32(dreader_meldg_erg.GetOrdinal("ID"));
                meldg_erg[i].Text =CMethoden.KonvertiereStringAusDB(dreader_meldg_erg.GetString(dreader_meldg_erg.GetOrdinal("Text")));
                meldg_erg[i].Abfassungsdatum = dreader_meldg_erg.GetDateTime(dreader_meldg_erg.GetOrdinal("Abfassungsdatum"));
                meldg_erg[i].Uebermittlungsdatum = dreader_meldg_erg.GetDateTime(dreader_meldg_erg.GetOrdinal("Uebermittlungsdatum"));
                meldg_erg[i].Absender =CMethoden.KonvertiereStringAusDB(dreader_meldg_erg.GetString(dreader_meldg_erg.GetOrdinal("Absender")));
                meldg_erg[i].Uebermittlungsart= (Tdv_Uebermittlungsart)dreader_meldg_erg.GetInt32(dreader_meldg_erg.GetOrdinal("Uebermittlungsart"));
                meldg_erg[i].IstUebermittelt = dreader_meldg_erg.GetBoolean(dreader_meldg_erg.GetOrdinal("IstUebermittelt"));
                meldg_erg[i].BearbeiterBenutzerID = dreader_meldg_erg.GetInt32(dreader_meldg_erg.GetOrdinal("BearbeiterID"));
                meldg_erg[i].Kategorie = (Tdv_MeldungsKategorie)dreader_meldg_erg.GetInt32(dreader_meldg_erg.GetOrdinal("Kategorie"));
                meldg_erg[i].LaufendeNummer=dreader_meldg_erg.GetInt32(dreader_meldg_erg.GetOrdinal("LaufendeNummer"));
                meldg_erg[i].EmpfaengerBenutzerID = dreader_meldg_erg.GetInt32(dreader_meldg_erg.GetOrdinal("EmpfaengerBenutzerID"));
                meldg_erg[i].IstInToDoListe = dreader_meldg_erg.GetBoolean(dreader_meldg_erg.GetOrdinal("IstInToDoListe"));

                //wenn es sich um ein Erkundungsergebnis handelt
                if(meldg_erg[i] is Cdv_Erkundungsergebnis)
                {
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkunder = CMethoden.KonvertiereStringAusDB(dreader_meldg_erg.GetString(dreader_meldg_erg.GetOrdinal("EE_Erkunder")));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).EinsatzschwerpunkID = dreader_meldg_erg.GetInt32(dreader_meldg_erg.GetOrdinal("EE_EinsatzschwerpunktID"));
                    //Auslesen der Informationen zu dem Erkundungsobjekt
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Bezeichnung = CMethoden.KonvertiereStringAusDB(dreader_meldg_erg.GetString(dreader_meldg_erg.GetOrdinal("EO_Bezeichnung")));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Erkundungsdatum = dreader_meldg_erg.GetDateTime(dreader_meldg_erg.GetOrdinal("EO_ErkundungsDatum"));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Haustyp = CMethoden.KonvertiereStringAusDB(dreader_meldg_erg.GetString(dreader_meldg_erg.GetOrdinal("EO_Haustyp")));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Bauart = (Tdv_Bauart) dreader_meldg_erg.GetInt32(dreader_meldg_erg.GetOrdinal("EO_Bauart"));
                    //Keller
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Keller.Vorhanden = dreader_meldg_erg.GetBoolean(dreader_meldg_erg.GetOrdinal("EO_Keller_Vorhanden"));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Keller.Prozentsatz = dreader_meldg_erg.GetInt16(dreader_meldg_erg.GetOrdinal("EO_Keller_Prozentsatz"));
                    //Anschrift
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Anschrift.Strasse = CMethoden.KonvertiereStringAusDB(dreader_meldg_erg.GetString(dreader_meldg_erg.GetOrdinal("EO_Anschrift_Strasse")));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Anschrift.Hausnummer = CMethoden.KonvertiereStringAusDB(dreader_meldg_erg.GetString(dreader_meldg_erg.GetOrdinal("EO_Anschrift_Hausnummer")));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Anschrift.Ort = CMethoden.KonvertiereStringAusDB(dreader_meldg_erg.GetString(dreader_meldg_erg.GetOrdinal("EO_Anschrift_Ort")));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Anschrift.PLZ = CMethoden.KonvertiereStringAusDB(dreader_meldg_erg.GetString(dreader_meldg_erg.GetOrdinal("EO_Anschrift_PLZ")));
                    //Versorgung & co
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Heizung = CMethoden.KonvertiereStringAusDB(dreader_meldg_erg.GetString(dreader_meldg_erg.GetOrdinal("EO_Heizung")));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Elektroversorgung = dreader_meldg_erg.GetBoolean(dreader_meldg_erg.GetOrdinal("EO_Elektroversorgung"));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Wasserversorgung = dreader_meldg_erg.GetBoolean(dreader_meldg_erg.GetOrdinal("EO_Wasserversorgung"));
                    ((Cdv_Erkundungsergebnis) meldg_erg[i]).Erkundungsobjekt.Abwasserentsorgung = dreader_meldg_erg.GetBoolean(dreader_meldg_erg.GetOrdinal("EO_Abwasserentsorgung"));
                }

                //Auslesen der Empfaenger einer Meldung
                int i_AnzahlZeilen_Empf=0;
                NpgsqlDataReader dreader_meldg_empf_erg = db.AusfuehrenSelectAnfrage("Select * from \"Empfaenger_Meldung\" where \"MeldungsID\"= "+meldg_erg[i].ID+";",out i_AnzahlZeilen_Empf);
                if(i_AnzahlZeilen_Empf > 0)
                {
                    meldg_erg[i].EmpfaengerMengeKraftID = new int[i_AnzahlZeilen_Empf];
                    int i_tmp=0;
                    while(dreader_meldg_empf_erg.Read())
                    {
                        meldg_erg[i].EmpfaengerMengeKraftID[i_tmp] =dreader_meldg_empf_erg.GetInt32(dreader_meldg_empf_erg.GetOrdinal("KraftID"));
                        i_tmp++;
                    }
                }
                i++;
            }

            return meldg_erg;
        }
 public void SpeichereMeldung(Cdv_Meldung pin_Meldung)
 {
     this._ObjektManager.Meldungen.Speichern(pin_Meldung);
 }
 public Cdv_Meldung[] LadeMeldungen()
 {
     IPelsObject[] pout_ipoa = _ObjektManager.Meldungen.HolenAlle();
     if (pout_ipoa != null)
     {
         Cdv_Meldung[] meldungen = new Cdv_Meldung[pout_ipoa.Length];
         pout_ipoa.CopyTo(meldungen, 0);
         return meldungen;
     }
     else return null;
 }