public override void Do(GameAction gameAction) { if (string.IsNullOrWhiteSpace(gameAction.UserId)) { return; } UserStats statistics = this.statisticsRepository.Retrieve(gameAction.UserId); if (statistics == null) { statistics = new UserStats { UserId = gameAction.UserId, Victories = 0, Defeats = 0, GameCount = 0 }; } statistics.Defeats += GetValue(gameAction.CommandData, "Defeats"); statistics.Victories += GetValue(gameAction.CommandData, "Victories"); statistics.GameCount += GetValue(gameAction.CommandData, "GameCount"); this.statisticsRepository.Save(statistics); }
public void Save(UserStats stats) { stats.RowKey = EncodeKey(stats.UserId); UserStats currentStat = this.statsTable.Query.Where(item => item.RowKey == stats.RowKey).FirstOrDefault(); if (currentStat != null) { this.statsTable.DeleteEntity(currentStat); } this.statsTable.AddEntity(stats); }
private static UserStats CreateUpdatedStats(UserStats originalStatistics) { var statistics = new UserStats { UserId = originalStatistics.UserId, Victories = originalStatistics.Victories, Defeats = originalStatistics.Defeats, GameCount = originalStatistics.GameCount }; return statistics; }
private static UserStats UpdateCurrentStats(GameAction gameAction, UserStats originalStatistics) { if (originalStatistics == null) { originalStatistics = new UserStats(); originalStatistics.UserId = gameAction.UserId; } originalStatistics.Victories += GetValue(gameAction.CommandData, "Victories"); originalStatistics.Defeats += GetValue(gameAction.CommandData, "Defeats"); originalStatistics.GameCount += GetValue(gameAction.CommandData, "GameCount"); return originalStatistics; }
private void BulkInsertTestData(IStatisticsRepository repository) { var rnd = new Random(); for (int i = 0; i < 100; i++) { var stats = new UserStats() { UserId = "testuser_" + i.ToString(), Victories = rnd.Next(1000), Defeats = rnd.Next(1000) }; repository.Save(stats); } }
public void Save(UserStats stats) { using (var db = new StatisticsContext(this.NameOrConnectionString)) { var old = db.Statistics.FirstOrDefault(e => e.UserId.Equals(stats.UserId, StringComparison.OrdinalIgnoreCase)); if (old != null) { old.Victories = stats.Victories; old.Defeats = stats.Defeats; old.GameCount = stats.GameCount; } else { db.Statistics.Add(stats); } db.SaveChanges(); } }
public void Save(UserStats stats) { throw new NotImplementedException(); }