private void Persoon_Toevoegen(object sender, RoutedEventArgs e)
        {
            new PersoonToevoegen().ShowDialog();

            Persistentie.Opslaan(DataSources.Instance.personen, "personen");
            VulDataGrid();
        }
        private void DubbelKlik(object sender, MouseButtonEventArgs e)
        {
            DataGrid grid = (DataGrid)sender;

            if (grid.CurrentCell.Column == null)
            {
                return;
            }
            if (grid.CurrentCell.Column.GetType().Equals(typeof(DataGridCheckBoxColumn)))
            {
                Persoon geselecteerdePersoonInLijst = DataSources.Instance.personen.Find(persoon => persoon.Id == ((Persoon)grid.CurrentCell.Item).Id);
                geselecteerdePersoonInLijst.Aanwezig = !geselecteerdePersoonInLijst.Aanwezig;
                grid.UnselectAllCells();

                Persistentie.Opslaan(DataSources.Instance.personen, "personen");
                VulDataGrid();
                return;
            }

            if (PersonenTabel.SelectedCells.Count <= 0)
            {
                return;
            }
            Persoon geselecteerdPersoon = ((Persoon)PersonenTabel.SelectedCells[0].Item);

            new PersoonAanpassen(geselecteerdPersoon).ShowDialog();

            Persistentie.Opslaan(DataSources.Instance.personen, "personen");
            VulDataGrid();
        }
        private void Nieuw_Click(object sender, RoutedEventArgs e)
        {
            DataSources.Instance.personen.Clear();
            DataSources.Instance.matchLijsten.Clear();

            Persistentie.Opslaan(DataSources.Instance.personen, "personen");
            Persistentie.Opslaan(DataSources.Instance.matchLijsten, "matchLijsten");

            VulDataGrid();
        }
 private void Opslaan_Click(object sender, RoutedEventArgs e)
 {
     if (BestandsNaam == null)
     {
         OpslaanAls_Click(sender, e);
     }
     else
     {
         Persistentie.Opslaan(new OpgeslagenBestand()
         {
             personen = DataSources.Instance.personen, matchlijsten = DataSources.Instance.matchLijsten
         }, BestandsPad + BestandsNaam);
     }
 }
        private void Persoon_Verwijderen(object sender, RoutedEventArgs e)
        {
            if (PersonenTabel.SelectedCells.Count <= 0)
            {
                return;
            }
            Persoon geselecteerdpersoon = (Persoon)PersonenTabel.SelectedCells[0].Item;

            if (MessageBox.Show("Weet u zeker dat u " + geselecteerdpersoon.Naam + " wilt verwijderen? ", "Verwijder persoon", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                DataSources.Instance.personen.Remove(geselecteerdpersoon);
            }

            Persistentie.Opslaan(DataSources.Instance.personen, "personen");
            VulDataGrid();
        }
        private void Openen_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog()
            {
                Filter = "d7p files(*.d7p) | *.d7p", DefaultExt = "d7p"
            };

            if (ofd.ShowDialog() == true)
            {
                BestandsNaam = ofd.FileName.Split('\\')[ofd.FileName.Split('\\').Length - 1];
                BestandsPad  = ofd.FileName;
                BestandsPad  = BestandsPad.Replace(BestandsNaam, "");

                DataSources.Instance.personen     = ((OpgeslagenBestand)Persistentie.Laad(BestandsPad + BestandsNaam)).personen;
                DataSources.Instance.matchLijsten = ((OpgeslagenBestand)Persistentie.Laad(BestandsPad + BestandsNaam)).matchlijsten;

                VulDataGrid();
            }
        }
 private void RoundRobin_Click(object sender, RoutedEventArgs e)
 {
     new RoundRobin(false).ShowDialog();
     Persistentie.Opslaan(DataSources.Instance.personen, "personen");
     VulDataGrid();
 }
 private void Matchmaking_Click(object sender, RoutedEventArgs e)
 {
     new Matchmaking().ShowDialog();
     Persistentie.Opslaan(DataSources.Instance.personen, "personen");
     VulDataGrid();
 }
예제 #9
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);
        }