Ejemplo n.º 1
0
        private void StartPlayingMovie(PlayMovieMessage message)
        {
            _currentlyPlaying = message;

            // Context.ActorSelection(ActorPaths.MoviePlayCounterActor.Path).Tell(new IncrementMoviePlayCountMessage(message.MovieTitle, 1));
            var actorRef = ActorSystemHelper.GetActorRefUsingResolveOne(ActorPaths.MoviePlayCounterActor.Path);

            if (actorRef != null)
            {
                ActorSystemHelper.SendAsynchronousMessage(actorRef, new IncrementMoviePlayCountMessage(message.MovieTitle, 1));
            }

            Become(PlayingMovieBehavior);
        }
Ejemplo n.º 2
0
        override protected void OnReceive(object message)
        {
            IActorRef actorRef;

            switch (message)
            {
            case PlayMovieMessage pmm:
                actorRef = CreateOrGetChildActor(pmm.UserId);
                ActorSystemHelper.SendAsynchronousMessage(actorRef, message);
                break;

            case StopMovieMessage smm:
                actorRef = CreateOrGetChildActor(smm.UserId);
                ActorSystemHelper.SendAsynchronousMessage(actorRef, message);
                break;

            default:
                ColoredConsole.WriteReceivedMessage($"    [{this.ActorName}] OnReceive(): ERROR: Unknown '{message.GetType().ToString()}' type received!");
                Unhandled(message);
                break;
            }
        }
Ejemplo n.º 3
0
 public static int StopPlayingMovie(StopMovieMessage message)
 {
     ActorSystemHelper.SendAsynchronousMessage(GetUserCoordinatorActorRef(), message);
     return(0);
 }