Ejemplo n.º 1
0
        private static void SpielPunkteSpeichern(int turnierID, int spielNr)
        {
            try
            {
                TSpiele spiel = ClsTurnierControler.Spiel(turnierID, spielNr);

                // Feststellen wer gewinner ist und Punkte verteilen
                int sPunkte = Convert.ToInt32(ClsOptionsControler.Options3("Siegerpunkte").Value);
                int vPunkte = Convert.ToInt32(ClsOptionsControler.Options3("Verliererpunkte").Value);
                int uPunkte = Convert.ToInt32(ClsOptionsControler.Options3("Unentschiedenpunkte").Value);

                if (spiel.ToreA == spiel.ToreB)
                {
                    spiel.PunkteA = uPunkte;
                    spiel.PunkteB = uPunkte;
                }
                else if (spiel.ToreA < spiel.ToreB)
                {
                    spiel.PunkteA = vPunkte;
                    spiel.PunkteB = sPunkte;
                }
                else if (spiel.ToreA > spiel.ToreB)
                {
                    spiel.PunkteA = sPunkte;
                    spiel.PunkteB = vPunkte;
                }

                ClsTurnierControler.SaveSpiel(spiel);
            }
            catch (Exception ex)
            {
                ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// manuelles setzen von Toren und/oder beenden des Spiels
        /// </summary>
        public static void SetMatch(int SpielID, int ToreA, int ToreB, string SpielendeOpt)
        {
            TSpiele spiel = ClsTurnierControler.Spiel(SpielID);

            spiel.ToreA = ToreA;
            spiel.ToreB = ToreB;
            ClsTurnierControler.SaveSpiel(spiel);

            if (SpielendeOpt == "1")
            {
                Spiel_beenden(spiel);
            }

            if (SpielendeOpt == "2")
            {
                // nichts notwendig da Spiel offen bleiben muss
            }

            if (SpielendeOpt == "3")
            {
                Spiel_beenden(spiel, true);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Nach Rundenplazierung die Mannschften in den Folgerunden eintragen.
        /// </summary>
        /// <param name="spiel">todo: describe spiel parameter on IstMannschaftenGegenueber</param>
        private static void IstMannschaftenGegenueber(TSpiele spiel)
        {
            try
            {
                // Gruppenübergereifende Plaetze ermitten und mannschaften in folgerunden eintragen (1ter 1ter, 2ter 1ter,...)
                int grpManAnz = ClsTurnierControler.Tabellen((int)ClsGlobal.Instance.TurnierID, spiel.Gruppe).Count;

                // So oft wie Mannschaften je Gruppe (Anzeahl der Mannschaften wird al Platzzaehler verwendet)
                for (int p = 1; p <= grpManAnz; p += 1)
                {
                    // alle Tabelleneintraege der Runde
                    List <TTabellen> erg1 = ClsTurnierControler.Tabellen((int)ClsGlobal.Instance.TurnierID, spiel.Runde);

                    // Alle x-platzierten lesen
                    List <TTabellen> erg = (from d in erg1
                                            where d.Platz == p
                                            select d).ToList();
                    if (erg != null)
                    {
                        // nach vorgaben sortieren
                        erg = ClsFunktionen.STTabellem(erg);

                        // erg enthaelt nun alle x-platzierten nach sortiervorgabe
                        int platz = 1;

                        for (int i = 0; i < erg.Count; i++)
                        {
                            string         suchstr = platz.ToString() + "ter " + p.ToString() + "ter-Runde " + spiel.Runde.ToString();
                            List <TSpiele> s0      = ClsTurnierControler.Spiele(ClsGlobal.Instance.TurnierID);
                            List <TSpiele> s1      = (from s in s0
                                                      where s.Status < 2
                                                      select s).ToList();

                            List <TSpiele> p1 = (from s in s1
                                                 where s.IstMannA == suchstr
                                                 select s).ToList();
                            if (p1.Any())
                            {
                                for (int j = 0; j < p1.Count; j++)
                                {
                                    p1[j].IstMannA = erg[i].Mannschaft;
                                    p1[j].Status   = p1[j].Status + 1;
                                    ClsTurnierControler.SaveSpiel(p1[j]);
                                }
                            }

                            List <TSpiele> p2 = (from s in s1
                                                 where s.IstMannB == suchstr
                                                 select s).ToList();
                            if (p2.Any())
                            {
                                for (int j = 0; j < p1.Count; j++)
                                {
                                    p2[j].IstMannB = erg[i].Mannschaft;
                                    p2[j].Status   = p2[j].Status + 1;
                                    ClsTurnierControler.SaveSpiel(p2[j]);
                                }
                            }

                            platz += 1;

                            // suche Tabelleneinträge der folgerunde und ersetzte Mannschftsnamen
                            List <TTabellen> tab      = ClsTurnierControler.Tabellen(ClsGlobal.Instance.TurnierID);
                            TTabellen        gefunden = (from x in tab
                                                         where x.Mannschaft == suchstr
                                                         select x).FirstOrDefault();
                            if (gefunden != null)
                            {
                                gefunden.Mannschaft = erg[i].Mannschaft;
                                ClsTurnierControler.SaveTabellen(gefunden);
                            }
                        }

                        ClsDBVariablen.Instance.SetTabellenVariableWert("T02", ClsTabellenfunktionen.SpielplanToVariable_Json(ClsGlobal.Instance.TurnierID));
                    }
                }
            }
            catch (Exception ex)
            {
                ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Nach Gruppenplazierung die Mannschften in den Folgerunden eintragen.
        /// </summary>
        /// <param name="spiel">todo: describe spiel parameter on IstMannschaftenGI</param>
        private static void IstMannschaftenGI(string Gruppe)
        {
            try
            {
                // platz in Gruppe ermitteln über order by und mannschaften in folgerunden eintragen
                List <TTabellen> e = ClsTurnierControler.Tabellen(ClsGlobal.Instance.TurnierID, Gruppe);
                if (e.Any())
                {
                    for (int i = 0; i < e.Count; i++)
                    {
                        if (e[i] != null)
                        {
                            string suchstr = e[i].Platz.ToString() + "ter-" + Gruppe;

                            // hole alle Spiele des Turniers
                            List <TSpiele> s0 = ClsTurnierControler.Spiele(ClsGlobal.Instance.TurnierID);

                            // filter Spiele die den Status kleiner 2 haben
                            List <TSpiele> s1 = (from s in s0
                                                 where s.Status < 2
                                                 select s).ToList();

                            // suche Spiele die SuchStr in MannA haben
                            List <TSpiele> p1 = (from s in s1
                                                 where s.IstMannA == suchstr
                                                 select s).ToList();
                            if (p1.Any())
                            {
                                for (int j = 0; j < p1.Count; j++)
                                {
                                    p1[j].IstMannA = e[i].Mannschaft;
                                    p1[j].Status   = p1[j].Status + 1;
                                    ClsTurnierControler.SaveSpiel(p1[j]);
                                }
                            }

                            // suche Spiele die SuchStr in MannB haben
                            List <TSpiele> p2 = (from s in s1
                                                 where s.IstMannB == suchstr
                                                 select s).ToList();
                            if (p2.Any())
                            {
                                for (int j = 0; j < p2.Count; j++)
                                {
                                    p2[j].IstMannB = e[i].Mannschaft;
                                    p2[j].Status   = p2[j].Status + 1;
                                    ClsTurnierControler.SaveSpiel(p2[j]);
                                }
                            }

                            // suche Tabelleneinträge der folgerunde und ersetzte Mannschftsnamen
                            List <TTabellen> tab      = ClsTurnierControler.Tabellen(ClsGlobal.Instance.TurnierID);
                            TTabellen        gefunden = (from x in tab
                                                         where x.Mannschaft == suchstr
                                                         select x).FirstOrDefault();
                            if (gefunden != null)
                            {
                                gefunden.Mannschaft = e[i].Mannschaft;
                                ClsTurnierControler.SaveTabellen(gefunden);
                            }
                        }
                    }

                    ClsDBVariablen.Instance.SetTabellenVariableWert("T02", ClsTabellenfunktionen.SpielplanToVariable_Json(ClsGlobal.Instance.TurnierID));
                }
            }
            catch (Exception ex)
            {
                ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex);
            }
        }
Ejemplo n.º 5
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);
            }
        }