public async Task UpdateWithoutSavingChanges_ServerActivityStatisticsSuccesfullyUpdated() { var duelLogs = new List <DuelLog>(); duelLogs.Add(new DuelLog(new DateTime(2018, 4, 29), new DateTime(2018, 4, 29), 1, 1, "test", "filename.yrp")); duelLogs.Add(new DuelLog(new DateTime(2018, 5, 2), new DateTime(2018, 5, 2), 1, 1, "test", "filename.yrp")); duelLogs.Add(new DuelLog(new DateTime(2018, 5, 2), new DateTime(2018, 5, 2), 1, 1, "test", "filename.yrp")); duelLogs.Add(new DuelLog(new DateTime(2018, 5, 2), new DateTime(2018, 5, 2), 1, 1, "test", "filename.yrp")); duelLogs.Add(new DuelLog(new DateTime(2018, 5, 1), new DateTime(2018, 5, 1), 1, 1, "test", "filename.yrp")); duelLogs.Add(new DuelLog(new DateTime(2018, 5, 1), new DateTime(2018, 5, 1), 1, 1, "test", "filename.yrp")); await _updater.UpdateWithoutSavingChanges(duelLogs); await _dbInMemory.SaveChangesAsync(); var date_2018_5_1_Statistics = _dbInMemory.ServerActivityStatistics .Where(x => x.FromDate.Date == new DateTime(2018, 5, 1)) .FirstOrDefault(); var date_2018_5_2_Statistics = _dbInMemory.ServerActivityStatistics .Where(x => x.FromDate.Date == new DateTime(2018, 5, 2)) .FirstOrDefault(); var date_2018_4_29_Statistics = _dbInMemory.ServerActivityStatistics .Where(x => x.FromDate.Date == new DateTime(2018, 4, 29)) .FirstOrDefault(); Assert.Multiple(() => { Assert.IsTrue(date_2018_5_1_Statistics?.NumberOfGames == 2); Assert.IsTrue(date_2018_5_2_Statistics?.NumberOfGames == 3); Assert.IsTrue(date_2018_4_29_Statistics?.NumberOfGames == 1); }); }
/// <summary> /// Handle <see cref="DataFromYgoProServerRetrieved"/> event. /// </summary> /// <param name="notification">The event data.</param> /// <param name="cancellationToken">The cancellation token.</param> public async Task Handle(DataFromYgoProServerRetrieved notification, CancellationToken cancellationToken) { var convertedDuelLogsListsDictionary = notification.ConvertedDuelLogs; foreach (var duelLogsWithTimeFrom in convertedDuelLogsListsDictionary) { var duelLogs = duelLogsWithTimeFrom.Value; await _updater.UpdateWithoutSavingChanges(duelLogs); } await _db.SaveChangesAsync(); }