private void SeedTeams(FantasyLeagueDbContext context, string jsonString)
        {
            var deserializedTeams = JsonConvert.DeserializeObject <TeamDto[]>(jsonString);

            var teams = new List <Team>();

            foreach (var item in deserializedTeams)
            {
                var teamImage = new Image
                {
                    PublicId  = item.PublicId,
                    Url       = item.Url,
                    ImageType = GlobalConstants.TeamName
                };

                var team = new Team
                {
                    Name     = item.Name,
                    Initials = item.Initials,
                    ImageId  = teamImage.Id,
                    Image    = teamImage
                };
                teams.Add(team);
            }

            context.Teams.AddRange(teams);
        }
        public static void Seed(FantasyLeagueDbContext context, IServiceProvider serviceProvider)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            var seeders = new List <ISeeder>
            {
                new RolesSeeder(),
                new UsersSeeder(),
                new TeamsSeeder(),
                new PlayersSeeder(),
                new MatchdaysSeeder()
            };

            foreach (var seeder in seeders)
            {
                seeder.Seed(context, serviceProvider);
                context.SaveChanges();
            }
        }
Exemple #3
0
        private void SeedTeam(FantasyLeagueDbContext context, string jsonString)
        {
            var deserializedSquad = JsonConvert.DeserializeObject <SquadDto>(jsonString);

            var team = context.Teams.FirstOrDefault(x => x.Name == deserializedSquad.Name);

            var players = new List <Player>();

            var random = new Random();

            foreach (var pl in deserializedSquad.Players)
            {
                var isValidPosition = Enum.TryParse(pl.Position, out PlayerPosition position);

                if (isValidPosition)
                {
                    var player = new Player
                    {
                        TeamId      = team.Id,
                        Name        = pl.Name,
                        Nationality = pl.Nationality,
                        Position    = position,
                        Price       = random.Next(GlobalConstants.MinPlayerPrice, GlobalConstants.MaxPlayerPrice)
                    };

                    players.Add(player);
                }
            }

            context.AddRange(players);
        }
        public void Seed(FantasyLeagueDbContext context, IServiceProvider serviceProvider)
        {
            var roleManager = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >();

            SeedRole(roleManager, RoleConstants.AdminRoleName);
            SeedRole(roleManager, RoleConstants.UserRoleName);
        }
 public void Seed(FantasyLeagueDbContext context, IServiceProvider serviceProvider)
 {
     if (!context.Matchdays.Any())
     {
         string jsonString = File.ReadAllText(MatchdaysJsonPath);
         this.SeedMatchdays(context, jsonString);
     }
 }
 public void Seed(FantasyLeagueDbContext context, IServiceProvider serviceProvider)
 {
     if (!context.Teams.Any())
     {
         string jsonString = File.ReadAllText(ClubsJsonPath);
         SeedTeams(context, jsonString);
     }
 }
Exemple #7
0
 public void Seed(FantasyLeagueDbContext context, IServiceProvider serviceProvider)
 {
     if (!context.Players.Any())
     {
         for (int i = 1; i <= GlobalConstants.TeamsCount; i++)
         {
             string jsonString = File.ReadAllText(string.Format(TeamJsonPath, i));
             this.SeedTeam(context, jsonString);
         }
     }
 }
        private void SeedMatchdays(FantasyLeagueDbContext context, string jsonString)
        {
            var deserializedMatchdays = JsonConvert.DeserializeObject <MatchdayDto[]>(jsonString);

            var matchdays = new List <Matchday>();

            foreach (var md in deserializedMatchdays)
            {
                var matchday = new Matchday
                {
                    Week      = md.Week,
                    StartDate = md.StartDate,
                    EndDate   = md.EndDate
                };

                if (md.Week == 1)
                {
                    matchday.MatchdayStatus       = MatchdayStatus.Current;
                    matchday.TransferWindowStatus = TransferWindowStatus.Opened;
                }

                foreach (var f in md.Fixtures)
                {
                    var homeTeam = context.Teams.FirstOrDefault(x => x.Name == f.HomeTeam);
                    var awayTeam = context.Teams.FirstOrDefault(x => x.Name == f.AwayTeam);
                    var status   = (FixtureStatus)Enum.Parse(typeof(FixtureStatus), f.Status);

                    var isValid = Enum.TryParse(f.Winner, out MatchResult winner);

                    if (!isValid)
                    {
                        winner = MatchResult.Unknown;
                    }

                    var fixture = new Fixture
                    {
                        HomeTeamId    = homeTeam.Id,
                        AwayTeamId    = awayTeam.Id,
                        AwayTeamGoals = f.AwayTeamGoals,
                        HomeTeamGoals = f.HomeTeamGoals,
                        Date          = f.Date,
                        Status        = status,
                        Winner        = winner
                    };

                    matchday.Fixtures.Add(fixture);
                }

                matchdays.Add(matchday);
            }

            context.Matchdays.AddRange(matchdays);
        }
Exemple #9
0
        public void Seed(FantasyLeagueDbContext context, IServiceProvider serviceProvider)
        {
            var userManager = serviceProvider.GetRequiredService <UserManager <User> >();

            SeedUser(userManager, RoleConstants.AdminRoleName);
        }
Exemple #10
0
 public EfRepository(FantasyLeagueDbContext context)
 {
     this.context = context ?? throw new ArgumentNullException(nameof(context));
     this.dbSet   = this.context.Set <TEntity>();
 }