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(); } }
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); } }
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); }
public void Seed(FantasyLeagueDbContext context, IServiceProvider serviceProvider) { var userManager = serviceProvider.GetRequiredService <UserManager <User> >(); SeedUser(userManager, RoleConstants.AdminRoleName); }
public EfRepository(FantasyLeagueDbContext context) { this.context = context ?? throw new ArgumentNullException(nameof(context)); this.dbSet = this.context.Set <TEntity>(); }