Example #1
0
        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);
        }