private void HandleIncrementMessage(IncrementPlayCountMessage mes) { if (_moviePlayCounts.ContainsKey(mes.MovieTitle)) { _moviePlayCounts[mes.MovieTitle]++; } else { _moviePlayCounts.Add(mes.MovieTitle, 1); } // simulated bugs if (_moviePlayCounts[mes.MovieTitle] > 3) { throw new SimulatedCorruptStateException(); } if (mes.MovieTitle == "Terrible movie") { throw new SimulatedTerribleMovieException(); } ColorConsole.WriteColorLine( $"MoviePlayCounterActor '{mes.MovieTitle}' has been watched {_moviePlayCounts[mes.MovieTitle]}", ConsoleColor.Magenta); }
private void HandleIncrementMessage(IncrementPlayCountMessage message) { if (_moviePlayCounts.ContainsKey(message.MovieTitle)) { var currentCount = _moviePlayCounts[message.MovieTitle]; currentCount++; _moviePlayCounts[message.MovieTitle] = currentCount; } else { _moviePlayCounts.Add(message.MovieTitle, 1); } // Simulated bugs if (message.MovieTitle == "Partial Recoil") { throw new SimulatedTerribleMovieException(message.MovieTitle); } if (message.MovieTitle == "Partial Recoil 2") { throw new InvalidOperationException("Simulated exception"); } _logger.Info("MoviePlayCounterActor {Movie} has been watched {Times} times", message.MovieTitle, _moviePlayCounts[message.MovieTitle]); }
private void HandleIncrementMessage(IncrementPlayCountMessage message) { var recentlyPlayedMoviesBufferIsFull = _recentlyPlayedMovies.Count == NumberOfRecentMoviesToAnalyze; if (recentlyPlayedMoviesBufferIsFull) { // remove oldest movie title _recentlyPlayedMovies.Dequeue(); } _recentlyPlayedMovies.Enqueue(message.MovieTitle); LogDebug(); var topMovie = _trendAnalyzer.CalculateMostPopularMovie(_recentlyPlayedMovies); _logger.Info("TrendingMoviesActor most popular movie trending now is {0}", topMovie); }
private void HandleIncrementMessage(IncrementPlayCountMessage message) { if (_moviePlayCounts.ContainsKey(message.MovieTitle)) { _moviePlayCounts[message.MovieTitle]++; } else { _moviePlayCounts.Add(message.MovieTitle, 1); } // Simulated bugs if (message.MovieTitle == "Partial Recoil") { throw new SimulatedTerribleMovieException(message.MovieTitle); } if (message.MovieTitle == "Partial Recoil 2") { throw new InvalidOperationException("Simulated exception"); } // TODO: log: MoviePlayCounterActor message.MovieTitle has been watched _moviePlayCounts[message.MovieTitle] times }