Exemplo n.º 1
0
        //registreer het doelpunt en update de Currentwedstrijd met de waardes uit WedstrijdCopy
        async public void RegistreerDoelpunt(Speler aanvaller, VoetbalTeam team, Speler verdediger, Wedstrijd currentWedstrijd)
        {
            //voeg doelpunt toe met currentwedstrijd. Anders wordt het doelpunt aan de verkeerde wedstrijd gelinkt
            Doelpunt doelpunt = new Doelpunt(aanvaller, currentWedstrijd, team);

            VoegNieuwItemToe(doelpunt);

            // voeg doelpunt toe aan wedstrijd, aanvaller en team
            currentWedstrijd.Doelpunten.Add(doelpunt);
            aanvaller.Doelpunten.Add(doelpunt);
            team.Doelpunten.Add(doelpunt);

            //Update ervaring
            verdediger.Ervaring++;
            aanvaller.Ervaring += 2;


            try
            {
                await _dBContext.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw new Exception($"Doelpunt is niet geregistreerd: {ex}");
            }
        }
Exemplo n.º 2
0
 public void VerwijderCoachuitTeam(Coach coach, VoetbalTeam team)
 {
     team?.Coaches.Remove(coach);
     coach.Team = null;
     _dBContext.SaveChanges();
     this.TeamsGewijzigd?.Invoke();
     this.CoachesGewijzigd?.Invoke();
 }
Exemplo n.º 3
0
 public void VerwijderSpelerUitTeam(Speler speler, VoetbalTeam team)
 {
     team?.TeamLeden.Remove(speler);
     speler.Team = null;
     _dBContext.SaveChanges();
     this.SpelersGewijzigd?.Invoke();
     this.CoachesGewijzigd?.Invoke();
 }
Exemplo n.º 4
0
 public void VerwijderSpelerUitTeam(Speler speler, VoetbalTeam currentTeam)
 {
     //kijk of speler bestaat
     if (_dataBaseRepository.GetAlleTeams().Where(t => t == currentTeam).FirstOrDefault().TeamLeden.Any(s => s == speler))
     {
         //Verwijder speler als deze bestaat
         _dataBaseRepository.VerwijderSpelerUitTeam(speler, currentTeam);
     }
 }
Exemplo n.º 5
0
 public void VerwijderCoachuitTeam(Coach coach, VoetbalTeam currentTeam)
 {
     //kijk of coach bestaat
     if (_dataBaseRepository.GetAlleTeams().Where(t => t == currentTeam).FirstOrDefault().Coaches.Any(c => c == coach))
     {
         //4Verwijder coach als deze bestaat
         _dataBaseRepository.VerwijderCoachuitTeam(coach, currentTeam);
     }
 }
Exemplo n.º 6
0
 async public void VoegSpelerToeAanTeam(Speler speler, VoetbalTeam team)
 {
     if (!team.TeamLeden.Any(s => s == speler))
     {
         await _dataBaseRepository.VoegSpelerToeAanTeam(speler, team);
     }
     else
     {
         ValidationMessage.AddLineToMessageBody("Deze Speler heeft u al toegevoegd");
     }
 }
Exemplo n.º 7
0
 public void VoegNieuwTeamToe(VoetbalTeam newTeam)
 {
     if (ValidateTeam(newTeam))
     {
         if (_dataBaseRepository.VoegNieuwItemToe(newTeam))
         {
             ValidationMessage.SetMessageHeader($"Team {newTeam.NaamToString} is toegevoegd");
         }
         else
         {
             ValidationMessage.SetMessageHeader($"Team {newTeam.NaamToString} kon niet worden toegevoegd");
         }
     }
 }
Exemplo n.º 8
0
        public void VerwijderTeam(VoetbalTeam currentTeam)
        {
            if (_dataBaseRepository.GetAlleTeams().Any(c => c == currentTeam))
            {
                if (_dataBaseRepository.VerwijderItem(currentTeam))

                {
                    ValidationMessage.SetMessageHeader($"Team {currentTeam.NaamToString} is verwijderd");
                }
                else
                {
                    ValidationMessage.SetMessageHeader($"Team {currentTeam.NaamToString} kon niet worden verwijderd");
                }
            }
        }
Exemplo n.º 9
0
        async public Task PasTeamAanAsync(VoetbalTeam currentTeam, VoetbalTeam tempModifiedTeam)
        {
            if (ValidateTeam(tempModifiedTeam))
            {
                if (await _dataBaseRepository.PasTeamAan(currentTeam, tempModifiedTeam))

                {
                    ValidationMessage.SetMessageHeader($"Team {currentTeam.NaamToString} is aangepast");
                }
                else
                {
                    ValidationMessage.SetMessageHeader($"Team {currentTeam.NaamToString} kon niet worden aangepast");
                }
            }
        }
Exemplo n.º 10
0
        public bool VoegCoachToeAanTeam(Coach coach, VoetbalTeam team)
        {
            //verwijder deze coach uit de lijst van het team waar hij nu inzit
            bool gelukt = false;

            coach.Team?.Coaches.Remove(coach);
            team?.Coaches.Add(coach);
            coach.Team = team;
            gelukt     = _dBContext.SaveChanges() > 0;
            if (gelukt)
            {
                this.TeamsGewijzigd?.Invoke();
                this.CoachesGewijzigd?.Invoke();
            }
            return(gelukt);
        }
Exemplo n.º 11
0
        private bool ValidateTeam(VoetbalTeam voetbalTeam)
        {
            bool validated = true;

            ValidationMessage.Clear();
            if (String.IsNullOrWhiteSpace(voetbalTeam?.Naam))
            {
                validated = false;
                ValidationMessage.AddLineToMessageBody("Naam is verplicht");
            }
            //als er iemand van het andere geslacht in het team zit
            if (voetbalTeam.TeamLeden.Where(tl => tl.Geslacht == voetbalTeam.Geslacht).Count() < voetbalTeam.TeamLeden.Count())
            {
                validated = false;
                ValidationMessage.AddLineToMessageBody($"U kunt alleen teamleden van het geslacht {voetbalTeam.Geslacht} toevoegen");
            }

            return(validated);
        }
Exemplo n.º 12
0
        async public Task <bool> VoegSpelerToeAanTeam(Speler speler, VoetbalTeam team)
        {
            bool gelukt = false;

            if (speler != null && team != null)
            {
                speler.Team?.TeamLeden.Remove((Speler)speler);
                speler.Team = team;
                team.TeamLeden.Add((Speler)speler);
                gelukt = await _dBContext.SaveChangesAsync() > 0;

                if (gelukt)
                {
                    this.TeamsGewijzigd?.Invoke();
                    this.SpelersGewijzigd?.Invoke();
                }
            }
            return(gelukt);
        }
Exemplo n.º 13
0
        async private Task SimuleerAanvallenAsync(Wedstrijd currentWedstrijd)
        {
            //Zoveel aanvallen als er speler zijn
            for (int i = 0; i < currentWedstrijd.ThuisTeam.TeamLeden.Count + currentWedstrijd.UitTeam.TeamLeden.Count; i++)
            {
                Random rand = new Random();

                // bepaal welk team aanvalt
                int         kiesTeam     = rand.Next(201);
                VoetbalTeam teamAanval   = kiesTeam % 2 == 0 ? currentWedstrijd.ThuisTeam : currentWedstrijd.UitTeam;
                VoetbalTeam teamVerdedig = kiesTeam % 2 == 0 ? currentWedstrijd.UitTeam : currentWedstrijd.ThuisTeam;

                //kies aanvaller en verdediger

                Speler aanvaller  = teamAanval.TeamLeden[rand.Next(teamAanval.TeamLeden.Count)];
                Speler verdediger = teamVerdedig.TeamLeden[rand.Next(teamVerdedig.TeamLeden.Count)];

                //Doe aanval
                if (await AanvalAsync(aanvaller, verdediger))
                {
                    //Als aanval succesvol => registreer dan doelpunt en pas ervaring nieveau betrokken spelers aan
                    WedstrijdSecretariaat.RegistreerDoelpunt(aanvaller, teamAanval, verdediger, currentWedstrijd);
                    currentWedstrijd.Uitslag = "updatePropertyChanged"; // Slaat nergens op maar triggert wel het PropertyChanged event
                    Message.SetMessageBody($"{aanvaller.NaamToString} scoorde een doelpunt voor {teamAanval.NaamToString}");
                    Message.AddLineToMessageBody(FeedbackMessages.GetWedstrijdTussenStand(currentWedstrijd.Uitslag));
                }
                else
                {
                    //Als aanval niet succesvol =>  pas ervaring niveau betrokken spelers aan
                    WedstrijdSecretariaat.RegistreerRedding(aanvaller, verdediger);
                    Message.SetMessageBody($"{verdediger.NaamToString}({teamVerdedig.NaamToString}) stopte een aanval van {aanvaller.NaamToString}({teamAanval.NaamToString})");
                    Message.AddLineToMessageBody(FeedbackMessages.GetWedstrijdTussenStand(currentWedstrijd.Uitslag));
                }
                await Task.Delay(1500);
            }
        }
Exemplo n.º 14
0
 public void VoegCoachToeAanTeam(Coach coach, VoetbalTeam team)
 {
     //verwijder deze coach uit delijst van het team waar hij nu inzit
     _dataBaseRepository.VoegCoachToeAanTeam(coach, team);
 }
Exemplo n.º 15
0
 async public Task <bool> PasTeamAan(VoetbalTeam currentTeam, VoetbalTeam tempModifiedTeam)
 {
     currentTeam.MemberwiseClone(tempModifiedTeam);
     return(await _dBContext.SaveChangesAsync() > 0);
 }
Exemplo n.º 16
0
 public void RegistreerDoelpunt(Speler speler, VoetbalTeam team, Speler verdediger, Wedstrijd CurrentWedstrijd)
 {
     _dataBaseRepository.RegistreerDoelpunt(speler, team, verdediger, CurrentWedstrijd);
 }