예제 #1
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);
            }
        }
        private void b_send_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (String.IsNullOrEmpty(txt_Address.Text))
                {
                    MessageBox.Show(
                        "Das Feedback wird normalerweise automatisch an das Entwicklungsteam von KICKERCUP gesendet. Damit das Feature getestet werden kann, können Sie hier Ihre eigene E-Mail Adresse hinterlegen.",
                        "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                //Prüfung ob es sich um eine E-Mail Adresse handelt
                else if (txt_Address != null || !txt_Address.Text.Contains("@"))
                {
                    //E-Mail erstellen
                    EMail mail = new EMail();
                    //E-Mail senden (Vorname + Nachname) des angemeldeten Benutzers im Betreff
                    mail.SendMail(
                        "KICKERCUP Feedback von " + ApplicationState.GetValue <Client>("LoggedOnUser").GetFullName(),
                        txt_body.Text.Trim(), txt_Address.Text.Trim());

                    // Benutzer über erfolgte Sendung informieren
                    MessageBox.Show("Vielen Dank für Ihr Feedback.", "KICKERCUP", MessageBoxButton.OK,
                                    MessageBoxImage.Information);

                    //Weiterleitung auf vorherige Page
                    this.NavigationService.GoBack();
                }
            } //Fehler des E-Mail Modules werden gefangen und ausgegeben
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
예제 #3
0
        private void b_save_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (CheckFields())
                {
                    //ID und Skill Level koennen nicht durch den Benutzer bearbeitet werden
                    Guid ID    = ApplicationState.GetValue <Competitor>("SelectedCompetitor").CompetitorID;
                    int  skill = ApplicationState.GetValue <Competitor>("SelectedCompetitor").SkillLevel;

                    comp.UpdateCompetitor(ID, tb_name.Text, tb_surname.Text, cb_gender.Text, skill, cb_visibility.Text);
                    DataChanged?.Invoke(this, new EventArgs());
                    Close();
                }
                else
                {
                    MessageBox.Show("Bitte alle Felder ausfüllen!", "KICKERCUP", MessageBoxButton.OK,
                                    MessageBoxImage.Error);
                }
            }
            catch
            {
                MessageBox.Show("Fehler beim Speichern der Änderungen!", "KICKERCUP", MessageBoxButton.OK,
                                MessageBoxImage.Error);
            }
        }
        public Home_Page()
        {
            InitializeComponent();

            //Begrüßungsnachricht "Hallo ..." auf der Admin PAge
            txt_welcome.Content = "Hallo " + ApplicationState.GetValue <Client>("LoggedOnUser").Name + "!";
        }
 //Ueberpruefen ob alle Felder ausgefuellt wurden
 public bool CheckFields()
 {
     if (String.IsNullOrEmpty(tb_name.Text))
     {
         return(false);
     }
     else if (String.IsNullOrEmpty(tb_surname.Text))
     {
         return(false);
     }
     else if (cb_gender.SelectedIndex == 0)
     {
         return(false);
     }
     else if (cb_visibility.SelectedIndex == 0)
     {
         return(false);
     }
     else if (String.IsNullOrEmpty(ApplicationState.GetValue <Client>("LoggedOnUser").Username))
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
예제 #6
0
        public Edit_Account()
        {
            InitializeComponent();

            //Username des angemeldeten Benutzers in der TextBox einfrieren (Ist Primary Key, darf in der DB sowieso nicht verändert werden)
            tb_username.Text       = ApplicationState.GetValue <Client>("LoggedOnUser").Username;
            tb_username.IsEnabled  = false;
            tb_username.Background = new SolidColorBrush(Colors.LightGray);

            //Alle anderen Properties des angemeldeten Benutzers aus der Session-Variable in die TextBoxen laden
            tb_lastname.Text     = ApplicationState.GetValue <Client>("LoggedOnUser").Surname;
            tb_name.Text         = ApplicationState.GetValue <Client>("LoggedOnUser").Name;
            tb_email.Text        = ApplicationState.GetValue <Client>("LoggedOnUser").EMail;
            pw_password.Password = "******";

            //Geschlecht des angemeldeten Benutzers laden
            if (ApplicationState.GetValue <Client>("LoggedOnUser").Gender == "männlich")
            {
                cb_gender.SelectedValue = m;
            }

            if (ApplicationState.GetValue <Client>("LoggedOnUser").Gender == "weiblich")
            {
                cb_gender.SelectedValue = w;
            }
        }
        public Tournament_Management()
        {
            InitializeComponent();
            List <TournamentPers> allTournaments =
                TMPersistenz.GetAllTournaments(ApplicationState.GetValue <Client>("LoggedOnUser").Username);

            dg_tournament_list.ItemsSource = allTournaments;
        }
        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;
        }
예제 #9
0
        public Create_Tournament()
        {
            InitializeComponent();

            //Ueberpruefen ob Nutzer noch eingeloggt
            if (String.IsNullOrEmpty(ApplicationState.GetValue <Client>("LoggedOnUser").Username))
            {
                Login login = new Login();
                this.NavigationService.Navigate(login);
            }
        }
예제 #10
0
        //wenn der Nutzer auf Turnier starten klickt, werden die Elemente fuer das Eintragen der Ergebnisse eingeblendet
        private void b_start_tournament_Click(object sender, RoutedEventArgs e)
        {
            b_start_tournament.Visibility = Visibility.Hidden;
            b_start.Visibility            = Visibility.Hidden;
            b_stop.Visibility             = Visibility.Hidden;
            l_title.Visibility            = Visibility.Visible;
            i_pitch.Visibility            = Visibility.Visible;
            tbl_team1.Visibility          = Visibility.Visible;
            tbl_team2.Visibility          = Visibility.Visible;
            tbl_nr_set.Visibility         = Visibility.Visible;
            tb_team1.Visibility           = Visibility.Visible;
            tb_team2.Visibility           = Visibility.Visible;
            b_continue.Visibility         = Visibility.Visible;
            b_home.Visibility             = Visibility.Visible;
            tbl_chance_team1.Visibility   = Visibility.Visible;
            tbl_chance_team2.Visibility   = Visibility.Visible;

            try
            {
                tournament.StartTournament();
                teams                 = tournament.CurrentMatch.GetTeams();
                tbl_team1.Text        = teams.ElementAt(0).ToString();
                tbl_team2.Text        = teams.ElementAt(1).ToString();
                tbl_chance_team1.Text = "Gewinnchance: \n" +
                                        (tournament.CurrentMatch.GetWinExpectationThatTeamAWins()).ToString() + " %";
                tbl_chance_team2.Text = "Gewinnchance: \n" +
                                        (tournament.CurrentMatch.GetWinExpectationThatTeamBWins()).ToString() + " %";
            }
            catch (Exception ex)
            {
                if (ex is ArgumentOutOfRangeException)
                {
                    MessageBox.Show(
                        "Teilnehmeranzahl ist nicht korrekt für den ausgewählten Spielmodus " +
                        ApplicationState.GetValue <TournamentPers>("CurrentTournament").Gamemode + ".", "KICKERCUP",
                        MessageBoxButton.OK, MessageBoxImage.Information);
                }
                else
                {
                    MessageBox.Show("Es ist ein schwerer Fehler aufgetreten");
                }

                if (this.NavigationService.CanGoBack)
                {
                    this.NavigationService.GoBack();
                }
                else
                {
                    Tournament_Competitors tc = new Tournament_Competitors();
                    this.NavigationService.Navigate(tc);
                }
            }
        }
        //Teilnehmersuche über Suchzeile
        private void competitor_search()
        {
            IDictionary <Guid, Competitor> competitors = new SortedList <Guid, Competitor>();

            try
            {
                competitors = comp.LoadCompetitors(tb_competitor_search.Text,
                                                   ApplicationState.GetValue <Client>("LoggedOnUser").Username);
                dg_competitor_list.ItemsSource = competitors;
            }
            catch
            {
                MessageBox.Show("Es ist ein Fehler bei der Suche in der Datenbank aufgetreten", "KICKERCUP",
                                MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
예제 #12
0
 //Weiterleitung zu den Datenbankeinstellungen
 private void b_dbsettings_Click(object sender, RoutedEventArgs e)
 {
     //Check ob schon mal Datenbankeinstellungen vorgenommen wurden
     if (ApplicationState.GetValue <bool>("SetDBSettings") == true)
     {
         //Benutzer informieren
         MessageBox.Show(
             "Die Datenbankverbindung kann nur vor der ersten Anmeldung nach Programmstart geändert werden. Starten Sie KICKERCUP neu um die Datenbankverbindung zu ändern.",
             "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Information);
     }
     else
     {
         DBSettings dbs = new DBSettings();
         this.NavigationService.Navigate(dbs);
     }
 }
 //Abspeichern Teilnehmer
 private void b_save_Click(object sender, RoutedEventArgs e)
 {
     if (CheckFields())
     {
         int skilllevel = 1500; //Startlevel festgesetzt
         comp.AddCompetitor(tb_name.Text, tb_surname.Text, cb_gender.Text, skilllevel, cb_visibility.Text,
                            ApplicationState.GetValue <Client>("LoggedOnUser").Username);
         DataChanged?.Invoke(this, new EventArgs());
         Close();
     }
     else
     {
         MessageBox.Show("Bitte alle Felder ausfüllen!", "KICKERCUP", MessageBoxButton.OK,
                         MessageBoxImage.Error);
     }
 }
        //Teilnehmersuche über Suchzeile
        private void competitor_search()
        {
            try
            {
                IDictionary <Guid, Competitor> competitors = new SortedList <Guid, Competitor>();
                competitors = comp.LoadCompetitors(tb_competitor_search.Text,
                                                   ApplicationState.GetValue <Client>("LoggedOnUser").Username);
                dg_competitor_list.ItemsSource = null;
                dg_competitor_list.ItemsSource = competitors;
            }

            catch
            {
                MessageBox.Show("Es ist ein unbekannter Fehler aufgetreten. Nochmal versuchen", "KICKERCUP",
                                MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
 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);
     }
 }
 //Weiterleitung Seite Rangliste
 private void b_ranking_list_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (ApplicationState.GetValue <TournamentPers>("CurrentTournament").IsFinished == false)
         {
             MessageBox.Show("Das ausgewählte Turnier wurde noch nicht gespielt. Es ist somit keine Rangliste vorhanden", "KICKERCUP", MessageBoxButton.OK, MessageBoxImage.Error);
         }
         else
         {
             Ranking_List rl = new Ranking_List();
             this.NavigationService.Navigate(rl);
         }
     }
     catch
     {
         MessageBox.Show("Bitte zuerst ein Turnier auswählen!", "KICKERCUP", MessageBoxButton.OK,
                         MessageBoxImage.Error);
     }
 }
 //noch nicht gespieltes Turnier fortsetzen
 private void b_continue_tournament_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (ApplicationState.GetValue <TournamentPers>("CurrentTournament").IsFinished == true)
         {
             MessageBox.Show("Das ausgewählte Turnier wurde bereits beendet!", "KICKERCUP", MessageBoxButton.OK,
                             MessageBoxImage.Error);
         }
         else
         {
             Tournament_Competitors tc = new Tournament_Competitors();
             this.NavigationService.Navigate(tc);
         }
     }
     catch
     {
         MessageBox.Show("Bitte zuerst ein Turnier auswählen!", "KICKERCUP", MessageBoxButton.OK,
                         MessageBoxImage.Error);
     }
 }
        //Nach Eingabe aller notwendigen Daten, speichern eines neuen Teilnehmers
        private void b_save_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (this.CheckFields())
                {
                    //falls Teilnehmer noch keine ID hat, also nicht über die Suche aufgerufen wurde, neuen anlegen
                    if (l_compID.Content.ToString() == "")
                    {
                        comp.AddCompetitor(tb_name.Text, tb_surname.Text, cb_gender.Text, 1500, cb_visibility.Text,
                                           ApplicationState.GetValue <Client>("LoggedOnUser").Username);
                    }

                    //ansonsten Teilnehmer anhand der ID updaten
                    else
                    {
                        Guid compID = Guid.Parse(l_compID.Content.ToString());
                        comp.UpdateCompetitor(compID, tb_name.Text, tb_surname.Text, cb_gender.Text,
                                              comp.FindCompetitor(compID).SkillLevel, cb_visibility.Text);
                    }

                    EmptyAll();
                }

                else
                {
                    MessageBox.Show("Es wurden nicht alle Felder ausgefüllt", "KICKERCUP", MessageBoxButton.OK,
                                    MessageBoxImage.Error);
                }
            }
            catch
            {
                MessageBox.Show("Es ist ein Fehler aufgetreten", "KICKERCUP", MessageBoxButton.OK,
                                MessageBoxImage.Error);
            }

            competitor_search();
        }
        //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);
            }
        }
예제 #20
0
        //Felder werden anhand des ausgewahlten Teilnehmers befuellt und koennen veraendert werden
        public Edit_Competitor()
        {
            InitializeComponent();
            l_current_comp.Content = ApplicationState.GetValue <Competitor>("SelectedCompetitor").Name + " " +
                                     ApplicationState.GetValue <Competitor>("SelectedCompetitor").Surname;
            tb_name.Text    = ApplicationState.GetValue <Competitor>("SelectedCompetitor").Name;
            tb_surname.Text = ApplicationState.GetValue <Competitor>("SelectedCompetitor").Surname;

            switch (ApplicationState.GetValue <Competitor>("SelectedCompetitor").Gender)
            {
            case "männlich":
                cb_gender.SelectedIndex = 1;
                break;

            case "weiblich":
                cb_gender.SelectedIndex = 2;
                break;

            default:
                break;
            }

            switch (ApplicationState.GetValue <Competitor>("SelectedCompetitor").Visibility)
            {
            case "global":
                cb_visibility.SelectedIndex = 1;
                break;

            case "lokal":
                cb_visibility.SelectedIndex = 2;
                break;

            default:
                break;
            }
        }
 //Aufruf der ShareOnTwitter Methode des jeweilig gerade angemeldeten Benutzers
 private void b_twitter_share_Click(object sender, RoutedEventArgs e)
 {
     ApplicationState.GetValue <Client>("LoggedOnUser").ShareOnTwitter();
 }
 //Aufruf der ShareOnFacebook Methode des jeweilig gerade angemeldeten Benutzers
 private void b_fb_share_Click(object sender, RoutedEventArgs e)
 {
     ApplicationState.GetValue <Client>("LoggedOnUser").ShareOnFacebook();
 }
 public Tournament_Competitors()
 {
     InitializeComponent();
     competitor_search();
     l_current_tournament.Content = ApplicationState.GetValue <TournamentPers>("CurrentTournament").Name;
 }
 public Finished_Tournament()
 {
     InitializeComponent();
     l_current_tournament.Content = ApplicationState.GetValue <TournamentPers>("CurrentTournament").Name;
     l_winner_team.Content        = ApplicationState.GetValue <Team>("MatchWinner").ToString();
 }
예제 #25
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);
            }
        }