Exemple #1
0
        private void HandleIncrementMessage(IncrementPlayCountMessage message)
        {
            if (_moviePlayCounts.ContainsKey(message.MovieTitle))
            {
                _moviePlayCounts[message.MovieTitle]++;
            }
            else
            {
                _moviePlayCounts.Add(message.MovieTitle, 1);
            }

            //  Simulated bugs
            if (_moviePlayCounts[message.MovieTitle] > 3)
            {
                throw new SimulatedCorruptStateException();
            }

            if (message.MovieTitle == "Partial Recoil")
            {
                throw new SimulatedTerribleMovieException();
            }

            ColorConsole.WriteMagenta(
                "MoviePlayCounterActor '{0}' has been watched {1} times",
                message.MovieTitle, _moviePlayCounts[message.MovieTitle]);
        }
Exemple #2
0
        public MoviePlayCounterActor()
        {
            ColorConsole.WriteMagenta("MoviePlayCounterActor constructor executing");
            _moviePlayCounts = new Dictionary <string, int>();

            Receive <IncrementPlayCountMessage>(message => HandleIncrementMessage(message));
        }
Exemple #3
0
        protected override void PostRestart(Exception reason)
        {
            ColorConsole.WriteMagenta("MoviePlayCounterActor PostRestart because: {0} ", reason.Message);

            base.PostRestart(reason);
        }
Exemple #4
0
 protected override void PostStop()
 {
     ColorConsole.WriteMagenta("MoviePlayCounterActor PostStop");
 }
Exemple #5
0
 protected override void PreStart()
 {
     ColorConsole.WriteMagenta("MoviePlayCounterActor PreStart");
 }