Пример #1
0
        private void DubbelKlik(object sender, MouseButtonEventArgs e)
        {
            DataGrid grid = (DataGrid)sender;

            if (HuidigeMatches.SelectedCells.Count <= 0)
            {
                return;
            }
            Versus geselecteerdeVersus = ((Versus)HuidigeMatches.SelectedCells[0].Item);

            new VersusAanpassen(geselecteerdeVersus).ShowDialog();

            VulDataGrid();
        }
Пример #2
0
        private void Match_Toevoegen(object sender, RoutedEventArgs e)
        {
            Versus geselecteerdeVersus = new Versus();
            int    id = 0;

            foreach (Versus versus in huidigeMatchLijst.versuses)
            {
                if (id <= versus.Id)
                {
                    id = versus.Id + 1;
                }
            }
            geselecteerdeVersus.Id = id;
            new VersusAanpassen(geselecteerdeVersus, ref huidigeMatchLijst.versuses, true).ShowDialog();

            VulDataGrid();
        }
Пример #3
0
        public static MatchLijst GenereerMatchLijst()
        {
            List <Versus>  versusLijst       = new List <Versus>();
            List <Persoon> aanwezigePersonen = new List <Persoon>();

            foreach (Persoon p in DataSources.Instance.personen)
            {
                if (p.Aanwezig && p.Id > -1)
                {
                    aanwezigePersonen.Add(p);
                }
            }

            //match personen op met elkaar
            Random random = new Random();

            while (aanwezigePersonen.Count > 1)
            {
                Debug.WriteLine("aanwezige personen: " + aanwezigePersonen.Count + " - persoon 1: " + aanwezigePersonen[0].Naam);
                Versus  versus = new Versus();
                int     rand = random.Next(0, 101);
                int     randIndex = rand >= 55 ? 0 : 0 + 1;
                Persoon p1 = new Persoon(), p2 = new Persoon();
                p1 = aanwezigePersonen[0];
                for (int j = 1; j < aanwezigePersonen.Count; j++)
                {
                    bool vorigeTegenstander = false;
                    foreach (Persoon p in p1.vorigeTegenstanders)
                    {
                        if (aanwezigePersonen[j].Id == p.Id)
                        {
                            vorigeTegenstander = true;
                        }
                    }
                    if (!vorigeTegenstander)
                    {
                        p2 = aanwezigePersonen[j];
                        aanwezigePersonen.Remove(aanwezigePersonen.Find(persoon => persoon.Id == p1.Id));
                        aanwezigePersonen.Remove(aanwezigePersonen.Find(persoon => persoon.Id == p2.Id));
                        break;
                    }
                    else
                    {
                        if (aanwezigePersonen.Count <= 4)
                        {
                            foreach (Persoon p in p1.vorigeTegenstanders)
                            {
                                if (p.Id == aanwezigePersonen[j].Id)
                                {
                                    p2 = p;
                                }
                            }
                            aanwezigePersonen.Remove(aanwezigePersonen.Find(persoon => persoon.Naam.Equals(p1.Naam)));
                            aanwezigePersonen.Remove(aanwezigePersonen.Find(persoon => persoon.Naam.Equals(p2.Naam)));
                            break;
                        }
                    }
                }

                versus.Id    = versusLijst.Count;
                versus.Wit   = randIndex == 1 ? p2 : p1;
                versus.Zwart = versus.Wit == p1 ? p2 : p1;
                versusLijst.Add(versus);
                Debug.WriteLine("Versus added!");
            }

            MatchLijst matchLijst = new MatchLijst(versusLijst, DataSources.Instance.GenereerToernamentNummer());

            DataSources.Instance.matchLijsten.Add(matchLijst);
            Persistentie.Opslaan(DataSources.Instance.matchLijsten, "matchLijsten");

            return(matchLijst);
        }