Ejemplo n.º 1
0
        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");
        }
Ejemplo n.º 2
0
 //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);
     }
 }
Ejemplo n.º 3
0
        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);
             *          }
             */
        }
Ejemplo n.º 10
0
        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);
            }
        }