public static LeagueLevel FromString(string leagueLevelStr, ExternalSourceEnum source) { switch (source) { case ExternalSourceEnum.FootballDataOrg: switch (leagueLevelStr) { case "TIER_ONE": return(LeagueLevel.TierOne); case "TIER_TWO": return(LeagueLevel.TierTwo); case "TIER_THREE": return(LeagueLevel.TierThree); case "TIER_FOUR": return(LeagueLevel.TierFour); default: return(LeagueLevel.TierFour); } default: return(LeagueLevel.TierFour); } }
public async Task <List <int> > GetExternalLeaguesIds(List <LeagueDto> leaguesDto, ExternalSourceEnum externalSource) { var existedLeagues = new List <League>(); var externalLeaguesIds = new List <int>(); foreach (var leagueDto in leaguesDto) { IQueryable <League> leaguesQueryable = _unitOfWork.LeagueRepository.FindBy(l => l.Name.Equals(leagueDto.Name)); if (!string.IsNullOrEmpty(leagueDto.Area.Name)) { leaguesQueryable = leaguesQueryable.Where(l => l.Area.Name.Equals(leagueDto.Area.Name)); } League league = await leaguesQueryable.FirstOrDefaultAsync(); if (league != null) { existedLeagues.Add(league); } } foreach (var existedLeague in existedLeagues) { var integrations = await _unitOfWork.ExternalSourceIntegrationRepository .FindByAsync(ext => ext.ObjectId == existedLeague.Id && ext.ExternalSource == externalSource && ext.ObjectType == ObjectTypeEnum.League); ExternalSourceIntegration integration = integrations.FirstOrDefault(); if (integration != null) { externalLeaguesIds.Add(integration.ExternalObjectId); } } return(externalLeaguesIds); }