public void RecordWeeklyClanStats() { Logger.Debug("Begin RecordWeeklyStats"); var clan = GetClan(); var members = clan.members?.ToList(); var database = new CRClanStatsFactory().Create(); foreach (var member in members) { Logger.Debug($"Updating stats for {member.name}"); Logger.Debug($" Clan Donations: {clan.donations}"); Logger.Debug($" Member Count: {clan.memberCount}"); Logger.Debug($" Missing Members Count: {clan.memberCount}"); Logger.Debug($" New Members Count: {clan.memberCount}"); Logger.Debug($" Active Members Count: {clan.members.Length}"); Logger.Debug($" Total Clan Battles: {clan.clanChest.crowns}"); Logger.Debug($" Total Clan Friendly Battles: {member.donationsReceived}"); Logger.Debug($" Most Friendly Player: {member.donationsReceived}"); Logger.Debug($" Biggest Ladder Winner: {member.donationsReceived}"); Logger.Debug($" Biggest Ladder Loser: {member.donationsReceived}"); try { var playerRecord = database.Players?.Single(p => p.Tag == member.tag); var playerStat = new PlayerStat() { RecordDate = DateTime.UtcNow, DonationsCount = member.donations ?? 0, DonationsReceivedCount = member.donationsReceived ?? 0, //DonationsDelta = member.donationsDelta ?? 0, PlayerRole = database.PlayerRoles?.Single(r => r.RoleName == member.role), ClanChestCrownsCount = member.clanChestCrowns ?? 0, Trophies = member.trophies }; playerRecord.PlayerStats.Add(playerStat); } catch (Exception ex) { Logger.Error("Update failed", ex); throw; } } database.SaveChanges(); Logger.Info($"Updated stats for {members.Count} clan members"); Logger.Debug("End RecordWeeklyStats"); }
public void GatherClanStats() { Logger.Debug("Begin GatherClanStats"); var clan = GetClan(); var members = clan.members?.ToList(); var database = new CRClanStatsFactory().Create(); AddNewMembers(database, members); RemoveMissingMembers(database, members); UpdatePlayersStats(database, members); Logger.Debug("End GatherClanStats"); }
public void RecordClanChestStats() { Logger.Debug("Begin RecordClanChestStats"); var clan = GetClan(); var members = clan.members?.ToList(); var database = new CRClanStatsFactory().Create(); foreach (var member in members) { Logger.Debug($"Updating stats for {member.name}"); Logger.Debug($" Crowns: {clan.clanChest.crowns}"); Logger.Debug($" Role: {clan.clanChest.crowns}"); Logger.Debug($" Trophies: {clan.clanChest.crowns}"); Logger.Debug($" Arena: {clan.clanChest.crowns}"); Logger.Debug($" Current Donations: {clan.clanChest.crowns}"); Logger.Debug($" Current Donations Delta: {clan.clanChest.crowns}"); Logger.Debug($" Current Donations Received: {member.donationsReceived}"); try { var playerRecord = database.Players?.Single(p => p.Tag == member.tag); var playerStat = new PlayerStat() { RecordDate = DateTime.UtcNow, DonationsCount = member.donations ?? 0, DonationsReceivedCount = member.donationsReceived ?? 0, //DonationsDelta = member.donationsDelta ?? 0, PlayerRole = database.PlayerRoles?.Single(r => r.RoleName == member.role), ClanChestCrownsCount = member.clanChestCrowns ?? 0, Trophies = member.trophies }; playerRecord.PlayerStats.Add(playerStat); } catch (Exception ex) { Logger.Error("Update failed", ex); throw; } } database.SaveChanges(); Logger.Debug("End RecordClanChestStats"); }