//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}"); } }
public void VerwijderCoachuitTeam(Coach coach, VoetbalTeam team) { team?.Coaches.Remove(coach); coach.Team = null; _dBContext.SaveChanges(); this.TeamsGewijzigd?.Invoke(); this.CoachesGewijzigd?.Invoke(); }
public void VerwijderSpelerUitTeam(Speler speler, VoetbalTeam team) { team?.TeamLeden.Remove(speler); speler.Team = null; _dBContext.SaveChanges(); this.SpelersGewijzigd?.Invoke(); this.CoachesGewijzigd?.Invoke(); }
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); } }
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); } }
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"); } }
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"); } } }
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"); } } }
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"); } } }
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); }
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); }
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); }
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); } }
public void VoegCoachToeAanTeam(Coach coach, VoetbalTeam team) { //verwijder deze coach uit delijst van het team waar hij nu inzit _dataBaseRepository.VoegCoachToeAanTeam(coach, team); }
async public Task <bool> PasTeamAan(VoetbalTeam currentTeam, VoetbalTeam tempModifiedTeam) { currentTeam.MemberwiseClone(tempModifiedTeam); return(await _dBContext.SaveChangesAsync() > 0); }
public void RegistreerDoelpunt(Speler speler, VoetbalTeam team, Speler verdediger, Wedstrijd CurrentWedstrijd) { _dataBaseRepository.RegistreerDoelpunt(speler, team, verdediger, CurrentWedstrijd); }