private static void AddTeamToLeagueIfNotExist(FootballEntities context, Team team, League league)
 {
     if (league != null)
     {
         bool teamInLeague = league.Teams.Contains(team);
         if (!teamInLeague)
         {
             league.Teams.Add(team);
             context.SaveChanges();
             Console.WriteLine("Added team to league: " + team.TeamName + " to league " + league.LeagueName);
         }
         else
         {
             Console.WriteLine("Existing team in league: " + team.TeamName + " belongs to " + league.LeagueName);
         }
     }
 }
예제 #2
0
        private static Team GetTeamEntity(FootballEntities context, string name, string country)
        {
            Team teamEntity = context.Teams.FirstOrDefault(t => t.TeamName == name && t.Country.CountryName == country);

            if (teamEntity == null)
            {
                Team newTeamEntity = new Team {TeamName = name, Country = context.Countries.FirstOrDefault(c => c.CountryName == country)};
                context.Teams.Add(newTeamEntity);
                context.SaveChanges();
                Console.WriteLine("Created team: {0} ({1})", name, country ?? "no country");
            }
            else
            {
                Console.WriteLine("Existing team: {0} ({1})", name, country ?? "no country");
            }

            return teamEntity;
        }
        private static void AddTeamsIntoLeague(League league, IEnumerable<XElement> teamElements, FootballEntities context)
        {
            foreach (var teamElement in teamElements)
            {
                if (teamElement.Attribute("name") == null)
                {
                    throw new ArgumentException("Atribute \"name\" is required.");
                }

                var currTeamCountryName = teamElement.Attribute("country") != null
                    ? teamElement.Attribute("country").Value
                    : null;
                var teamName = teamElement.Attribute("name").Value;

                // If this team exist
                if (context.Teams.Any(t => t.TeamName == teamName && t.Country.CountryName == currTeamCountryName))
                {
                    var existingTeam =
                        context.Teams.FirstOrDefault(
                            t => t.TeamName == teamName && t.Country.CountryName == currTeamCountryName);

                    Console.WriteLine("Existing team: {0} ({1})", existingTeam.TeamName,
                        existingTeam.Country != null ? existingTeam.Country.CountryName : "no country");

                    // If this team is in this league
                    if (league.Teams.Any(t => t.TeamName == existingTeam.TeamName && t.Country == existingTeam.Country))
                    {
                        Console.WriteLine("Existing team in league: {0} belongs to {1}", existingTeam.TeamName, league.LeagueName);
                    }
                    else
                    {
                        league.Teams.Add(existingTeam);
                        context.SaveChanges();

                        Console.WriteLine("Added team to league: {0} to league {1}", existingTeam.TeamName,
                        league.LeagueName);
                    }
                }
                else
                {
                    var newTeam = new Team
                    {
                        TeamName = teamName,
                        Country = context.Countries.FirstOrDefault(c => c.CountryName == currTeamCountryName)
                    };

                    context.Teams.Add(newTeam);
                    context.SaveChanges();

                    Console.WriteLine("Created team: {0} ({1})", newTeam.TeamName,
                        newTeam.Country != null ? newTeam.Country.CountryName : "no country");

                    league.Teams.Add(newTeam);
                    context.SaveChanges();

                    Console.WriteLine("Added team to league: {0} to league {1}", newTeam.TeamName,
                        league.LeagueName);
                }
            }
        }
        private static void AddTeams(XElement leagueElement)
        {
            var context = new FootballEntities();

            foreach (var teamElement in leagueElement.XPathSelectElements("teams/team"))
            {
                if (teamElement.Attribute("name") == null)
                {
                    throw new ArgumentException("Team name is required.");
                }

                var currTeamCountryName = teamElement.Attribute("country") != null
                    ? teamElement.Attribute("country").Value
                    : null;
                var teamName = teamElement.Attribute("name").Value;

                if (context.Teams.Any(t => t.TeamName == teamName && t.Country.CountryName == currTeamCountryName))
                {
                    var existingTeam =
                        context.Teams.FirstOrDefault(
                            t => t.TeamName == teamName && t.Country.CountryName == currTeamCountryName);

                    Console.WriteLine("Existing team: {0} ({1})", existingTeam.TeamName,
                        existingTeam.Country != null ? existingTeam.Country.CountryName : "no country");
                }
                else
                {
                    var newTeam = new Team
                    {
                        Country = context.Countries.FirstOrDefault(c => c.CountryName == currTeamCountryName),
                        TeamName = teamName
                    };

                    context.Teams.Add(newTeam);
                    context.SaveChanges();
                    Console.WriteLine("Created team: {0} ({1})", newTeam.TeamName,
                        newTeam.Country != null ? newTeam.Country.CountryName : "no country");
                }
            }
        }
        private static void CreateTeamsIfNotExist(
            FootballEntities context, League league, IEnumerable<XElement> xmlTeams)
        {
            if (xmlTeams == null)
            {
                return;
            }

            foreach (var xmlTeam in xmlTeams)
            {
                string teamName = xmlTeam.Attribute("name").Value;
                var country = xmlTeam.Attribute("country");
                string countryName = null;

                if (country != null)
                {
                    countryName = country.Value;
                }

                var team = context.Teams
                        .FirstOrDefault(t => t.TeamName == teamName && t.Country.CountryName == countryName);

                if (team != null)
                {
                    Console.WriteLine("Existing team: {0} ({1})", team.TeamName, countryName ?? "no country");
                }
                else
                {
                    Team newTeam = new Team();
                    newTeam.TeamName = teamName;
                    newTeam.Country = context.Countries.FirstOrDefault(c => c.CountryName == countryName);
                    context.Teams.Add(newTeam);
                    context.SaveChanges();
                    Console.WriteLine("Created team: {0} ({1})", teamName, countryName ?? "no country");
                    team = newTeam;
                }

                AddTeamToLeagueIfNotExist(context, team, league);
            }
        }