private static HashEntry[] AllWriteFields(VerifiedEntry entry) { var hashEntries = new List <HashEntry> { new("entryId", entry.EntryId), new("fullName", entry.FullName), new("entryTeamName", entry.EntryTeamName), new("verifiedEntryType", entry.VerifiedEntryType.ToString()), new("alias", entry.Alias ?? string.Empty), new("description", entry.Description ?? string.Empty), }; if (entry.EntryStats != null) { hashEntries.Add(new("currentGwTotalPoints", entry.EntryStats.CurrentGwTotalPoints)); hashEntries.Add(new("lastGwTotalPoints", entry.EntryStats.LastGwTotalPoints)); hashEntries.Add(new("overAllRank", entry.EntryStats.OverallRank)); hashEntries.Add(new("pointsThisGw", entry.EntryStats.PointsThisGw)); hashEntries.Add(new("activeChip", ValueOrStringEmpty(entry.EntryStats.ActiveChip))); hashEntries.Add(new("captain", ValueOrStringEmpty(entry.EntryStats.Captain))); hashEntries.Add(new("viceCaptain", ValueOrStringEmpty(entry.EntryStats.ViceCaptain))); hashEntries.Add(new("gameweek", entry.EntryStats.Gameweek)); string ValueOrStringEmpty(string value) { return(!string.IsNullOrEmpty(value) ? value : string.Empty); } } return(hashEntries.ToArray()); }
public static PLEntry BuildPLEntry(VerifiedEntry fplEntry, VerifiedPLEntry plEntry) { return(new( EntryId : fplEntry.EntryId, Slug : plEntry.PlayerFullName.ToLower().Replace(" ", "-"), TeamName : fplEntry.EntryTeamName, RealName : fplEntry.FullName, Alias : fplEntry.Alias, Description : fplEntry.Description, PointsThisGw : fplEntry.EntryStats?.PointsThisGw, TotalPoints : fplEntry.EntryStats?.CurrentGwTotalPoints, OverallRank : fplEntry.EntryStats?.OverallRank, Captain : fplEntry.EntryStats?.Captain, ViceCaptain : fplEntry.EntryStats?.ViceCaptain, ChipUsed : fplEntry.EntryStats?.ActiveChip, Gameweek : fplEntry.EntryStats?.Gameweek, PLPlayerId : plEntry.PlayerId, PLName : plEntry.PlayerFullName, PlaysForTeam : plEntry.TeamName, ShirtImageUrl : $"https://fantasy.premierleague.com/dist/img/shirts/standard/shirt_{plEntry.TeamCode}-66.png", // move url-gen to client ? ImageUrl : $"https://resources.premierleague.com/premierleague/photos/players/110x140/p{plEntry.PlayerCode}.png", // move url-gen to client ? SelfOwnershipWeekCount : plEntry.SelfOwnershipStats.WeekCount, SelfOwnershipTotalPoints : plEntry.SelfOwnershipStats.TotalPoints )); }
private async Task <VerifiedEntryPointsUpdate> GetLiveStatsForEntry(VerifiedEntry entry) { var basicEntry = await _entryClient.Get(entry.EntryId); return(new VerifiedEntryPointsUpdate( CurrentGwTotalPoints: basicEntry.SummaryOverallPoints ?? 0, OverallRank: basicEntry.SummaryOverallRank ?? 0, PointsThisGw: basicEntry.SummaryEventPoints ?? 0)); }
private static EntryItem ToEntryItem(VerifiedEntry entry) { return(new EntryItem { Id = entry.EntryId, RealName = entry.FullName, TeamName = entry.EntryTeamName, VerifiedType = entry.VerifiedEntryType, Alias = entry.Alias, Description = entry.Description }); }
public async Task UpdatesDontCreateDuplicates() { VerifiedEntry verifiedEntry = SomeEntry() with { EntryStats = EntryStats() }; await _verifiedRepo.Insert(verifiedEntry); var allVerifiedEntries = await _verifiedRepo.GetAllVerifiedEntries(); Assert.Single(allVerifiedEntries); await _verifiedRepo.UpdateAllStats(verifiedEntry.EntryId, EntryStats() with { PointsThisGw = 100 });
public static RegularEntry BuildRegularEntry(VerifiedEntry fplEntry) { return(new ( EntryId : fplEntry.EntryId, VerifiedType : fplEntry.VerifiedEntryType.ToString(), TeamName : fplEntry.EntryTeamName, RealName : fplEntry.FullName, Alias : fplEntry.Alias, Description : fplEntry.Description, PointsThisGw : fplEntry.EntryStats?.PointsThisGw, TotalPoints : fplEntry.EntryStats?.CurrentGwTotalPoints, OverallRank : fplEntry.EntryStats?.OverallRank, Captain : fplEntry.EntryStats?.Captain, ViceCaptain : fplEntry.EntryStats?.ViceCaptain, ChipUsed : fplEntry.EntryStats?.ActiveChip, Gameweek : fplEntry.EntryStats?.Gameweek )); }
public async Task Insert(VerifiedEntry entry) { await _db.HashSetAsync($"entry-{entry.EntryId}", AllWriteFields(entry)); }