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());
    }
Exemple #2
0
 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
        });
Exemple #6
0
 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));
 }