Пример #1
0
        private List <TeamStatistic> GenerateTeamStatistics(Team team, Championship championship, string[] years, int currentId, out int nextId)
        {
            nextId = currentId;
            var list = new List <TeamStatistic>();

            foreach (var year in years)
            {
                list.Add(new TeamStatistic {
                    Id = currentId, TeamId = team.Id, ChampionshipId = championship.Id, Years = year, IsChampion = true
                });
                currentId++;
            }
            nextId = currentId;
            return(list);
        }
Пример #2
0
        private void SeedData(ModelBuilder builder)
        {
            var teamJuventus = new Team {
                Id = 1, Name = "Ювентус", City = "Турин", Coaches = "Мауріціо Саррі", Country = "Італія", GameScheme = "2-4-4"
            };
            var teamBarca = new Team {
                Id = 2, Name = "Барселона", City = "Барселона", Coaches = "Ернесто Вальверде", Country = "Іспанія", GameScheme = "2-4-4"
            };
            var teamLiverpool = new Team {
                Id = 3, Name = "Ліверпуль", City = "Енфілд", Coaches = "Юрген Клопп", Country = "Англія", GameScheme = "2-4-4"
            };

            builder.Entity <Team>().HasData(teamJuventus, teamBarca, teamLiverpool);

            builder.Entity <Player>().HasData(new List <Player>
            {
                new Player {
                    Id = 1, TeamId = 1, Name = "Войчех Шченсний", Number = "1"
                },
                new Player {
                    Id = 2, TeamId = 1, Name = "Леонардо Бонуччі", Number = "19"
                },
                new Player {
                    Id = 3, TeamId = 1, Name = "Матейс де Лігт", Number = "4"
                },
                new Player {
                    Id = 4, TeamId = 1, Name = "Алекс Сандро", Number = "12"
                },
                new Player {
                    Id = 5, TeamId = 1, Name = "Даніло", Number = "13"
                },
                new Player {
                    Id = 6, TeamId = 1, Name = "Миралем Пяніч", Number = "5"
                },
                new Player {
                    Id = 7, TeamId = 1, Name = "Блез Матюіді", Number = "14"
                },
                new Player {
                    Id = 8, TeamId = 1, Name = "Айрон Ремзі", Number = "8"
                },
                new Player {
                    Id = 9, TeamId = 1, Name = "Пауло Дібала", Number = "10"
                },
                new Player {
                    Id = 10, TeamId = 1, Name = "Фредеріко Бернандескі", Number = "33"
                },
                new Player {
                    Id = 11, TeamId = 1, Name = "Кріштіану Роналду", Number = "7"
                },

                new Player {
                    Id = 12, TeamId = 2, Name = "Марк-Андре тер Штеген", Number = "22"
                },
                new Player {
                    Id = 13, TeamId = 2, Name = "Нелсон Семеду", Number = "2"
                },
                new Player {
                    Id = 14, TeamId = 2, Name = "Жерар Піке", Number = "3"
                },
                new Player {
                    Id = 15, TeamId = 2, Name = "Жоржи Альба", Number = "18"
                },
                new Player {
                    Id = 16, TeamId = 2, Name = "Самюель Умтіті", Number = "23"
                },
                new Player {
                    Id = 17, TeamId = 2, Name = "Артуро Відаль", Number = "22"
                },
                new Player {
                    Id = 18, TeamId = 2, Name = "Френкі де йонг", Number = "21"
                },
                new Player {
                    Id = 19, TeamId = 2, Name = "Усман Дембеле", Number = "11"
                },
                new Player {
                    Id = 20, TeamId = 2, Name = "Антуан Грізман", Number = "17"
                },
                new Player {
                    Id = 21, TeamId = 2, Name = "Луіс Суарес", Number = "9"
                },
                new Player {
                    Id = 22, TeamId = 2, Name = "Ліонель Мессі", Number = "10"
                },

                new Player {
                    Id = 23, TeamId = 3, Name = "Алісон Беккер", Number = "13"
                },
                new Player {
                    Id = 24, TeamId = 3, Name = "Трент Александр-Арнольд", Number = "66"
                },
                new Player {
                    Id = 25, TeamId = 3, Name = "Вірджил ван Дейк", Number = "4"
                },
                new Player {
                    Id = 26, TeamId = 3, Name = "Джо Гомес", Number = "12"
                },
                new Player {
                    Id = 27, TeamId = 3, Name = "Ендрю Робертсон", Number = "26"
                },
                new Player {
                    Id = 28, TeamId = 3, Name = "Садіо Мане", Number = "10"
                },
                new Player {
                    Id = 29, TeamId = 3, Name = "Джордан Хендерсон", Number = "14"
                },
                new Player {
                    Id = 30, TeamId = 3, Name = "Фабіньйо", Number = "3"
                },
                new Player {
                    Id = 31, TeamId = 3, Name = "Мохамед салах", Number = "11"
                },
                new Player {
                    Id = 32, TeamId = 3, Name = "Роберто Фірміно", Number = "9"
                },
                new Player {
                    Id = 33, TeamId = 3, Name = "Дивок Орігі", Number = "27"
                }
            });

            var championshipSeriaA = new Championship {
                Id = 1, Name = "Серія А", Country = "Італія", IsNational = true
            };
            var championshipItalyCup = new Championship {
                Id = 2, Name = "Кубок Італії", Country = "Італія", IsNational = true
            };
            var championshipLaLiga = new Championship {
                Id = 3, Name = "Ла-Ліга", Country = "Іспанія", IsNational = true
            };
            var championshipSpainCup = new Championship {
                Id = 4, Name = "Кубок Іспанії", Country = "Іспанія", IsNational = true
            };
            var championshipPremierLeague = new Championship {
                Id = 5, Name = "Прем\'єр-ліга", Country = "Англія", IsNational = true
            };
            var championshipEnglandCup = new Championship {
                Id = 6, Name = "Кубок Англії", Country = "Англія", IsNational = true
            };
            var championshipUEFA = new Championship {
                Id = 7, Name = "Ліга чемпіонів УЄФА", Country = "", IsNational = false
            };

            builder.Entity <Championship>().HasData(championshipSeriaA, championshipItalyCup, championshipLaLiga,
                                                    championshipSpainCup, championshipPremierLeague, championshipEnglandCup, championshipUEFA);

            var teamStatistics = new List <TeamStatistic>();
            var id             = 1;

            // Ювентус - Серія А (1)
            teamStatistics.AddRange(GenerateTeamStatistics(teamJuventus, championshipSeriaA,
                                                           new [] { "1983/84", "1985/86", "1994/95", "1996/97", "1997/98", "2001/02", "2002/03", "2004/05", "2005/06", "2011/12",
                                                                    "2012/13", "2013/14", "2014/15", "2015/16", "2016/17", "2017/18", "2018/19" }, id, out id));
            // Ювентус - Кубок Італії (2)
            teamStatistics.AddRange(GenerateTeamStatistics(teamJuventus, championshipItalyCup,
                                                           new [] { "1982/83", "1989/90", "1994/95", "2014/15", "2015/16", "2017/18" }, id, out id));
            // Ювентус - Ліга чемпіонів УЄФА (7)
            teamStatistics.AddRange(GenerateTeamStatistics(teamJuventus, championshipUEFA,
                                                           new [] { "1984/85", "1995/96" }, id, out id));


            // Барселона - Ла-Ліга (3)
            teamStatistics.AddRange(GenerateTeamStatistics(teamBarca, championshipLaLiga,
                                                           new [] { "1992/93", "1994/95", "1998/99", "2004/05", "2005/06", "2008/09", "2009/10", "2010/11", "2012/13", "2014/15",
                                                                    "2015/16", "2017/18" }, id, out id));
            // Барселона - Кубок Іспанії (4)
            teamStatistics.AddRange(GenerateTeamStatistics(teamBarca, championshipSpainCup,
                                                           new [] { "1978", "1981", "1988", "1990", "1997", "1998", "2009", "2012", "2015", "2016", "2017", "2018" }, id, out id));
            // Барселона - Ліга чемпіонів УЄФА (7)
            teamStatistics.AddRange(GenerateTeamStatistics(teamBarca, championshipUEFA,
                                                           new [] { "1992", "2006", "2009", "2011", "2015" }, id, out id));


            // Ліверпуль - Прем'єр-ліга (5)
            teamStatistics.AddRange(GenerateTeamStatistics(teamLiverpool, championshipPremierLeague,
                                                           new [] { "1979/80", "1981/82", "1985/86", "1987/88", "1989/90" }, id, out id));
            // Ліверпуль - Кубок Англії (6)
            teamStatistics.AddRange(GenerateTeamStatistics(teamLiverpool, championshipEnglandCup,
                                                           new [] { "1965", "1974", "1986", "1989", "1992", "2001", "2006" }, id, out id));
            // Ліверпуль - Ліга чемпіонів УЄФА (7)
            teamStatistics.AddRange(GenerateTeamStatistics(teamLiverpool, championshipUEFA,
                                                           new [] { "1977", "1978", "1981", "1984", "2005", "2019" }, id, out id));


            builder.Entity <TeamStatistic>().HasData(teamStatistics);
        }