public async Task <ActionResult <IEnumerable <PlayerDto> > > GetPlayersAsync(Guid teamId)
        {
            var players = await _playersRepository.GetAllAsync(teamId);

            var response = _mapper.Map <IEnumerable <PlayerDto> >(players);

            return(Ok(response));
        }
Beispiel #2
0
        public async Task ImportFrom(string sourcePageUrl)
        {
            var importedPlayers = (await _playersProvider.GetPlayersAsync(sourcePageUrl))
                                  .ToList();

            var existedPlayers = (await _playersRepository.GetAllAsync())
                                 .ToDictionary(p => p.MergedExternalId, p => p);

            foreach (var importedPlayer in importedPlayers)
            {
                if (existedPlayers.ContainsKey(importedPlayer.MergedExternalId))
                {
                    var existed = existedPlayers[importedPlayer.MergedExternalId];
                    importedPlayer.UpdateFrom(existed);
                }
            }

            await _playersRepository.InsertOrMergeAsync(importedPlayers);

            await _playersIntegration.SchedulePlayerProfilesUpdateAsync(importedPlayers);
        }
Beispiel #3
0
        public async Task <IEnumerable <PlayerOutputDto> > GetAllByMatch(int matchId)
        {
            var players = await _playersRepository.GetAllAsync(w => w.MatchId == matchId);

            return(MappingConfig.Mapper().Map <List <PlayerOutputDto> >(players));
        }