示例#1
0
        public static void Foul_nebenereignisse(TSpiele spiel, string aoderb, int add, string mannschaft, int spielerID = 0)
        {
            try
            {
                string Spielername = "";
                if (spielerID != 0)
                {
                    Spieler sp = ClsMannschaftenControler.Spieler(spielerID);
                    Spielername = sp.Nachname + ", " + sp.Vorname;
                }

                // prüfen ob Ereignis gespeichert werden muss
                string SpielzeitStr = ClsDBVariablen.Instance.GetTextVariableWert("S08");
                if (ClsZeitkontroler.Instance.GetClockStatus(2))                 //(ClsSpielzeitControler.Instance.Nachspielzeitlaeuft)
                {
                    SpielzeitStr = SpielzeitStr + "+" + ClsDBVariablen.Instance.GetTextVariableWert("S35");
                }

                DateTime cpu = DateTime.Now;

                string freiSpielereignisse = ClsOptionsControler.Options3("Spielfreieereignisse").Value;

                if (spiel != null)
                {
                    if (spiel.Spiel != 0 || (spiel.Spiel == 0 && freiSpielereignisse == "True"))
                    {
                        TEreignisse e = new TEreignisse
                        {
                            TurnierID         = spiel.TurnierID,
                            TurnierNr         = spiel.TurnierNr,
                            Spiel             = spiel.Spiel,
                            Mannschaft        = mannschaft,
                            Spielzeit         = SpielzeitStr,
                            Spielzeitrichtung = ClsTimerControler.Timer(ClsTimerControler.TimerID(1)).Countdown.ToString(),                             //ClsOptionsControler.Options3("Spielzeitrichtung").Value,
                            CPUZeit           = DateTime.Now,
                            Ereignistyp       = "06"
                        };

                        e.Spieler        = Spielername;
                        e.Details        = add.ToString();
                        e.Spielabschnitt = ClsDBVariablen.Instance.GetBildVariableWert("S09");                         // ClsSpielzeitControler.Instance.Spielabschnitt;
                        ClsEreignisControler.AddEreignis(e);
                    }
                }

                ClsDBVariablen.Instance.SetTabellenVariableWert("T03", ClsTabellenfunktionen.EreignisseToVariable_Json(ClsGlobal.Instance.TurnierID));
                ClsDBVariablen.Instance.SetTextVariableWert("S38", spielerID.ToString());

                if (ClsGlobal.Instance.TurnierID != 0)
                {
                    //// ClsTurnierControler.SaveFoul(ClsGlobal.Instance.AktivesSpiel);
                    //// Foulstand wird bisher nicht an spiel gespeichert
                    //// Fouls werden während des spiels manchmal genullt z.B.: 5 Fouls = 1 x 7 Meter starfstoß
                }
            }
            catch (Exception ex)
            {
                ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex);
            }
        }
示例#2
0
        private void ReadTimerEvents()
        {
            bool   countdown = this.myTimer.Countdown;
            string sorting   = "ASC";

            if (countdown)
            {
                sorting = "DESC";
            }

            this.EventListe.Clear();
            this.EventListe.AddRange(ClsTimerControler.AktiveTimerEvents(this.myTimer.Nr, sorting));
        }
示例#3
0
        private static ClsOptionen LoadFromDB()
        {
            ClsOptionen Optionen = new ClsOptionen();

            Optionen.HotKey       = ClsHotkeyControler.hotkeys();
            Optionen.Kontrols     = ClsKontrolControler.Kontrols();
            Optionen.Options3     = ClsOptionsControler.Options3();
            Optionen.Strafen      = ClsOptionsControler.Strafen();
            Optionen.TabellenSort = ClsOptionsControler.Tabellensortierung();
            Optionen.Timer        = ClsTimerControler.Timers();
            Optionen.Timerevent   = ClsTimerControler.TimerEvents();

            return(Optionen);
        }
示例#4
0
        public void ZeitReset()
        {
            if (!this.myStatus)
            {
                DB.Timer t = ClsTimerControler.Timer((int)this.myTimer.ID);
                this.SetTimer(t);

                this.myTimerValue = this.myTimer.StartSekunden;
                this.SetVariable(this.myTimerValue);

                // Zeitereignisse lesen
                this.ReadTimerEvents();
            }
        }
        /// <summary>
        /// Initialisieren der Spieluhren mit Parametern aus der Datenbank
        /// </summary>
        public void IniUhren()
        {
            List <DB.Timer> tl = ClsTimerControler.Timers();

            if (tl.Count == 0)
            {
                return;
            }

            tl.Sort((a, b) => a.Nr.CompareTo(b.Nr));

            for (int i = 0; i < tl.Count; i++)
            {
                ClsClock uhr = new ClsClock(tl[i]);
                uhr.Zeitereignis += this.ZeitAusloeser;
                this.ClockList.Add(uhr);
            }
        }
        public void Saveereignis(string ereignistyp)
        {
            long turnierID    = ClsGlobal.Instance.TurnierID;
            int  aktivesSpiel = 0;

            int  timerID   = ClsTimerControler.TimerID(1);
            bool countdown = ClsTimerControler.Timer(timerID).Countdown;

            if (ClsGlobal.Instance.AktivesSpiel != null)
            {
                aktivesSpiel = ClsGlobal.Instance.AktivesSpiel.Spiel;
            }

            if ((turnierID == 0 && ClsOptionsControler.Options3("Spielfreieereignisse").Value == "True") || turnierID != 0)
            {
                string SpielzeitStr = ClsDBVariablen.Instance.GetTextVariableWert("S08");

                // Nachspielzeit
                if (this.GetClockStatus(2) == true)
                {
                    SpielzeitStr = SpielzeitStr + "+" + ClsDBVariablen.Instance.GetTextVariableWert("S35");
                }

                TEreignisse e = new TEreignisse
                {
                    TurnierID         = (int)turnierID,
                    TurnierNr         = 0,
                    Spiel             = aktivesSpiel,
                    Mannschaft        = string.Empty,
                    Spielzeit         = SpielzeitStr,
                    Spielzeitrichtung = countdown.ToString(),
                    CPUZeit           = DateTime.Now,
                    Ereignistyp       = ereignistyp,
                    Spieler           = string.Empty,
                    Details           = "",
                    Spielabschnitt    = ClsDBVariablen.Instance.GetTextVariableWert("S09")
                };
                ClsEreignisControler.AddEreignis(e);
                ClsDBVariablen.Instance.SetTabellenVariableWert("T03", ClsTabellenfunktionen.EreignisseToVariable_Json((int)turnierID));
            }
        }
示例#7
0
        public static void Tore_Reset(TSpiele spiel)
        {
            ClsDBVariablen.Instance.SetTextVariableWert("S05", "0");
            ClsDBVariablen.Instance.SetTextVariableWert("S06", "0");

            // Ereignis schreiben
            string SpielzeitStr = ClsDBVariablen.Instance.GetTextVariableWert("S08");

            if (ClsZeitkontroler.Instance.GetClockStatus(2))             // ClsSpielzeitControler.Instance.Nachspielzeitlaeuft)
            {
                SpielzeitStr = SpielzeitStr + "+" + ClsDBVariablen.Instance.GetTextVariableWert("S35");
            }

            DateTime cpu = DateTime.Now;

            string freiSpielereignisse = ClsOptionsControler.Options3("Spielfreieereignisse").Value;

            if (spiel.Spiel != 0 || (spiel.Spiel == 0 && freiSpielereignisse == "True"))
            {
                TEreignisse e = new TEreignisse
                {
                    TurnierID         = spiel.TurnierID,
                    TurnierNr         = spiel.TurnierNr,
                    Spiel             = spiel.Spiel,
                    Mannschaft        = "",
                    Spielzeit         = SpielzeitStr,
                    Spielzeitrichtung = ClsTimerControler.Timer(ClsTimerControler.TimerID(1)).Countdown.ToString(),                     //ClsOptionsControler.Options3("Spielzeitrichtung").Value,
                    CPUZeit           = DateTime.Now,
                    Ereignistyp       = "10",
                    Details           = spiel.ToreA.ToString() + ":" + spiel.ToreB.ToString(),
                    Spielabschnitt    = ClsDBVariablen.Instance.GetBildVariableWert("S09")
                };

                ClsEreignisControler.AddEreignis(e);
            }
        }
示例#8
0
        public static void StrafeNeu(string aoderb, string SpielerID, string StrafenID)
        {
            try
            {
                int strafenID = Convert.ToInt32(StrafenID);

                DateTime cpu = DateTime.Now;

                string mannschaft = string.Empty;
                if (aoderb == "A")
                {
                    mannschaft = ClsGlobal.Instance.AktivesSpiel.IstMannA;
                }
                else
                {
                    mannschaft = ClsGlobal.Instance.AktivesSpiel.IstMannB;
                }

                string spielerName = ClsFunktionen.MakeSpielerNameOhneSID(SpielerID);

                // Strafdaten
                Strafen strafe = ClsOptionsControler.Strafe(strafenID);

                // 03 = Zeitstrafe
                if (strafe.Art == "03")
                {
                    // Zeitstarfe
                    ClsZeitstrafe z = new ClsZeitstrafe();

                    z.Mannschaft  = mannschaft;
                    z.SpielerID   = SpielerID;
                    z.Spieler     = spielerName;
                    z.Zeit        = strafe.Sekunden;
                    z.Minuten     = ClsFunktionen.Sek2uhr(z.Zeit);
                    z.Bezeichnung = strafe.Bezeichnung;

                    if (aoderb == "A")
                    {
                        if (ClsGlobal.Instance.Strafen1.Any())
                        {
                            z.ID = (from x in ClsGlobal.Instance.Strafen1 select x.ID).Max() + 1;
                        }
                        else
                        {
                            z.ID = 1;
                        }

                        ClsGlobal.Instance.Strafen1.Add(z);

                        ClsTabellenfunktionen.StrafenToVariable(ClsGlobal.Instance.Strafen1, aoderb, "std");
                    }
                    else if (aoderb == "B")
                    {
                        if (ClsGlobal.Instance.Strafen2.Any())
                        {
                            z.ID = (from x in ClsGlobal.Instance.Strafen2 select x.ID).Max() + 1;
                        }
                        else
                        {
                            z.ID = 1;
                        }

                        ClsGlobal.Instance.Strafen2.Add(z);

                        ClsTabellenfunktionen.StrafenToVariable(ClsGlobal.Instance.Strafen2, aoderb, "std");
                    }

                    // Ereignis
                    if (
                        (ClsGlobal.Instance.TurnierID == 0 && ClsOptionsControler.Options3("Spielfreieereignisse").Value == "True")
                        ||
                        (ClsGlobal.Instance.TurnierID != 0 && ClsGlobal.Instance.AktivesSpiel != null)
                        )
                    {
                        string SpielzeitStr = ClsDBVariablen.Instance.GetTextVariableWert("S08");
                        if (ClsZeitkontroler.Instance.GetClockStatus(2))
                        {
                            SpielzeitStr = SpielzeitStr + "+" + ClsDBVariablen.Instance.GetTextVariableWert("S35");
                        }

                        string Spielzeitrichtung = ClsTimerControler.Timer(ClsTimerControler.TimerID(1)).Countdown.ToString();

                        TEreignisse e = new TEreignisse
                        {
                            TurnierID         = ClsGlobal.Instance.TurnierID,
                            TurnierNr         = 0,
                            Spiel             = (int)ClsGlobal.Instance.AktivesSpiel.Spiel,
                            Mannschaft        = mannschaft,
                            Spielzeit         = SpielzeitStr,
                            Spielzeitrichtung = Spielzeitrichtung,
                            CPUZeit           = DateTime.Now,
                            Ereignistyp       = "07",
                            Spieler           = spielerName,
                            Details           = strafe.Bezeichnung,
                            Spielabschnitt    = ClsDBVariablen.Instance.GetTextVariableWert("S09")
                        };

                        ClsEreignisControler.AddEreignis(e);
                    }

                    ClsDBVariablen.Instance.SetTabellenVariableWert("T03", ClsTabellenfunktionen.EreignisseToVariable_Json(ClsGlobal.Instance.TurnierID));

                    // Spieler wählen
                    ClsDBVariablen.Instance.SetTextVariableWert("S38", SpielerID);
                }
            }
            catch (Exception ex)
            {
                ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex);
            }
        }
示例#9
0
        public static void TimeOutLeftChange(TSpiele spiel, string aoderb, string wert, bool nullen = false)
        {
            try
            {
                string mannschaft = string.Empty;
                switch (aoderb)
                {
                case "A":
                    if (spiel != null)
                    {
                        mannschaft = spiel.IstMannA;
                    }

                    ClsDBVariablen.Instance.SetTextVariableWert("S39", wert);

                    break;

                case "B":
                    if (spiel != null)
                    {
                        mannschaft = spiel.IstMannB;
                    }

                    ClsDBVariablen.Instance.SetTextVariableWert("S40", wert);

                    break;
                }

                // prüfen ob Ereignis gespeichert werden muss
                string SpielzeitStr = ClsDBVariablen.Instance.GetTextVariableWert("S08");
                if (ClsZeitkontroler.Instance.GetClockStatus(2))                 //(ClsSpielzeitControler.Instance.Nachspielzeitlaeuft)
                {
                    SpielzeitStr = SpielzeitStr + "+" + ClsDBVariablen.Instance.GetTextVariableWert("S35");
                }

                DateTime cpu = DateTime.Now;

                string freiSpielereignisse = ClsOptionsControler.Options3("Spielfreieereignisse").Value;

                if (spiel != null)
                {
                    if (spiel.Spiel != 0 || (spiel.Spiel == 0 && freiSpielereignisse == "True"))
                    {
                        TEreignisse e = new TEreignisse();
                        e.TurnierID         = spiel.TurnierID;
                        e.TurnierNr         = spiel.TurnierNr;
                        e.Spiel             = spiel.Spiel;
                        e.Mannschaft        = mannschaft;
                        e.Spielzeit         = SpielzeitStr;
                        e.Spielzeitrichtung = ClsTimerControler.Timer(ClsTimerControler.TimerID(1)).Countdown.ToString();                         //ClsOptionsControler.Options3("Spielzeitrichtung").Value;
                        e.CPUZeit           = DateTime.Now;
                        e.Ereignistyp       = "16";

                        if (nullen)
                        {
                            e.Mannschaft  = string.Empty;
                            e.Ereignistyp = "17";
                        }

                        e.Spieler        = "";
                        e.Details        = wert;
                        e.Spielabschnitt = ClsDBVariablen.Instance.GetBildVariableWert("S09");                         // ClsSpielzeitControler.Instance.Spielabschnitt;
                        ClsEreignisControler.AddEreignis(e);
                    }
                }

                // update der Ereignistabelle
                ClsDBVariablen.Instance.SetTabellenVariableWert("T03", ClsTabellenfunktionen.EreignisseToVariable_Json(ClsGlobal.Instance.TurnierID));
            }
            catch (Exception ex)
            {
                ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex);
            }
        }
示例#10
0
        private static void Tor_nebenereignisse(TSpiele spiel, string aoderb, int add, string mannschaft, int spielerID)
        {
            try
            {
                ClsDBVariablen.Instance.SetTextVariableWert("S12", ClsFunktionen.Setspielstand());

                // spiel speichern
                if (spiel != null)
                {
                    if (spiel.Spiel != 0)
                    {
                        ClsTurnierControler.SaveSpiel(ClsGlobal.Instance.AktivesSpiel);
                    }
                }

                // prüfen ob Ereignis gespeichert werden muss
                string SpielzeitStr = ClsDBVariablen.Instance.GetTextVariableWert("S08");
                if (ClsZeitkontroler.Instance.GetClockStatus(2))                 // ClsSpielzeitControler.Instance.Nachspielzeitlaeuft)
                {
                    SpielzeitStr = SpielzeitStr + "+" + ClsDBVariablen.Instance.GetTextVariableWert("S35");
                }

                DateTime cpu = DateTime.Now;

                string freiSpielereignisse = ClsOptionsControler.Options3("Spielfreieereignisse").Value;


                string Spielername = "";
                if (spielerID != 0)
                {
                    Spieler spieler = ClsMannschaftenControler.Spieler(spielerID);
                    Spielername = spieler.Nachname + ", " + spieler.Vorname;
                }

                if (spiel.Spiel != 0 || (spiel.Spiel == 0 && freiSpielereignisse == "True"))
                {
                    TEreignisse e = new TEreignisse
                    {
                        TurnierID         = spiel.TurnierID,
                        TurnierNr         = spiel.TurnierNr,
                        Spiel             = spiel.Spiel,
                        Mannschaft        = mannschaft,
                        Spieler           = Spielername,
                        Spielzeit         = SpielzeitStr,
                        Spielzeitrichtung = ClsTimerControler.Timer(ClsTimerControler.TimerID(1)).Countdown.ToString(),                         //ClsOptionsControler.Options3("Spielzeitrichtung").Value,
                        CPUZeit           = DateTime.Now,
                        Ereignistyp       = "05"
                    };


                    ClsEreignisControler.AddEreignis(e);
                }

                // update der Ereignistabelle
                ClsDBVariablen.Instance.SetTabellenVariableWert("T03", ClsTabellenfunktionen.EreignisseToVariable_Json(ClsGlobal.Instance.TurnierID));

                // update der Torschützentabelle
                ClsTabellenfunktionen.TorschuetzeToVariable(ClsGlobal.Instance.TurnierID);

                // einstellen des Torschützen als aktive gewählten Spieler
                ClsDBVariablen.Instance.SetTextVariableWert("S38", spielerID.ToString());

                // prüfen ob ein Torton abgespielt werden soll
                if (add > 0)
                {
                    string torton = string.Empty;

                    if (ClsOptionsControler.Options3("individualTorsound").Value != "True")
                    {
                        torton = ClsOptionsControler.Options3("Tor").Value;
                    }
                    else
                    {
                        DB.Mannschaften m = new DB.Mannschaften();
                        if (aoderb == "A")
                        {
                            m = ClsMannschaftenControler.Mannschaft(spiel.IstMannA);
                        }
                        else
                        {
                            m = ClsMannschaftenControler.Mannschaft(spiel.IstMannB);
                        }

                        if (m != null)
                        {
                            torton = m.Torton;
                        }
                    }

                    if (torton != string.Empty)
                    {
                        ClsSoundplayer.Instance.TPlay(torton + "|" + "30");
                    }
                }
            }
            catch (Exception ex)
            {
                ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex);
            }
        }
示例#11
0
        private static void SaveToDB(ClsOptionen Optionen)
        {
            List <HotKey> o1 = ClsHotkeyControler.hotkeys();

            for (int i = 0; i < Optionen.HotKey.Count; i++)
            {
                HotKey h = (from x in o1 where x.Befehl == Optionen.HotKey[i].Befehl select x).FirstOrDefault();
                if (h != null)
                {
                    o1[i].Hotkey1 = Optionen.HotKey[i].Hotkey1;
                    ClsHotkeyControler.SaveHotKey(o1[i]);
                }
            }

            List <Kontrols> o2 = ClsKontrolControler.Kontrols();

            for (int i = 0; i < Optionen.Kontrols.Count; i++)
            {
                Kontrols h = (from x in o2 where x.Name == Optionen.Kontrols[i].Name select x).FirstOrDefault();
                if (h != null)
                {
                    o2[i].Ort  = Optionen.Kontrols[i].Ort;
                    o2[i].Sort = Optionen.Kontrols[i].Sort;
                    ClsKontrolControler.SaveKontrol(o2[i]);
                }
            }

            List <Options3> o3 = ClsOptionsControler.Options3();

            for (int i = 0; i < Optionen.Options3.Count; i++)
            {
                Options3 h = (from x in o3 where x.Prop == Optionen.Options3[i].Prop select x).FirstOrDefault();
                if (h != null)
                {
                    o3[i].Value = Optionen.Options3[i].Value;
                    ClsOptionsControler.SaveOptions3(o3[i]);
                }
            }

            List <Strafen> s = ClsOptionsControler.Strafen();

            if (s.Any())
            {
                for (int i = 0; i < s.Count; i++)
                {
                    ClsOptionsControler.DelStrafe(s[i].Bezeichnung);
                }
            }

            if (Optionen.Strafen.Any())
            {
                for (int i = 0; i < Optionen.Strafen.Count; i++)
                {
                    ClsOptionsControler.AddStrafe(Optionen.Strafen[i]);
                }
            }

            List <TabellenSort> o4 = ClsOptionsControler.Tabellensortierung();

            for (int i = 0; i < Optionen.TabellenSort.Count; i++)
            {
                TabellenSort h = (from x in o4 where x.Feld == Optionen.TabellenSort[i].Feld select x).FirstOrDefault();
                if (h != null)
                {
                    o4[i].Prio       = Optionen.TabellenSort[i].Prio;
                    o4[i].absteigend = Optionen.TabellenSort[i].absteigend;
                    ClsOptionsControler.SaveTabellensortierung(o4[i]);
                }
            }

            List <Timer> o5 = ClsTimerControler.Timers();

            for (int i = 0; i < Optionen.Timer.Count; i++)
            {
                Timer h = (from x in o5 where x.Nr == Optionen.Timer[i].Nr select x).FirstOrDefault();
                if (h != null)
                {
                    bool ats1 = o5[i].AbhaengigeTimerStatus == 0 ? false : true;
                    bool ats2 = Optionen.Timer[i].AbhaengigeTimerStatus == 0 ? false : true;
                    o5[i].AbhängigeTimerNr = Optionen.Timer[i].AbhängigeTimerNr;
                    ats1                     = ats2;
                    o5[i].AutoReset          = Optionen.Timer[i].AutoReset;
                    o5[i].Countdown          = Optionen.Timer[i].Countdown;
                    o5[i].DisplayDynamisch   = Optionen.Timer[i].DisplayDynamisch;
                    o5[i].Kontrolanzeige     = Optionen.Timer[i].Kontrolanzeige;
                    o5[i].MinutenDarstellung = Optionen.Timer[i].MinutenDarstellung;
                    o5[i].StartSekunden      = Optionen.Timer[i].StartSekunden;
                    ClsOptionsControler.SaveTabellensortierung(o4[i]);
                }
            }

            List <Timerevent> s2 = ClsTimerControler.TimerEvents();

            if (s2.Any())
            {
                for (int i = 0; i < s2.Count; i++)
                {
                    ClsTimerControler.DelTimerEvent((int)s2[i].ID);
                }
            }

            if (Optionen.Timerevent.Any())
            {
                for (int i = 0; i < Optionen.Timerevent.Count; i++)
                {
                    ClsTimerControler.AddTimerEvent(Optionen.Timerevent[i]);
                }
            }
        }