public void TestSaveTournament() { List <ICompetitor> competitorList = new List <ICompetitor> { new Competitor("jkghjk", "Schwsadfsdfeer", "male", 1500, "local"), new Competitor("Chrisasdfsadtopher", "Heiasdfsdfd", "male", 1500, "local") }; Tournament t = new Tournament("TURNIER_TESTfjlvdslvdslsdvlhsdhshdvlas", competitorList, 3, 12, new RankedSoloMatch(), false); t.StartTournament(); List <Team> team = t.CurrentMatch.GetTeams(); t.SetGoalForCurrentSet(team.ElementAt(0), 10, team.ElementAt(1), 8); ClientIMPL cdl = new ClientIMPL(); if (cdl.FindClient("lhglhgljljlhlhbvhlhbkjhlj") != null) { cdl.AddClient("lhglhgljljlhlhbvhlhbkjhlj", "samwise", "Sam", "Gamdschie", "*****@*****.**", "männlich"); } TMPersistenz.SaveFinishedTournamendToDB(t, "lhglhgljljlhlhbvhlhbkjhlj"); Assert.AreEqual(t, (Tournament)TMPersistenz.GetTournamentFromDB("TURNIER_TESTfjlvdslvdslsdvlhsdhshdvlas", competitorList)); //Lösche das Ranking und Tournament TMPersistenz.DeleteTournamentInDB("TURNIER_TESTfjlvdslvdslsdvlhsdhshdvlas"); }
//Weiterleitung zur "Seite 2 - Auswahl Game Mode" private void b_continue1_Click(object sender, RoutedEventArgs e) { try { if (!String.IsNullOrEmpty(tb_tournament_name.Text)) { //Ueberpruefen ob Turniername bereits vorhanden, d.h. ob die Find-Methode null zurueckgibt if (TMPersistenz.FindTournament(tb_tournament_name.Text) == null) { tb_tournament_name.Visibility = Visibility.Hidden; tbl_tournament_name.Visibility = Visibility.Hidden; tbl_tournament_name_explanation.Visibility = Visibility.Hidden; b_continue1.Visibility = Visibility.Hidden; cb_game_mode.Visibility = Visibility.Visible; b_continue2.Visibility = Visibility.Visible; } else { MessageBox.Show("Der Turniername ist bereits vergeben!", "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Error); } } else { MessageBox.Show("Bitte einen Turniernamen eingeben!", "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Error); } } catch { MessageBox.Show("Es ist ein Fehler aufgetreten", "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void save_tournament() { try { if (cb_sets.SelectedIndex != 0 && cb_goals.SelectedIndex != 0 && cb_ranked.SelectedIndex != 0) { TMPersistenz.AddTournament(tb_tournament_name.Text, ApplicationState.GetValue <Client>("LoggedOnUser").Username, cb_game_mode.Text, int.Parse(cb_sets.Text), int.Parse(cb_goals.Text), Ranked()); ApplicationState.SetValue("CurrentTournament", TMPersistenz.FindTournament(tb_tournament_name.Text)); // MessageBox.Show("Das Turnier wurde erfolgreich erstellt. Jetzt Teilnehmer hinzufügen!", "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Information); Tournament_Competitors tc = new Tournament_Competitors(); this.NavigationService.Navigate(tc); } else { MessageBox.Show("Bitte Sätze pro Match und Tore pro Satz eingeben!", "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Error); } } catch { MessageBox.Show("Es ist ein Fehler aufgetreten", "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Error); } }
public Tournament_Management() { InitializeComponent(); List <TournamentPers> allTournaments = TMPersistenz.GetAllTournaments(ApplicationState.GetValue <Client>("LoggedOnUser").Username); dg_tournament_list.ItemsSource = allTournaments; }
private void dg_tournament_list_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (dg_tournament_list.SelectedItem != null) { String tournamentName = (dg_tournament_list.SelectedCells[0].Column.GetCellContent(dg_tournament_list.SelectedItem) as TextBlock).Text; ApplicationState.SetValue("CurrentTournament", TMPersistenz.FindTournament(tournamentName)); l_current_tournament.Content = tournamentName; } }
public Ranking_List() { InitializeComponent(); l_ranking.Content = "Rangliste " + ApplicationState.GetValue <TournamentPers>("CurrentTournament").Name; //Ranking aus der Datenbank laden und mit Namen anreichern List <RankingPers> rankinglist = TMPersistenz.LoadRankings(ApplicationState.GetValue <TournamentPers>("CurrentTournament").Name); dg_ranking_list.ItemsSource = rankinglist; }
private void b_delete_tournament_Click(object sender, RoutedEventArgs e) { if (ApplicationState.GetValue <TournamentPers>("CurrentTournament") != null) { TMPersistenz.DeleteTournamentInDB(ApplicationState.GetValue <TournamentPers>("CurrentTournament").Name); dg_tournament_list.ItemsSource = null; ApplicationState.SetValue("CurrentTournament", null); l_current_tournament.Content = ""; List <TournamentPers> allTournaments = TMPersistenz.GetAllTournaments(ApplicationState.GetValue <Client>("LoggedOnUser").Username); dg_tournament_list.ItemsSource = allTournaments; } else { MessageBox.Show("Bitte zuerst ein Turnier auswählen!", "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Error); } }
//Speichern der Aenderungen private void b_save_Click(object sender, RoutedEventArgs e) { List <ICompetitor> teilnehmerListe = new List <ICompetitor>(); foreach (KeyValuePair <Guid, Competitor> c in tournament_competitors) { teilnehmerListe.Add(c.Value); } try { ITournament tournament = TMPersistenz.GetTournamentFromDB( ApplicationState.GetValue <TournamentPers>("CurrentTournament").Name, teilnehmerListe); //Startseite Turnier oeffnen, Turnier ueber Konstruktor der Seite weitergegeben Input_Results ir = new Input_Results(tournament); this.NavigationService.Navigate(ir); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
static void Main(string[] args) { try { TMPersistenz.DeleteTournamentInDB("test"); }catch (Exception ex) { Console.WriteLine(ex.Message); } //TournamentFactory tF = new TournamentFactory(); ////Datenbankbefuellung //CompetitorIMPL comp = new CompetitorIMPL(); //ClientIMPL cdl = new ClientIMPL(); //cdl.AddClient("SamWise", "samwise", "Sam", "Gamdschie", "*****@*****.**", "männlich"); //cdl.AddClient("Wizard", "wizard", "Gandalf", "TheGrey", "*****@*****.**", "männlich"); //comp.AddCompetitor("Frodo", "Beutlin", "männlich", 1500, "global", "SamWise"); //comp.AddCompetitor("Sam", "Gamdschie", "männlich", 1500, "global", "SamWise"); //comp.AddCompetitor("Meriadoc", "Brandybock", "männlich", 1500, "lokal", "SamWise"); //comp.AddCompetitor("Peregrin", "Tuk", "männlich", 1500, "lokal", "SamWise"); //comp.AddCompetitor("Arwen", "Evenstar", "weiblich", 1500, "global", "SamWise"); //comp.AddCompetitor("Eowyn", "of Rohan", "weiblich", 1500, "global", "SamWise"); //comp.AddCompetitor("Tauriel", "Green", "weiblich", 1500, "global", "Wizard"); //comp.AddCompetitor("Rosie", "Gamdschie", "weiblich", 1500, "global", "Wizard"); //comp.AddCompetitor("Aragorn", "Strider", "männlich", 1500, "lokal", "Wizard"); //comp.AddCompetitor("Boromir", "of Gondor", "männlich", 1500, "lokal", "Wizard"); //comp.AddCompetitor("Legolas", "of Mirkwood", "männlich", 1500, "global", "Wizard"); //comp.AddCompetitor("Faramir", "of Gondor", "männlich", 1500, "global", "Wizard"); //TMPersistenz.AddTournament("MiddleEarthCup", "SamWise", "Double Elimination", 3, 10, true); //TMPersistenz.AddTournament("METournament", "Wizard", "Double Elimination", 3, 10, false); //TMPersistenz.AddTournament("CaradhrasRace", "Wizard", "Ranked Solo Match", 5, 5, true); //TMPersistenz.AddTournament("ShireKicker", "SamWise", "Ranked Team Match", 1, 10, true); ////So baut man ein RankedTeamMatch //List<ICompetitor> teilnehmerListe = new List<ICompetitor> //{ // new Competitor("x1", "Schmitz", "männlich", 1000, "local"), // new Competitor("x2", "Müller", "weiblich", 1000, "local"), // new Competitor("x3", "Schmitz", "männlich", 1000, "local"), // new Competitor("x4", "Müller", "weiblich", 1000, "local") //}; //ITournament rankedTeamMatch = // tF.CreateTournament("RankedTeamMatch", teilnehmerListe, 2, 5, new RankedTeamMatch(), true); //List<Team> teams; //int nr = 1; //rankedTeamMatch.StartTournament(); //while (!rankedTeamMatch.IsFinished) //{ // Console.WriteLine(@" //Spiel Nummer " + nr++); // teams = rankedTeamMatch.CurrentMatch.GetTeams(); // Console.WriteLine(teams.ElementAt(0).ToString() + " vs " + teams.ElementAt(1).ToString()); // rankedTeamMatch.SetGoalForCurrentSet(teams.ElementAt(0), 10); // rankedTeamMatch.SetGoalForCurrentSet(teams.ElementAt(1), 9); //} //Console.WriteLine(@"************ //" + rankedTeamMatch.ToString()); //rankedTeamMatch.GetTournamentTree(); /* * //So Baut man ein Turnier * List<ICompetitor> teilnehmerListe = new List<ICompetitor> * { * new Competitor("x1", "Schmitz", "männlich" , 1000, "local"), * new Competitor("x2", "Müller", "weiblich", 1000, "local"), * new Competitor("x3", "Schmitz", "männlich" , 1000, "local"), * new Competitor("x4", "Müller", "weiblich", 1000, "local"), * new Competitor("x5", "Schmitz", "männlich" , 1000, "local"), * new Competitor("x6", "Müller", "weiblich", 1000, "local") * }; * * * * //Alle Teilnehmer aus der Datenbank Laden * CompetitorIMPL cimpl = new CompetitorIMPL(); * IDictionary<Guid, Competitor> competitors = new SortedList<Guid, Competitor>(); * competitors = cimpl.LoadCompetitors("","test"); * * List<ICompetitor> teilnehmerListeDB = new List<ICompetitor>(); * foreach (KeyValuePair<Guid, Competitor> c in competitors) * { * teilnehmerListeDB.Add(c.Value); * } * * // Teilnehmer in DB speichern (Nur einmamlig) * * //foreach (Competitor c in teilnehmerListe) * //{ * // cimpl.AddCompetitor(c.Name, c.Surname, c.Gender, c.SkillLevel, c.Visibility, "test"); * //} * * * * //Turnier Basisdaten für Datenbank erstellen * TMPersistenz.AddTournament("test", "user", "DoubleElimination", 4, 10, true); * * //Vorab erstelltes Turnier aus der Datenbank in vollwertiges Laufzeit Turnier umwandeln * ITournament tournament = TMPersistenz.GetTournamentFromDB("3", teilnehmerListeDB); * * //Turnier Simulation * tournament.StartTournament(); * * int nr = 1; * List<Team> teams; * * while (!tournament.IsFinished) * { * Console.WriteLine(@" * Spiel Nummer " + nr++); * teams = tournament.CurrentMatch.GetTeams(); * Console.WriteLine(teams.ElementAt(0).ToString() + " vs " + teams.ElementAt(1).ToString()); * tournament.SetGoalForCurrentSet(teams.ElementAt(0), 10); * tournament.SetGoalForCurrentSet(teams.ElementAt(1), 9); * * tournament.SetGoalForCurrentSet(teams.ElementAt(0), 10); * tournament.SetGoalForCurrentSet(teams.ElementAt(1), 9); * * tournament.SetGoalForCurrentSet(teams.ElementAt(0), 10); * tournament.SetGoalForCurrentSet(teams.ElementAt(1), 9); * * tournament.SetGoalForCurrentSet(teams.ElementAt(0), 10); * tournament.SetGoalForCurrentSet(teams.ElementAt(1), 9); * Console.WriteLine(@"Winner: " + tournament.CurrentMatch.Winner); * * } * * Console.WriteLine(@"************ * " + tournament.ToString()); * tournament.GetTournamentTree(); * * //Basisdaten für eine gespieltes Turnier in der Datenbank aktualisieren * TMPersistenz.SaveFinishedTournamendToDB(tournament, "test"); * * //Rankings des Turniers in der Datenbank abspeichern * TMPersistenz.SaveRankingsToDB(tournament); * * //Ranking aus der Datenbank laden und mir Namen anreichern * List<RankingPers> l = TMPersistenz.LoadRankings("3"); * * //Ausgabe des Rankings * foreach(RankingPers rp in l) * { * Console.WriteLine(rp.CVornameNachname + " " + rp.Wins + " " + rp.WonFinal); * } * * //Alle Turniere in einer Liste * List<TournamentPers> t = TMPersistenz.GetAllTournaments(); * foreach (TournamentPers tp in t) * { * Console.WriteLine(tp.Name + " " + tp.Date); * } */ }
private void b_continue_Click(object sender, RoutedEventArgs e) { try { if (!tournament.IsFinished) { tbl_chance_team1.Text = "Gewinnchance: \n" + (tournament.CurrentMatch.GetWinExpectationThatTeamAWins()).ToString() + " %"; tbl_chance_team2.Text = "Gewinnchance: \n" + (tournament.CurrentMatch.GetWinExpectationThatTeamBWins()).ToString() + " %"; tournament.SetGoalForCurrentSet(teams.ElementAt(0), Int32.Parse(tb_team1.Text), teams.ElementAt(1), Int32.Parse(tb_team2.Text)); tb_team1.Clear(); tb_team2.Clear(); if (countSet == ApplicationState.GetValue <TournamentPers>("CurrentTournament").AmountSets) { countMatch++; l_title.Content = "Spiel " + countMatch.ToString(); countSet = 0; } teams = tournament.CurrentMatch.GetTeams(); if (!String.IsNullOrEmpty(tbl_team1.Text) && !String.IsNullOrEmpty(tbl_team2.Text)) { tbl_team1.Text = teams.ElementAt(0).ToString(); tbl_team2.Text = teams.ElementAt(1).ToString(); countSet++; tbl_nr_set.Text = "Satz: " + countSet.ToString(); ApplicationState.SetValue("MatchWinner", tournament.CurrentMatch.Winner); } else { MessageBox.Show("Bitte Tore eintragen", "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Error); } } if (tournament.IsFinished) { TMPersistenz.SaveFinishedTournamendToDB(tournament, ApplicationState.GetValue <Client>("LoggedOnUser").Username); if (tournament.IsRanked) { //Rankings des Turniers in der Datenbank abspeichern TMPersistenz.SaveRankingsToDB(tournament); } Finished_Tournament ft = new Finished_Tournament(); ft.DataChanged += Finished_Tournament_DataChanged; ft.Show(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }