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); } }
public static void Manipulate(string aoderb, string StrafID, string Time) { int sid = Convert.ToInt32(StrafID); int sec = Convert.ToInt32(Time); if (aoderb == "A") { ClsZeitstrafe zs = (from x in ClsGlobal.Instance.Strafen1 where x.ID == sid select x).Single(); if (zs != null) { zs.Zeit = sec; zs.Minuten = ClsFunktionen.Sek2uhr(sec); } ClsTabellenfunktionen.StrafenToVariable(ClsGlobal.Instance.Strafen1, "A", "std"); } else { ClsZeitstrafe zs = (from x in ClsGlobal.Instance.Strafen2 where x.ID == sid select x).Single(); if (zs != null) { zs.Zeit = sec; zs.Minuten = ClsFunktionen.Sek2uhr(sec); } ClsTabellenfunktionen.StrafenToVariable(ClsGlobal.Instance.Strafen2, "B", "std"); } }
public static void SaveAnzeigetabelle(ClsCommand rb) { Core.DB.Anzeigetabelle at = new JavaScriptSerializer().Deserialize <Core.DB.Anzeigetabelle>(rb.Value1); Core.DBControler.ClsOptionsControler.SaveAnzeigetabelle(at); if (at.Tabelle == "T01") { ClsDBVariablen.Instance.SetTabellenVariableWert(at.Tabelle, ClsTabellenfunktionen.TabelleToVariable_Json(ClsGlobal.Instance.TurnierID)); } if (at.Tabelle == "T02") { ClsDBVariablen.Instance.SetTabellenVariableWert(at.Tabelle, ClsTabellenfunktionen.SpielplanToVariable_Json(ClsGlobal.Instance.TurnierID)); } if (at.Tabelle == "T03") { ClsDBVariablen.Instance.SetTabellenVariableWert(at.Tabelle, ClsTabellenfunktionen.EreignisseToVariable_Json(ClsGlobal.Instance.TurnierID)); } if (at.Tabelle == "Strafen") { ClsTabellenfunktionen.StrafenToVariable(ClsGlobal.Instance.Strafen1, "A"); ClsTabellenfunktionen.StrafenToVariable(ClsGlobal.Instance.Strafen2, "B"); } if (at.Tabelle == "T06") { ClsTabellenfunktionen.TorschuetzeToVariable(ClsGlobal.Instance.TurnierID); } GlobalServerEvents.SendMessage(null, new ClsStringEventArgs(ClsRequests.DataRequest(new ClsCommand(command: "Anzeigetabellen")))); }
public static void Delete(string aoderb, string StrafID) { int sid = Convert.ToInt32(StrafID); if (aoderb == "A") { if (ClsGlobal.Instance.Strafen1.Count > 0) { ClsZeitstrafe zs = (from x in ClsGlobal.Instance.Strafen1 where x.ID == sid select x).Single(); if (zs != null) { ClsGlobal.Instance.Strafen1.Remove(zs); } ClsTabellenfunktionen.StrafenToVariable(ClsGlobal.Instance.Strafen1, "A", "std"); } } else { if (ClsGlobal.Instance.Strafen2.Count > 0) { ClsZeitstrafe zs = (from x in ClsGlobal.Instance.Strafen2 where x.ID == sid select x).Single(); if (zs != null) { ClsGlobal.Instance.Strafen2.Remove(zs); } ClsTabellenfunktionen.StrafenToVariable(ClsGlobal.Instance.Strafen2, "A", "std"); } } }
public static void ReOpenMatch(ClsCommand rb) { Core.DB.TSpiele s = new JavaScriptSerializer().Deserialize <Core.DB.TSpiele>(rb.Value1); Core.DBControler.ClsTurnierControler.SaveSpielStatus(s, 2); // update der Ereignistabelle ClsDBVariablen.Instance.SetTabellenVariableWert("T02", ClsTabellenfunktionen.SpielplanToVariable_Json(ClsGlobal.Instance.TurnierID)); }
public static void EreignisLoeschen(int[] IDs) { for (int i = 0; i < IDs.Count(); i += 1) { DBControler.ClsEreignisControler.DelEvent(IDs[i]); } ClsDBVariablen.Instance.SetTabellenVariableWert("T03", ClsTabellenfunktionen.EreignisseToVariable_Json(ClsGlobal.Instance.TurnierID)); }
public static void DelEvent(ClsCommand rb) { int id = Convert.ToInt32(rb.Value1); ClsEreignisControler.DelEreignis(id); // update der Ereignistabelle ClsDBVariablen.Instance.SetTabellenVariableWert("T03", ClsTabellenfunktionen.EreignisseToVariable_Json(ClsGlobal.Instance.TurnierID)); // update der Torschützentabelle ClsTabellenfunktionen.TorschuetzeToVariable(ClsGlobal.Instance.TurnierID); }
public static void AddEvent(ClsCommand rb) { Core.DB.TEreignisse e = new JavaScriptSerializer().Deserialize <Core.DB.TEreignisse>(rb.Value1); e.CPUZeit = DateTime.Now; e.Spielzeit = ClsFunktionen.Sek2uhr(Convert.ToInt32(e.Spielzeit)); 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); }
public static void DeleteStrafen() { try { ClsGlobal.Instance.Strafen1.Clear(); ClsGlobal.Instance.Strafen2.Clear(); ClsTabellenfunktionen.StrafenToVariable(ClsGlobal.Instance.Strafen1, "A", "std"); ClsTabellenfunktionen.StrafenToVariable(ClsGlobal.Instance.Strafen2, "B", "std"); } catch (Exception ex) { ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex); } }
public static void Dotick(List <ClsZeitstrafe> zeitstrafen, string aoderb) { try { //// bool removed = false; if (zeitstrafen.Count > 0) { zeitstrafen.RemoveAll(x => x.Zeit == 0); //// removed = true; } string parStraf = ClsOptionsControler.Options3("Parallelstrafen").Value; int parStrafInt = Convert.ToInt32(parStraf); if (parStrafInt == 0 || parStrafInt > zeitstrafen.Count) { parStrafInt = zeitstrafen.Count; } for (int i = 0; i < parStrafInt; i++) { if (zeitstrafen[i].Zeit > 0) { zeitstrafen[i].Zeit -= 1; zeitstrafen[i].Minuten = ClsFunktionen.Sek2uhr(zeitstrafen[i].Zeit); if (zeitstrafen[i].Zeit == 0) { string endeton = ClsOptionsControler.Strafe(zeitstrafen[i].Bezeichnung).EndeTon; ClsSoundplayer.Instance.TPlay(endeton + "|" + "20"); } Strafen straf = ClsOptionsControler.Strafe(zeitstrafen[i].Bezeichnung); if (zeitstrafen[i].Zeit <= straf.Countdowndauer && zeitstrafen[i].Zeit != 0) { ClsSoundplayer.Instance.TPlay(straf.TonCountdown + "|" + "21"); } } } ClsTabellenfunktionen.StrafenToVariable(zeitstrafen, aoderb, "std"); } catch (Exception ex) { ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex); } }
public static void RecPerPageChange(ClsCommand rb) { ClsDBVariablen.Instance.SetTabellenVariableRecPerPage(rb.Value1, Convert.ToInt32(rb.Value2)); if (rb.Value1 == "T01") { ClsDBVariablen.Instance.SetTabellenVariableWert(rb.Value1, ClsTabellenfunktionen.TabelleToVariable_Json(ClsGlobal.Instance.TurnierID)); } if (rb.Value1 == "T02") { ClsDBVariablen.Instance.SetTabellenVariableWert(rb.Value1, ClsTabellenfunktionen.SpielplanToVariable_Json(ClsGlobal.Instance.TurnierID)); } if (rb.Value1 == "T03") { ClsDBVariablen.Instance.SetTabellenVariableWert(rb.Value1, ClsTabellenfunktionen.EreignisseToVariable_Json(ClsGlobal.Instance.TurnierID)); } GlobalServerEvents.SendMessage(null, new ClsStringEventArgs(ClsRequests.DataRequest(new ClsCommand(command: "TVariablen")))); }
private static void Turnierwechsel(int turnierID) { // Tabellenfilter ClsTabellenfunktionen.IniTableFilter(); // TurnierTabellen ClsDBVariablen.Instance.SetTabellenVariableWert("T01", ClsTabellenfunktionen.TabelleToVariable_Json(turnierID)); // te - TurnierErgebnisse(spielplan) ClsDBVariablen.Instance.SetTabellenVariableWert("T02", ClsTabellenfunktionen.SpielplanToVariable_Json(turnierID)); // tg - TurnierGruppen (und Combofelder zum filtern der Tabelleninhalten füllen) ////this.LoadGruppenToTG(); // tn - TurnierEreignisse ClsDBVariablen.Instance.SetTabellenVariableWert("T03", ClsTabellenfunktionen.EreignisseToVariable_Json(turnierID)); // th - Torjäger ClsTabellenfunktionen.TorschuetzeToVariable(turnierID); }
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)); } }
public static void TablePageSelection(ClsCommand rb) { ClsTableFilter tf = (from x in ClsGlobal.Instance.TableFilterList where x.Table == rb.Value1 && x.Field == "SelPage" select x).FirstOrDefault(); tf.IntValue = Convert.ToInt32(rb.Value2); if (rb.Value1 == "T01") { ClsDBVariablen.Instance.SetTabellenVariableWert(rb.Value1, ClsTabellenfunktionen.TabelleToVariable_Json(ClsGlobal.Instance.TurnierID)); } if (rb.Value1 == "T02") { ClsDBVariablen.Instance.SetTabellenVariableWert(rb.Value1, ClsTabellenfunktionen.SpielplanToVariable_Json(ClsGlobal.Instance.TurnierID)); } if (rb.Value1 == "T03") { ClsDBVariablen.Instance.SetTabellenVariableWert(rb.Value1, ClsTabellenfunktionen.EreignisseToVariable_Json(ClsGlobal.Instance.TurnierID)); } }
public static void SetTablefilter(ClsCommand rb) { // Filter setzen (from x in ClsGlobal.Instance.TableFilterList where x.Table == rb.Value1 && x.Field == rb.Value2 select x).FirstOrDefault().Value = rb.Value3; // Filter zurück an clients senden GlobalServerEvents.SendMessage(null, new ClsStringEventArgs(ClsRequests.DataRequest(new ClsCommand(command: "TableFilter")))); // Tabelleninhalt setzetn switch (rb.Value1) { case "T01": ClsDBVariablen.Instance.SetTabellenVariableWert("T01", ClsTabellenfunktionen.TabelleToVariable_Json(ClsGlobal.Instance.TurnierID)); break; case "T02": ClsDBVariablen.Instance.SetTabellenVariableWert("T02", ClsTabellenfunktionen.SpielplanToVariable_Json(ClsGlobal.Instance.TurnierID)); break; case "T03": ClsDBVariablen.Instance.SetTabellenVariableWert("T03", ClsTabellenfunktionen.EreignisseToVariable_Json(ClsGlobal.Instance.TurnierID)); break; } }
public static List <TEreignisse> Ereignisse(int TurnierID) { try { List <TEreignisse> t; using (fsbDB FSBDB = new fsbDB()) { t = (from x in FSBDB.TEreignisse where x.TurnierID == TurnierID orderby x.Spiel, x.CPUZeit select x).ToList(); } if (t.Any()) { for (int i = 0; i < t.Count; i++) { t[i].Ereignistyp = ClsTextControler.TextByNameAndNumber("Ereignis", t[i].Ereignistyp); string opt_EreigniszeitGenau = ClsOptionsControler.Options3("EreigniszeitGenau").Value; if (opt_EreigniszeitGenau == "False") { t[i].Spielzeit = ClsTabellenfunktionen.ConvertSpielzeitToKurzzeit(t[i].Spielzeit, t[i].Spielzeitrichtung); } } } return(t); } catch (Exception ex) { ClsError.CoreError(Name, MethodBase.GetCurrentMethod().ToString(), ex); return(new TEreignisse[0].ToList()); } }
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); } }
/// <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); } }
/// <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); } }
/// <summary> /// Übernimmt nächstes Spiel als aktuelles Spiel /// </summary> /// <param name="letzesBeenden"></param> /// <param name="beidenichts"></param> public static void NextGame(bool letzesBeenden = true, bool beidenichts = false) { try { bool rundenwechsel = false; // letztes spiel beenden if (ClsGlobal.Instance.AktivesSpiel != null && letzesBeenden == true) { int ret = 0; ret = Spiel_beenden(ClsGlobal.Instance.AktivesSpiel, beidenichts); if (ret == 0) { return; } rundenwechsel |= ret == 2; } // Anzeige löschen ClsGlobal.Instance.AktivesSpiel = null; ClsDBVariablen.Instance.SetTextVariableWert("S05", "0"); // Tore1 ClsDBVariablen.Instance.SetTextVariableWert("S06", "0"); // Tore2 ClsDBVariablen.Instance.SetTextVariableWert("S09", "1"); // Spielabschnitt SetManName("A", ""); SetManName("B", ""); ClsDBVariablen.Instance.SetTextVariableWert("S05", "0"); // Tore1 ClsDBVariablen.Instance.SetTextVariableWert("S06", "0"); // Tore2 if (ClsGlobal.Instance.NextSpiel == null) { if (rundenwechsel == true) { SetNext(FindNext(0, ClsGlobal.Instance.TurnierID)); } else { return; } } else { // neues Spiel als aktives Spiel setzten ClsGlobal.Instance.AktivesSpiel = ClsGlobal.Instance.NextSpiel; // Anzeige setzten SetManName("A", ClsGlobal.Instance.AktivesSpiel.IstMannA); SetManName("B", ClsGlobal.Instance.AktivesSpiel.IstMannB); ////CtrlSpielInfo1.Spiel = myaktivesSpiel; if (ClsGlobal.Instance.AktivesSpiel.ToreA != 0 || ClsGlobal.Instance.AktivesSpiel.ToreB != 0) { ClsMessage.SendMessage("Das Spiel war schon einma aktiv.\nDie bereits erziehlten Tore werden übernommen.", "Achtung..."); ////ClsTranslateControls.ShowMessage("M0015", "Achtung", new object[] { "\n" }, MessageBoxButtons.OK); ClsDBVariablen.Instance.SetTextVariableWert("S05", ClsGlobal.Instance.AktivesSpiel.ToreA.ToString()); // Tore1 ClsDBVariablen.Instance.SetTextVariableWert("S06", ClsGlobal.Instance.AktivesSpiel.ToreB.ToString()); // Tore2 } ClsDBVariablen.Instance.SetTextVariableWert("S05", ClsGlobal.Instance.AktivesSpiel.ToreA.ToString()); // Tore1 ClsDBVariablen.Instance.SetTextVariableWert("S06", ClsGlobal.Instance.AktivesSpiel.ToreA.ToString()); // Tore2 ClsDBVariablen.Instance.SetTextVariableWert("S15", ClsGlobal.Instance.AktivesSpiel.IstMannA + " : " + ClsGlobal.Instance.AktivesSpiel.IstMannB); // Begegnung if (ClsGlobal.Instance.AktivesSpiel.SPlatz != 0) { ClsDBVariablen.Instance.SetTextVariableWert("S20", "Spiel um Platz: " + ClsGlobal.Instance.AktivesSpiel.SPlatz.ToString()); // Spieleinfo } // Nextebegegnung setzen if (rundenwechsel == false) { // naechstes Spiel SetNext(FindNext(1, ClsGlobal.Instance.TurnierID)); // wenn spiele nicht beendet werden, würde next = aktiv werden if (ClsGlobal.Instance.NextSpiel != null) { if (ClsGlobal.Instance.NextSpiel.Spiel == ClsGlobal.Instance.AktivesSpiel.Spiel) { SetNext(FindNext(2, ClsGlobal.Instance.TurnierID)); } } // an ende einer Rund würde next = null werden // dann müssen die nicht beendeten spiele dran kommen if (ClsGlobal.Instance.NextSpiel == null) { SetNext(FindNext(0, (int)ClsGlobal.Instance.TurnierID)); if (ClsGlobal.Instance.NextSpiel.Spiel == ClsGlobal.Instance.AktivesSpiel.Spiel) { SetNext(null); } } } else { SetNext(FindNext(0, (int)ClsGlobal.Instance.TurnierID)); } ClsDBVariablen.Instance.SetTabellenVariableWert("T02", ClsTabellenfunktionen.SpielplanToVariable_Json((int)ClsGlobal.Instance.TurnierID)); } } catch (Exception ex) { ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex); } }
/// <summary> /// Spielendebehandlung /// </summary> /// <param name="spiel"></param> /// <param name="beidenichts"></param> /// <returns></returns> public static int Spiel_beenden(TSpiele spiel, bool beidenichts = false) { try { bool rundenwechsel = false; if (beidenichts == false) { // wenn nur 2 Mannschaften in Gruppe dann Unentschieden nicht erlaubt List <TSpiele> sl1 = ClsTurnierControler.Spiele(ClsGlobal.Instance.TurnierID); int anzGrMan = (from TSpiele tee in sl1 where tee.Gruppe == spiel.Gruppe select tee).Count(); if (anzGrMan == 1 && spiel.ToreA == spiel.ToreB) { ClsMessage.SendMessage("In dieser Gruppe ist kein Unentschieden erlaubt.\nSpiel nicht beendet.", "Geht nicht..."); ////ClsTranslateControls.ShowMessage("M0016", "Meldung", new object[] { "\n" }, MessageBoxButtons.OK); return(0); } } // Spiel beenden if (beidenichts == false) { ClsTurnierControler.SaveSpielStatus(spiel, 3); } else { ClsTurnierControler.SaveSpielStatus(spiel, 4); } ClsDBVariablen.Instance.SetTabellenVariableWert("T02", ClsTabellenfunktionen.SpielplanToVariable_Json(ClsGlobal.Instance.TurnierID)); // Punkte vergeben if (beidenichts == false) { SpielPunkteSpeichern(ClsGlobal.Instance.TurnierID, spiel.Spiel); } // Tabelle berechnen TabCalc(ClsGlobal.Instance.TurnierID, spiel.Gruppe); // prüfen ob Spiel um platz wenn ja, platz in Tabelle eintragen TKopf tkk = ClsTurnierControler.Turnier(ClsGlobal.Instance.TurnierID); if (tkk.Platzierungstyp == "P") { if (spiel.SPlatz != 0) { if (spiel.ToreA > spiel.ToreB) { SaveTabellenplatz(spiel.Gruppe, spiel.IstMannA, spiel.SPlatz); } else if (spiel.ToreA < spiel.ToreB) { SaveTabellenplatz(spiel.Gruppe, spiel.IstMannB, spiel.SPlatz); } } if (spiel.VPlatz != 0) { if (spiel.ToreA > spiel.ToreB) { SaveTabellenplatz(spiel.Gruppe, spiel.IstMannB, spiel.VPlatz); } else if (spiel.ToreA < spiel.ToreB) { SaveTabellenplatz(spiel.Gruppe, spiel.IstMannA, spiel.VPlatz); } } } // Prüfen ob alle Spiele der Gruppe beendet sind List <TSpiele> spiele1 = ClsTurnierControler.Spiele(ClsGlobal.Instance.TurnierID, spiel.Gruppe); int g = (from grp in spiele1 where grp.Status < 3 select grp).Count(); if (g == 0) { // Gruppe abgeschlossen // wenn alle Spiele beendet dann Gruppe als beendet buchen ClsTurnierControler.SaveGruppenStatus(ClsGlobal.Instance.TurnierID, spiel.Gruppe, 3); // Mannschaften in folgerunden eintragen IstMannschaftenGI(spiel.Gruppe); // prüfen ob alle gruppen in Runde beendet List <TSpiele> spiele = ClsTurnierControler.Spiele(ClsGlobal.Instance.TurnierID, spiel.Runde); int r = (from x in spiele where x.Status < 3 select x).Count(); if (r == 0) { rundenwechsel = true; // Runde als beendet buchen ClsTurnierControler.SaveRundenStatus(ClsGlobal.Instance.TurnierID, GetActualRoundNo(ClsGlobal.Instance.TurnierID), 3); // istmanschaften bei Gruppenübergereifender Folgerunde IstMannschaftenGegenueber(spiel); // wenn Folgerunde existent if (tkk.Matrix != "AdHoc") { int rundenAnz = ClsTurnierControler.Runden(ClsGlobal.Instance.TurnierID).Count; if (spiel.Runde < rundenAnz) { int neueRunde = spiel.Runde; neueRunde += 1; ClsDBVariablen.Instance.SetTextVariableWert("S17", neueRunde.ToString()); // ClsLocalisationFunctions.Keytext("Text", "01") + " " + runde; ClsMessage.SendMessage("Runde beendet", "rundenwechsel..."); ClsTurnierControler.SaveRundenStatus(ClsGlobal.Instance.TurnierID, neueRunde, 1); } } } // prüfen ob alle Spiele in allen Runden in Turnier beendet List <TSpiele> spiele3 = ClsTurnierControler.Spiele(ClsGlobal.Instance.TurnierID); int ts = (from grp in spiele3 where grp.Status < 3 select grp).Count(); if (ts == 0) { ClsTurnierControler.SaveTurnierStatus(ClsGlobal.Instance.TurnierID, 3); // ClsFunktionen.fillTreeViewdetails( turniernr, tvBrowser); ClsMessage.SendMessage("Turnier beendet.", "Geschaft..."); ////ClsTranslateControls.ShowMessage("M0017", "Meldung", new object[] { "\n" }, MessageBoxButtons.OK); } } ClsDBVariablen.Instance.SetTabellenVariableWert("T01", ClsTabellenfunktionen.TabelleToVariable_Json(ClsGlobal.Instance.TurnierID)); if (rundenwechsel == true) { return(2); } return(1); } catch (Exception ex) { ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex); return(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); } }
private void FrmFSBMain_Load(object sender, EventArgs e) { try { // DB Prüfen if (!File.Exists(Path.Combine(ClsMain.AppFolder, "freescoreboard.sqlite"))) { MessageBox.Show("Datenbank nicht gefunden.\r\nProgramm wird beendet."); Application.Exit(); } // Anzeigeseite Prüfen if (!File.Exists(Path.Combine(ClsMain.DisplayFolder, "index.html"))) { MessageBox.Show("Anzeigeseite nicht gefunden.\r\nProgramm wird beendet."); Application.Exit(); } // Kontrollseite Prüfen if (!File.Exists(Path.Combine(ClsMain.WebFolder, "control/index.html"))) { MessageBox.Show("Kontrollseite nicht gefunden.\r\nProgramm wird beendet."); Application.Exit(); } // Load Main window size and position this.Load_PosSiz(); // initialize server ClsServer.Instance.IniAddresses(); //ClsServer.Instance.IniServerWS(); //ClsServer.Instance.IniServerHTTP(); ClsServer.Instance.ServerOn = true; // initialize variable values ClsDBVariablen.Instance.Ini(); // initialize Timer and clocks ClsZeitkontroler.Instance.IniUhren(); // load Display window bool DevTools = false; this.DisplayWindow = new FrmDisplay(DevTools); this.IniDisplay(); string o = ClsOptionsControler.Options3("DisplayAtStartup").Value; if (o == "on") { this.ShowDisplay = true; } else { this.ShowDisplay = false; } // load inital display page ClsGlobal.Instance.ActivePage = ClsPages.GetFirstPageName(ClsPageSets.ActivePageSet()); ClsTabellenfunktionen.IniTableFilter(); // Debugmode string mode = System.Configuration.ConfigurationManager.AppSettings["Modus"]; // Fenstertitel setzten string programmtitel = ClsOptionsControler.Options3("Programmtitel").Value; if (programmtitel == "") { programmtitel = "http://www.FreeScoreBoard.org"; } this.Text = programmtitel + " " + Application.ProductVersion; // Versionscheck string vc = ClsOptionsControler.Options3("Versionscheck").Value; if (vc == "True") { ClsFunktionen.Versioncheck2(false); } // Turnier 0 laden ClsGlobal.Instance.TurnierID = 0; // registrierung prüfen Registrierung reg = ClsRegistrierungsControler.registrierung(); if (reg == null) { // DlgRegistrieren regdlg = new DlgRegistrieren(); // regdlg.ShowDialog(); reg = new Registrierung { extID = Guid.NewGuid().ToString() }; } ClsWebservice c = new ClsWebservice(); ClsWebservice.Senden(reg); // hotkeys laden //this.LoadHotKeys(); // set initial teams string teamAid = ClsOptionsControler.Options3("TeamA").Value; string teamBid = ClsOptionsControler.Options3("TeamB").Value; ClsGlobal.Instance.MansschaftAID = teamAid; ClsGlobal.Instance.MansschaftBID = teamBid; // set fist page //this.ctrlPageSelector1.SetAnzMod(ClsPages.GetFirstPageName(activeSet)); // Timer starten ClsZeitkontroler.Instance.HeartBeatStatus = true; //ClsZeitkontroler.Instance.HeartBeatStatus = false; } catch (Exception ex) { this.Cursor = Cursors.Default; this.mysplash.Close(); ClsError.Error(this.Name, MethodBase.GetCurrentMethod().ToString(), ex); } finally { this.Cursor = Cursors.Default; this.mysplash.Close(); //this.Check_Eventamount(); } }
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); } }