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 '{message.MovieTitle}' has been watched {_moviePlayCounts[message.MovieTitle]} times");
        }
        public MoviePlayCounterActor()
        {
            ColorConsole.WriteMagenta("MoviePlayCounterActor constructor executing");
            _moviePlayCounts = new Dictionary <string, int>();

            Receive <IncrementPlayCountMessage>(message => HandleIncrementMessage(message));
        }
        private void ProcessIncrementPlayCountMessage(IncrementPlayCountMessage message)
        {
            if (!_moviePlayCounts.ContainsKey(message.MovieTitle))
            {
                _moviePlayCounts.Add(message.MovieTitle, 0);
            }
            _moviePlayCounts[message.MovieTitle]++;

            ColorConsole.WriteMagenta($"MoviePlayerCounterActor '{message.MovieTitle}' has been watched {_moviePlayCounts[message.MovieTitle]} times");
        }
        private void HandleIncrementMessage(IncrementPlayCountMessage message)
        {
            if (_moviePlayCounts.ContainsKey(message.MovieTitle))
            {
                _moviePlayCounts[message.MovieTitle]++;
            }
            else
            {
                _moviePlayCounts.Add(message.MovieTitle, 1);
            }

            ColorConsole.WriteMagenta(
                "MoviePlayCounterActor '{0}' has been watched {1} times",
                message.MovieTitle, _moviePlayCounts[message.MovieTitle]);
        }
示例#5
0
        private void HandleFetchMessage(FetchStatsMessage message)
        {
            // This simulates the call to the external API.
            _statFetchCount++;


            //  Simulated bugs
            if (_statFetchCount > 3)
            {
                throw new ExternalApiTiemoutException();
            }

            if (message.MatchId == "Federer-Nadal")
            {
                throw new FatalApiException();
            }

            ColorConsole.WriteMagenta(
                $"StatFetchActor '{message.MatchId}' has been fetched {_statFetchCount} times");
        }
示例#6
0
        private void HandleIncrementMessage(IncrementPlayCountMessage message)
        {
            if (_moviePlayCounts.ContainsKey(message.MovieTitle))
            {
                _moviePlayCounts[message.MovieTitle]++;
            }
            else
            {
                _moviePlayCounts.Add(message.MovieTitle, 1);
            }

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

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

            ColorConsole.WriteMagenta("MoviePlayCounterActor '{0}' has been watchend {1} times", message.MovieTitle, _moviePlayCounts[message.MovieTitle]);
        }
        protected override void PostRestart(Exception reason)
        {
            ColorConsole.WriteMagenta($"MoviePlayCounterActor PostRestart because: {reason.Message} ");

            base.PostRestart(reason);
        }
 protected override void PostStop()
 {
     ColorConsole.WriteMagenta("MoviePlayCounterActor PostStop");
 }
 protected override void PreStart()
 {
     ColorConsole.WriteMagenta("MoviePlayCounterActor PreStart");
 }
 protected override void PostRestart(Exception reason)
 {
     ColorConsole.WriteMagenta("MoviePlayCounterActor PostRestart because: " + reason);
 }
示例#11
0
        protected override void PreRestart(Exception reason, object message)
        {
            ColorConsole.WriteMagenta("MoviePlayCounterActor PreRestart because: {0}", reason.Message);

            base.PreRestart(reason, message);
        }
示例#12
0
        protected override void PostRestart(Exception reason)
        {
            ColorConsole.WriteMagenta($"StatFetchActor {_matchId} PostRestart because: {reason.Message} ");

            base.PostRestart(reason);
        }
示例#13
0
 protected override void PostStop()
 {
     ColorConsole.WriteMagenta($"StatFetchActor {_matchId} PostStop");
 }
示例#14
0
 protected override void PreStart()
 {
     ColorConsole.WriteMagenta($"StatFetchActor {_matchId} PreStart");
 }
示例#15
0
 public StatFetchActor(string matchId)
 {
     ColorConsole.WriteMagenta("StatFetchActor constructor executing");
     _matchId = matchId;
     Receive <FetchStatsMessage>(message => HandleFetchMessage(message));
 }