public void ClearEvents() { //loop through every event and unsubscribe the events if (LevelGeneration != null) { foreach (var eventDelegate in LevelGeneration.GetInvocationList()) { LevelGeneration -= (eventDelegate as EventHandler); } } if (LevelBaking != null) { foreach (var eventDelegate in LevelBaking.GetInvocationList()) { LevelBaking -= (eventDelegate as EventHandler); } } if (LevelPopulation != null) { foreach (var eventDelegate in LevelPopulation.GetInvocationList()) { LevelPopulation -= (eventDelegate as EventHandler); } } if (PlayerPopulation != null) { foreach (var eventDelegate in PlayerPopulation.GetInvocationList()) { PlayerPopulation -= (eventDelegate as EventHandler); } } if (PostPlayer != null) { foreach (var eventDelegate in PostPlayer.GetInvocationList()) { PostPlayer -= (eventDelegate as EventHandler); } } if (FinalizeObjectPools != null) { foreach (var eventDelegate in FinalizeObjectPools.GetInvocationList()) { FinalizeObjectPools -= (eventDelegate as EventHandler); } } if (FinalStep != null) { foreach (var eventDelegate in FinalStep.GetInvocationList()) { FinalStep -= (eventDelegate as EventHandler); } } }
public async Task <IActionResult> PostPlayer([FromBody] PostPlayer playerData, int userId) //metoda tworząca nowego zawodnika dla odpowiedniego konta { // sprawdza czy walidacja pobieranej klasy jako "FromBody" powiodła się if (!ModelState.IsValid) { return(BadRequest(ModelState)); } // wywołanie metody tworzącej zawodnika ze zwrotką uzyskanego przez niego id int playerId = await _playerService.CreateAsyncPlayer(playerData, userId); // pobranie nowo utworzonego zawodnika var player = await _playerService.GetAsyncPlayer(playerId); //zwrotka statusu kodu "201" wraz z adresem do utworzonego zawodnika i jego obiektem w postaci json return(Created($"https://localhost:44356/" + "Players/GetPlayer/{playerId}/", Json(player))); }
public async Task <int> CreateAsyncPlayer(PostPlayer playerData, int userId) { //pobieramy uzytkownika z bazy aby utworzyc pelny obiekt player do dodania do bazy var user = await _authRepository.UserAccount(userId); // tworzy objekt Player var player = new Player(); player.user = user; player.SetSurname(playerData.Surname); player.SetName(playerData.Name); player.SetAge(playerData.Age); player.SetPosition(playerData.Position); var PlayersStatictics = new PlayersStatictics(0, 0, 0, 0, 0, player); player.Statictics = PlayersStatictics; // przekazuje id użytkownika, który chce stworzyć zawodnika i samego zawodnika do metody z repozytorium // a wywołanie jest przypisane do zmiennej ponieważ metoda z repozytorium zwraca id nowo utworzonego zawodnika int createdPlayerId = await _playerRepository.AddAsyncPlayer(player, userId); return(createdPlayerId); }