//Stellt den übergebenen Kommentar auf dem Reiter Sytemereignis im Kommentarbereich dar
 private void SystemereignisAlteKommentareLaden(Cdv_Systemereignis pin_syserg)
 {
     //Präventives löschen der Kommentarfelder Inhalte
     this.InitSystemereignisKommentare();
     //Laden aller Kommentare zu diesem Systemereignis in die Combobox
     foreach(Cdv_EtbEintragKommentar etbK in this._st_etb._myEtbKommentarMenge)
     {
         if(etbK.EtbEintragID == pin_syserg.ID)
         {
             this.cmb_Systemereignis_Kommentar_AlteKommentare.Items.Add(etbK);
             this.cmb_Systemereignis_Kommentar_AlteKommentare.Enabled = true;
         }
     }
 }
        //Stellt das übergebene Systemereignis rechts im Auswahlfeld dar
        private void SystemereignisInAuswahlfeldDarstellen(Cdv_Systemereignis pin_syserg)
        {
            //Setze Titel der GroupBox auf ausgewähltes Systemereignis

            string str_tempSysErgToString = pin_syserg.ToString();
            // die Zeilenumbrüche müssen an dieser Stelle enfernt werden, um den titel der Groupbox richtig darstellen zu können
            str_tempSysErgToString = str_tempSysErgToString.Replace("\n", " ");
            grp_Systemereignisse_Auswahl.Text = str_tempSysErgToString;
            //Setze Beschreibungstext auf die Beschreibung des ausgewählten Systemereignisses
            txt_Systemereignisse_Beschreibung.Text = pin_syserg.Beschreibung;

            //Label setzen mit zusätzlichen Informationen zu diesem Systemereignis
            lbl_ausgewaehltesSystemereignis_Info.Text = "Datum: "
                + pin_syserg.ErstellDatum.ToLongDateString()
                + " - "+pin_syserg.ErstellDatum.ToLongTimeString()
                + "\n"
                + "Art:                "
                + pin_syserg.Systemereignisart
                + "\n"
                + "Benutzer:      "
                + pin_syserg.Benutzername;
        }
        public override IPelsObject[] LadeAusDerDB()
        {
            // Reader, der Daten aufnimmt
            NpgsqlDataReader dreader_etbE_erg;
            // Zum initialisieren des Pels-Objekt-Arrays
            int i_anzahlZeilen;
            // Select anfrage
            String str_SELECTAnfrage = "Select * from \"EtbEintraege\"";
            // Zugriff auf DB
            dreader_etbE_erg = db.AusfuehrenSelectAnfrage(str_SELECTAnfrage, out i_anzahlZeilen);
            // Objekte-Behälter für die Ergebnisse
            Cdv_EtbEintrag[] etbE_erg = new Cdv_EtbEintrag[i_anzahlZeilen];
            int i = 0;

            while(dreader_etbE_erg.Read())
            {
                string str_Benutzername, str_Beschreibung;
                DateTime date_erstellDatum;
                date_erstellDatum = dreader_etbE_erg.GetDateTime(dreader_etbE_erg.GetOrdinal("Erstelldatum"));
                str_Benutzername = CMethoden.KonvertiereStringAusDB(dreader_etbE_erg.GetString(dreader_etbE_erg.GetOrdinal("Benutzername")));
                str_Beschreibung = CMethoden.KonvertiereStringAusDB(dreader_etbE_erg.GetString(dreader_etbE_erg.GetOrdinal("BEschreibung")));

                if(dreader_etbE_erg.GetBoolean(dreader_etbE_erg.GetOrdinal("IstSystemereignis")))
                {
                    Tdv_SystemereignisArt syserg =	(Tdv_SystemereignisArt) dreader_etbE_erg.GetInt32(dreader_etbE_erg.GetOrdinal("Systemereignisart"));
                    bool b_erscheintInEtb = dreader_etbE_erg.GetBoolean(dreader_etbE_erg.GetOrdinal("ErscheintInEtb"));
                    etbE_erg[i] = new Cdv_Systemereignis(str_Benutzername,date_erstellDatum,str_Beschreibung,syserg,b_erscheintInEtb);
                }
                else
                    etbE_erg[i] = new Cdv_EtbEintrag(str_Benutzername, date_erstellDatum, str_Beschreibung);

                etbE_erg[i].ID = dreader_etbE_erg.GetInt32(dreader_etbE_erg.GetOrdinal("ID"));

                //TODO: alle Kommentare nochmal auslesen
                i++;
            }
            return etbE_erg;
        }
        public void LadeAlleSystemeregnisseInListe(Cdv_Systemereignis[] pin_SeArray)
        {
            lbx_Systemereignisse_Liste.SelectedItem = null;

            // Alle Systemereigniss in die Liste eintragen
            lbx_Systemereignisse_Liste.Items.Clear();
            lbx_Systemereignisse_Liste.Items.AddRange(pin_SeArray);

            // Jedes Systemereignis das ins ETB soll markieren
            foreach (Cdv_Systemereignis se in pin_SeArray)
                lbx_Systemereignisse_Liste.SetItemChecked(lbx_Systemereignisse_Liste.Items.IndexOf(se), se.ErscheintInEtb);
        }
Exemple #5
0
        private void WerfeSystemereignis(Cdv_Mitteilung pin_mit)
        {
            string str_Beschreibung = (pin_mit.GetType().ToString()).Replace("pELS.DV.Cdv_","");

            #region Empfängerliste als String zusammenstellen
            string str_Empfaenger = String.Empty;

            if (pin_mit.EmpfaengerMengeKraftID != null)
            foreach (int empf in pin_mit.EmpfaengerMengeKraftID)
            {
                bool _b_gefunden = false;

                foreach(Cdv_Einheit en in _PortalLogikMAT.HoleAlleEinheiten())
                    if(empf == en.ID)
                    {
                        str_Empfaenger += en.Name+ ", ";
                        _b_gefunden = true;
                    }

                if (!_b_gefunden)
                    foreach(Cdv_Helfer he in _PortalLogikMAT.HoleAlleHelfer())
                        if(empf == he.ID)
                        {
                            str_Empfaenger += he.Personendaten.Vorname + " "+ he.Personendaten.Name+", ";
                            _b_gefunden = true;
                        }

                if (!_b_gefunden)
                    foreach(Cdv_KFZ kfz in _PortalLogikMAT.HoleAlleKFZ())
                        if(empf == kfz.ID)
                            str_Empfaenger += kfz.Funkrufname+", ";
            }

            // entferne das letzte ", "
            if (str_Empfaenger.Length > 1)
                str_Empfaenger = str_Empfaenger.Remove(str_Empfaenger.Length - 2,2);
            #endregion

            #region Systemereignis erstellen
            str_Beschreibung += "\nVon: " + pin_mit.Absender
                + "\nAn: " + str_Empfaenger;
            if (pin_mit is Cdv_Erkundungsergebnis)
                str_Beschreibung += "\nErkundungsobjekt: " + ((Cdv_Erkundungsergebnis) pin_mit).Erkundungsobjekt.Bezeichnung;
            str_Beschreibung += "\n"+ pin_mit.Text
                + "\nÜbermittelt per "+ pin_mit.Uebermittlungsart;

            Cdv_Systemereignis mySyserg = new Cdv_Systemereignis(Einstellung.Benutzer.Benutzername,
                DateTime.Now,
                str_Beschreibung,
                Tdv_SystemereignisArt.Mitteilung,
                false);
            this._Portal_AllgFkt.WerfeSystemereignis(mySyserg);
            #endregion
        }
 //Hier für ETB Systemereignisse werfen
 public void WerfeSystemereignis(Cdv_Systemereignis pin_syserg)
 {
     _ObjektManager.EtbEintraege.Speichern(pin_syserg);
 }
        /// <summary>
        /// Diese Funktion lädt alle Systemereignisse.
        /// <returns name="pout_Systemereignisse">Menge aller Systemereignisse die bisher geworfen wurde.</returns>
        /// </summary>
        public Cdv_Systemereignis[] LadeSystemereignisse()
        {
            // hole alle Systemereignisse
            pELS.DV.Server.Interfaces.IPelsObject[] ipoa = _ObjektManager.EtbEintraege.HolenAlle();

            if(!(ipoa == null) || (ipoa.Length == 0))
            {
                Cdv_EtbEintrag[] tmpEtbEintraege = new Cdv_EtbEintrag[ipoa.Length];
                ipoa.CopyTo(tmpEtbEintraege,0);

                // Finde die Systemereignisse
                ArrayList _tmpAL = new ArrayList();
                for (int pos = 0; pos < tmpEtbEintraege.Length; pos++)
                {
                    if (tmpEtbEintraege[pos].GetType().ToString() == "pELS.DV.Cdv_Systemereignis") _tmpAL.Add(tmpEtbEintraege[pos]);
                }

                // kopiere Einträge aus ArrayList nach Array
                Cdv_Systemereignis[] pout_Systemereignisse = new Cdv_Systemereignis[_tmpAL.Count];
                _tmpAL.CopyTo(pout_Systemereignisse);

                //nach Datum sortieren
                pout_Systemereignisse = (Cdv_Systemereignis[]) this.SortiereNachDatum(pout_Systemereignisse);
                return pout_Systemereignisse;
            }
            else
                return null;
        }
        public void Rollenwechsel(string pin_Rolle)
        {
            //merke alte Rolle:
            Tdv_Systemrolle alteRolle = _Einstellung.Benutzer.Systemrolle;

            switch (pin_Rolle)
            {
                case "Zugführer"		: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.Zugführer; break;}
                case "Zugtruppführer"	: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.Zugtruppführer; break;}
                case "Einsatzleiter"	: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.Einsatzleiter;break;}
                case "LeiterFüSt"		: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.LeiterFüSt;break;}
                case "Führungsgehilfe"	: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.Führungsgehilfe;break;}
                case "Sichter"			: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.Sichter;break;}
                case "Fernmelder"		: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.Fernmelder;break;}
                case "S1"				: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.S1;break;}
                case "S2"				: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.S2;break;}
                case "S3"				: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.S3;break;}
                case "S4"				: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.S4;break;}
                case "S5"				: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.S5;break;}
                case "S6"				: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.S6;break;}
                case "LeiterStab"		: {_Einstellung.Benutzer.Systemrolle = Tdv_Systemrolle.LeiterStab;break;}
                default					:break;
            }

            //Nur starten,wenn die Rolle sich wirklich geändert hat
            if(alteRolle != _Einstellung.Benutzer.Systemrolle)
            {

                //Speichern der neuen Rolle auf dem Server
                this._st_allgFkt.apAllgFkt.SpeichereBenutzer(Einstellung.Benutzer);

                //neue Systemrolle an alle Softwarebauelemnte senden
                foreach (object obj_sbe in this._arl_softwarebauelemente)
                {
                    //DEBUG: Ausgeben lassen wegen der Geschwindigkeit
                    //MessageBox.Show("Mache Update von "+ obj_sbe.GetType().ToString());
                    (obj_sbe as Isbe).SetzeRollenRechte((int) _Einstellung.Benutzer.Systemrolle);
                }

                // Systemereignis werfen
                Cdv_Systemereignis sysErg = new Cdv_Systemereignis(
                    _Einstellung.Benutzer.Benutzername,
                    System.DateTime.Now,
                    "Der Benutzer " + _Einstellung.Benutzer.Benutzername + " hat die Rolle " + _Einstellung.Benutzer.Systemrolle + " angenommen.",
                    Tdv_SystemereignisArt.Statuswechsel,
                    false);
                _st_allgFkt.apAllgFkt.WerfeSystemereignis(sysErg);
            }
        }
 /// <summary>
 /// speichert Änderungen in den Einsatzdaten
 /// + Wirft Systemereignis (Änderungen an den Einsatzdaten)
 /// </summary>
 /// <param name="pin_Einsatz"></param>
 /// <returns></returns>
 public IPelsObject SpeichereEinsatzdaten(Cdv_Einsatz pin_Einsatz)
 {
     #region Systemereignis mit Einsatzdaten werfen
     string str_Beschreibung;
     str_Beschreibung = "Die Einsatzdaten wurden bearbeitet:";
     str_Beschreibung += "\nBezeichnung:\t"+pin_Einsatz.Bezeichnung;
     str_Beschreibung += "\nEinsatzort:\t"+pin_Einsatz.Einsatzort;
     str_Beschreibung += "\nVon:\t\t"+pin_Einsatz.VonDatum;
     str_Beschreibung += "\nBis:\t\t"+pin_Einsatz.BisDatum;
     // TODO: Wenn Flags geändert wurden muss das hier noch rein
     Cdv_Systemereignis mySysErg = new Cdv_Systemereignis("Server-Administrator",
                                                           DateTime.Now,
                                                           str_Beschreibung,
                                                           Tdv_SystemereignisArt.Einsatzdaten,
                                                           true);
     #endregion
     _ObjectManager.EtbEintraege.Speichern(mySysErg);
     return _verw_einsatzverwaltung.Speichern(pin_Einsatz);
 }