Example #1
0
        public async Task DeletePlayersInMatch(int Matchid, IEnumerable <int> PlayersId)
        {
            var playersListInMatch = await _matchRepository.GetAsyncPlayersInMatch(Matchid);  //pobiera mecz z zawarta lista zawodnikow przypisana do niego

            if (playersListInMatch == null)
            {
                throw new Exception($"Match with this id {Matchid} does not exist");
            }

            foreach (var player in PlayersId)                                                          //rpzechodzimy kolejno po indeksach ktore wskazuja ktorych zawodnikow nie chcemy w druzynie
            {
                var plr = playersListInMatch.Players2Match.SingleOrDefault(x => x.PlayerId == player); //pobieramy zawdonika pod indeksem
                if (plr == null)
                {
                    continue;               // jezeli nie ma takiego to kontynuujemy
                }
                else
                {
                    await _matchRepository.DeleteAsyncListPlayersInMatch(Matchid, plr);
                }
            }
            await Task.CompletedTask;
        }