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();
        }