Example #1
0
        /// <summary>
        /// stellt einen Auftrag aus den Werten der Eingabeelemente zusammen 
        /// und speichert ihn
        /// </summary>
        protected bool SpeichereAuftrag()
        {
            // erstelle einen neuen Auftrag
            Cdv_Auftrag neuerAuftrag = new Cdv_Auftrag();
            neuerAuftrag.ID = _aktuelleMitteilungsID;
            // falls laufende Nummer bereits vergeben wurde
            if (this.lbl_laufendeNummer.Text != "")
                neuerAuftrag.LaufendeNummer = Convert.ToInt16(this.lbl_laufendeNummer.Text.Remove(0,1));
            // Abfassungsdatum: wähle JETZT oder das angebene Datum
            if (this.cbx_AbfassungsdatumJetzt.Checked)
                neuerAuftrag.Abfassungsdatum = DateTime.Now;
            else
                neuerAuftrag.Abfassungsdatum = this.dtp_AbfassungsDatum.Value;
            // Absender
            neuerAuftrag.Absender = this.txt_Absender.Text;
            // Ausführungszeitpunkt: wähle JETZT oder das angebene Datum
            if (this.cbx_AusfuehrungszeitpunktJetzt.Checked)
                neuerAuftrag.Ausfuehrungszeitpunkt = DateTime.Now;
            else
                neuerAuftrag.Ausfuehrungszeitpunkt = this.dtp_Ausfuehrungszeitpunkt.Value;
            // spätester Ausführungszeitpunkt: wähle JETZT oder das angebene Datum
            if (this.cbx_spaetesterErfuellungszeitpunktJetzt.Checked)
                neuerAuftrag.SpaetesterErfuellungszeitpunkt = DateTime.Now;
            else
                neuerAuftrag.SpaetesterErfuellungszeitpunkt= this.dtp_spaetesterErfuellungszeitpunkt.Value;
            // Bearbeiter
            neuerAuftrag.BearbeiterBenutzerID = ((Cdv_Benutzer) this._st_Funk.HoleAktuellenBenutzer()).ID;
            // Benutzerempfänger
            if (cmb_Benutzerempfaenger.SelectedIndex != -1)
            {
                neuerAuftrag.EmpfaengerBenutzerID =
                    ((Cdv_Benutzer) this._st_Funk._AlleBenutzer[cmb_Benutzerempfaenger.SelectedIndex]).ID;
                neuerAuftrag.IstInToDoListe = true;
            }
            // EmpfängerKräfteMenge
            ArrayList IDMenge =
                this.HoleAlleAusgewaehltenEmpfaengerIDs(this.tvw_AuftragsEmpfaenger.Nodes);
            int[] IDMengeINT = (int[]) IDMenge.ToArray(typeof(int));
            neuerAuftrag.EmpfaengerMengeKraftID = IDMengeINT;
            //Übermittlung
            neuerAuftrag.IstUebermittelt = this.cbx_IstUebermittelt.Checked;
            // Übermittlungsart
            neuerAuftrag.Uebermittlungsart =
                (pELS.Tdv_Uebermittlungsart) this.cmb_Uebermittlungsart.SelectedItem;
            // Übermittlungsdatum: wähle JETZT oder das angebene Datum
            if (this.cbx_UebermittlungszeitpunktJetzt.Checked)
                neuerAuftrag.Uebermittlungsdatum = DateTime.Now;
            else
                neuerAuftrag.Uebermittlungsdatum = this.dtp_Uebermittlungsdatum.Value;
            // Text
            neuerAuftrag.Text = this.txt_Auftragstext.Text;
            // Nachverfolgen
            neuerAuftrag.WirdNachverfolgt = this.cbx_nachverfolgen.Checked;
            // ermittle, ob es sich um einen Befehl handelt

            if ((this.cmb_Befehlsart.SelectedIndex != 0) && (this.cmb_Befehlsart.SelectedIndex != -1))
            {
                neuerAuftrag.IstBefehl = true;
                // ermittle, ob es sich um einen Erkundungsbefehl handelt
                Tdv_BefehlArt aktuelleEBArt = new Tdv_BefehlArt();
                aktuelleEBArt = PruefeErkundungsbefehl();

                #region kopiere Daten aus Auftrag nach erkundungsbefehl
                Cdv_Erkundungsbefehl neuerErkundungsbefehl = new Cdv_Erkundungsbefehl(
                    neuerAuftrag.Text,
                    neuerAuftrag.Abfassungsdatum,
                    neuerAuftrag.Absender,
                    neuerAuftrag.Uebermittlungsart,
                    neuerAuftrag.WirdNachverfolgt,
                    aktuelleEBArt,
                    neuerAuftrag.IstInToDoListe,
                    neuerAuftrag.BearbeiterBenutzerID);
                neuerErkundungsbefehl.Ausfuehrungszeitpunkt = neuerAuftrag.Ausfuehrungszeitpunkt;
                neuerErkundungsbefehl.EmpfaengerBenutzerID = neuerAuftrag.EmpfaengerBenutzerID;
                neuerErkundungsbefehl.EmpfaengerMengeKraftID = neuerAuftrag.EmpfaengerMengeKraftID;
                neuerErkundungsbefehl.ID = neuerAuftrag.ID;
                neuerErkundungsbefehl.IstBefehl = neuerAuftrag.IstBefehl;
                if (Enum.IsDefined(typeof(Tdv_BefehlArt),aktuelleEBArt))
                {
                    neuerErkundungsbefehl.BefehlsArt = aktuelleEBArt;
                }
                neuerErkundungsbefehl.IstInToDoListe = neuerAuftrag.IstInToDoListe;
                neuerErkundungsbefehl.IstUebermittelt = neuerAuftrag.IstUebermittelt;
                neuerErkundungsbefehl.Uebermittlungsdatum = neuerAuftrag.Uebermittlungsdatum;
                neuerErkundungsbefehl.SpaetesterErfuellungszeitpunkt = neuerAuftrag.SpaetesterErfuellungszeitpunkt;
                neuerErkundungsbefehl.Text = neuerAuftrag.Text;
                neuerErkundungsbefehl.Uebermittlungsart = neuerAuftrag.Uebermittlungsart;
                neuerErkundungsbefehl.WirdNachverfolgt = neuerAuftrag.WirdNachverfolgt;
                this._st_Funk.SpeichereAuftrag(neuerErkundungsbefehl);
                #endregion
            }
            else
            {
                neuerAuftrag.IstBefehl = false;
                neuerAuftrag = this._st_Funk.SpeichereAuftrag(neuerAuftrag);
            }

            _zuletztGespeicherteMitteilung = neuerAuftrag;
            // TODO: prüfen, ob speichern erfolgreich
            return true;
        }
        public override IPelsObject[] LadeAusDerDB()
        {
            // Reader, der Daten aufnimmt (ACHTUNG: Nimmt Auftraege und Erkundungsbefehle auf!)
            NpgsqlDataReader dreader_auftrag_erg;
            NpgsqlDataReader dreader_empfaenger_erg;

            // Zum initialisieren des Pels-Objekt-Arrays
            int i_anzahlZeilen, i_anzahlZeilen2 = 0;
            // Select
            String str_SELECTAnfrage = "Select * from \"Auftraege\"";
            // Zugriff auf DB
            dreader_auftrag_erg = db.AusfuehrenSelectAnfrage(str_SELECTAnfrage, out i_anzahlZeilen);

            // Objekte-Behälter für die Ergebnisse

            Cdv_Auftrag[] auftraege_erg = new Cdv_Auftrag[i_anzahlZeilen];

            int i = 0;

            while(dreader_auftrag_erg.Read())
            {
                if(dreader_auftrag_erg.GetBoolean(dreader_auftrag_erg.GetOrdinal("IstErkundungsbefehl")))
                    auftraege_erg[i] = new Cdv_Erkundungsbefehl();
                else
                    auftraege_erg[i] = new Cdv_Auftrag();

                auftraege_erg[i].Abfassungsdatum=dreader_auftrag_erg.GetDateTime(dreader_auftrag_erg.GetOrdinal("Abfassungsdatum"));
                auftraege_erg[i].Absender=CMethoden.KonvertiereStringAusDB(dreader_auftrag_erg.GetString(dreader_auftrag_erg.GetOrdinal("Absender")));
                auftraege_erg[i].Ausfuehrungszeitpunkt=dreader_auftrag_erg.GetDateTime(dreader_auftrag_erg.GetOrdinal("Ausfuehrungszeitpunkt"));
                auftraege_erg[i].BearbeiterBenutzerID=dreader_auftrag_erg.GetInt32(dreader_auftrag_erg.GetOrdinal("BearbeiterID"));
                auftraege_erg[i].LaufendeNummer=dreader_auftrag_erg.GetInt32(dreader_auftrag_erg.GetOrdinal("LaufendeNummer"));
                auftraege_erg[i].ID=dreader_auftrag_erg.GetInt32(dreader_auftrag_erg.GetOrdinal("ID"));

                //erstellen der EmpfängerKräfteIDMenge!!!!
                i_anzahlZeilen2 = 0;
                dreader_empfaenger_erg=db.AusfuehrenSelectAnfrage(("SELECT * FROM \"Empfaenger_Auftrag\" where \"AuftragsID\"="+auftraege_erg[i].ID),out i_anzahlZeilen2);
                auftraege_erg[i].EmpfaengerMengeKraftID = new int[i_anzahlZeilen2];
                int i_tmp1=0;

                while (dreader_empfaenger_erg.Read())
                {
                    auftraege_erg[i].EmpfaengerMengeKraftID[i_tmp1]=dreader_empfaenger_erg.GetInt32(dreader_empfaenger_erg.GetOrdinal("KraftID"));
                    i_tmp1++;
                }

                auftraege_erg[i].IstBefehl=dreader_auftrag_erg.GetBoolean(dreader_auftrag_erg.GetOrdinal("IstBefehl"));
                auftraege_erg[i].IstUebermittelt=dreader_auftrag_erg.GetBoolean(dreader_auftrag_erg.GetOrdinal("IstUebermittelt"));
                auftraege_erg[i].SpaetesterErfuellungszeitpunkt=dreader_auftrag_erg.GetDateTime(dreader_auftrag_erg.GetOrdinal("SpaetesterEZP"));
                auftraege_erg[i].Text=CMethoden.KonvertiereStringAusDB(dreader_auftrag_erg.GetString(dreader_auftrag_erg.GetOrdinal("Text")));
                auftraege_erg[i].Uebermittlungsart=(Tdv_Uebermittlungsart) dreader_auftrag_erg.GetInt32(dreader_auftrag_erg.GetOrdinal("Uebermittlungsart"));
                auftraege_erg[i].Uebermittlungsdatum=dreader_auftrag_erg.GetDateTime(dreader_auftrag_erg.GetOrdinal("Uebermittlungsdatum"));
                auftraege_erg[i].WirdNachverfolgt=dreader_auftrag_erg.GetBoolean(dreader_auftrag_erg.GetOrdinal("WirdNachverfolgt"));
                auftraege_erg[i].EmpfaengerBenutzerID = dreader_auftrag_erg.GetInt32(dreader_auftrag_erg.GetOrdinal("EmpfaengerBenutzerID"));
                auftraege_erg[i].IstInToDoListe = dreader_auftrag_erg.GetBoolean(dreader_auftrag_erg.GetOrdinal("IstInToDoListe"));

                if(auftraege_erg[i] is Cdv_Erkundungsbefehl)
                {
                    ((Cdv_Erkundungsbefehl) auftraege_erg[i]).BefehlsArt= (Tdv_BefehlArt) dreader_auftrag_erg.GetInt32(dreader_auftrag_erg.GetOrdinal("EB_Befehlsart"));
                }

                i++;
            }
            return (IPelsObject[]) auftraege_erg;
        }
Example #3
0
        /// <summary>
        /// stellt einen Auftrag aus den Werten der Eingabeelemente zusammen 
        /// und speichert ihn
        /// </summary>
        private bool SpeichereAuftrag()
        {
            // erstelle einen neuen Auftrag
            Cdv_Erkundungsbefehl neuerAuftrag = new Cdv_Erkundungsbefehl();
            neuerAuftrag.ID = 0;
            // Abfassungsdatum: wähle JETZT oder das angebene Datum
            if (this.cbx_AbfassungsdatumJetzt.Checked)
                neuerAuftrag.Abfassungsdatum = DateTime.Now;
            else
                neuerAuftrag.Abfassungsdatum = this.dtp_AbfassungsDatum.Value;
            // Absender
            neuerAuftrag.Absender = this.txt_Absender.Text;
            // Ausführungszeitpunkt: wähle JETZT oder das angebene Datum
            if (this.cbx_AusfuehrungszeitpunktJetzt.Checked)
                neuerAuftrag.Ausfuehrungszeitpunkt = DateTime.Now;
            else
                neuerAuftrag.Ausfuehrungszeitpunkt = this.dtp_Ausfuehrungszeitpunkt.Value;
            // spätester Ausführungszeitpunkt: wähle JETZT oder das angebene Datum
            if (this.cbx_spaetesterErfuellungszeitpunktJetzt.Checked)
                neuerAuftrag.SpaetesterErfuellungszeitpunkt = DateTime.Now;
            else
                neuerAuftrag.SpaetesterErfuellungszeitpunkt= this.dtp_Auftrag_spaetesterErfuellungszeitpunkt.Value;
            // Bearbeiter
            neuerAuftrag.BearbeiterBenutzerID = this._stMAT.HoleAktuellenBenutzer().ID;
            // Benutzerempfänger
            if (cmb_Benutzerempfaenger.SelectedIndex != -1)
            {
                neuerAuftrag.EmpfaengerBenutzerID =
                    ((Cdv_Benutzer) this._stMAT.AlleBenutzer[cmb_Benutzerempfaenger.SelectedIndex]).ID;
                neuerAuftrag.IstInToDoListe = true;
            }
            // EmpfängerKräfteMenge
            ArrayList IDMenge =
                this.HoleAlleAusgewaehltenEmpfaengerIDs(this.tvw_Auftrag_AuftragsEmpfaenger.Nodes);
            int[] IDMengeINT = (int[]) IDMenge.ToArray(typeof(int));
            neuerAuftrag.EmpfaengerMengeKraftID = IDMengeINT;
            // Übermittlungsart
            neuerAuftrag.Uebermittlungsart =
                (pELS.Tdv_Uebermittlungsart) this.cmb_UebermittlungsArt.SelectedItem;
            //Übermittlung

            // Übermittlungsdatum: wähle JETZT oder das angebene Datum
            if((neuerAuftrag.IstUebermittelt = this.cbx_IstUebermittelt.Checked)== true)
            {
                if (this.cbx_UebermittlungszeitpunktJetzt.Checked)
                    neuerAuftrag.Uebermittlungsdatum = DateTime.Now;
                else
                    neuerAuftrag.Uebermittlungsdatum = this.dtp_Uebermittlungsdatum.Value;
            }
            else
            {
                neuerAuftrag.Uebermittlungsdatum = DateTimePicker.MaxDateTime;
            }
            // Text
            neuerAuftrag.Text = this.txt_Auftrag_Auftragstext.Text;
            // Nachverfolgen
            neuerAuftrag.WirdNachverfolgt = this.cbx_Auftrag_nachverfolgen.Checked;
            // ermittle, ob es sich um einen Befehl handelt
            if ((this.cmb_Befehlsart.SelectedIndex != 0) && (this.cmb_Befehlsart.SelectedIndex != -1))
            {
                neuerAuftrag.IstBefehl = true;
                // ermittle, ob es sich um einen Erkundungsbefehl handelt
                Tdv_BefehlArt aktuelleEBArt = new Tdv_BefehlArt();
                aktuelleEBArt = PruefeErkundungsbefehl();
                if (Enum.IsDefined(typeof(Tdv_BefehlArt),aktuelleEBArt))
                {
                    neuerAuftrag.BefehlsArt = aktuelleEBArt;
                    this._stMAT.SpeichereErkundungsbefehl(neuerAuftrag);
                }
            }
            else
            {
                neuerAuftrag.IstBefehl = false;
                this._stMAT.SpeichereAuftrag(neuerAuftrag);
            }
            _zuletztGespeicherteMitteilung = neuerAuftrag;
            // TODO: prüfen, ob speichern erfolgreich
            return true;
        }
Example #4
0
 public bool SpeichereErkundungsbefehl(Cdv_Erkundungsbefehl pin_Erkundungsbefehl)
 {
     this._PortalLogikMAT.SpeichereErkundungsbefehl(pin_Erkundungsbefehl);
     this.WerfeSystemereignis(pin_Erkundungsbefehl);
     return true;
 }
 public void SpeichereErkundungsbefehl(Cdv_Erkundungsbefehl pin_Erkundungsbefehl)
 {
     this._ObjektManager.Erkundungsbefehle.Speichern(pin_Erkundungsbefehl);
 }