Exemple #1
0
        static void Main(string[] args)
        {
            Console.WriteLine($"Aplicação iniciada com sucesso {DateTime.Now}!");

            var container = DependencyInjectionProxy.Container;
            var system    = ActorSystem.Create("ActorSystemMain");

            container.AddActorsService(system);
            container.AddConsoleAppServices();

            var commands = new List <CreateNewUserCommand>();

            for (int i = 1; i <= 3; i++)
            {
                commands.Add(new CreateNewUserCommand {
                    Name = $"Usuario {i.ToString("000")}", Email = $"emaildousuario{i.ToString("000")}@hotmail.com", Password = "******"
                });
            }

            var actor = system.ActorOf(system.DI().Props <MediatRActor>(), nameof(MediatRActor));

            foreach (var cmd in commands)
            {
                var actorMessage = new MediatRActorMessage(container.Resolve <IMediator>());
                actorMessage.ConfigureMediator(config => { config.AddCommand(cmd); });

                actor.Tell(actorMessage);
            }

            Console.WriteLine($"10 usuários criados com sucesso {DateTime.Now}!");

            Parallel.ForEach(commands, cmd =>
            {
                var actorMessage = new MediatRActorMessage(container.Resolve <IMediator>());
                actorMessage.ConfigureMediator(config => { config.AddCommand(cmd); });

                actor.Tell(actorMessage);
            });

            Console.WriteLine($"10 usuários criados com sucesso {DateTime.Now}!");

            Parallel.ForEach(commands, cmd =>
            {
                var actorMessage = new MediatRActorMessage(container.Resolve <IMediator>());
                actorMessage.ConfigureMediator(x => { x.AddCommand(cmd); });

                actor.Tell(actorMessage);
            });

            Console.WriteLine($"10 usuários criados com sucesso {DateTime.Now}!");

            Console.WriteLine($"Aplicação executada com sucesso {DateTime.Now}!");
            Console.Read();
        }
Exemple #2
0
        public async void MediatRActorMessageHadler(MediatRActorMessage message)
        {
            try
            {
                var response = await message.ExecuteCommands();

                if (response is CreateNewUserResponse)
                {
                    var createNewUserResponse = (CreateNewUserResponse)response;
                    Console.WriteLine($"{createNewUserResponse.UserName} - {DateTime.Now}");
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }