Пример #1
0
        static void Main(string[] args)
        {
            Init();

            var bus = ServiceLocator.Current.GetInstance <IServiceBus>();

            bus.ToSubscribe <AddUserEvent>(new UserEventHandler());

            Enumerable.Range(1, 40000).Select(p =>
            {
                var command = new AddUserCommand()
                {
                    Name = "dsd-", CommandId = Guid.NewGuid()
                };

                bus.SendAsync(command).ToObservable().Subscribe(r =>
                {
                    var changecommand = new ChangeNameCommand()
                    {
                        CommandId = Guid.NewGuid(), Id = "1", Name = "fzf003"
                    };
                    Console.WriteLine(r.Status + "|" + r.Result + "|" + r.CommandId);
                    bus.SendAsync(changecommand);
                });
                return(p);
            }).ToArray();


            Console.WriteLine("Query:{0}", bus.QueryAsync(new GetAll()).Result);

            Console.WriteLine(".....");
            Console.ReadKey();
        }
Пример #2
0
        private void ChangeName(ChangeNameCommand x)
        {
            _name = x.Name;
            var hub = _connectionManager.GetHubContext <GameHub>();

            hub.Clients.Client(x.ConnectionId).updateName(new { Name = x.Name, Approved = true });
        }
Пример #3
0
        private static async Task AskForOperstorsName()
        {
            var names = ChangeNameCommand.GetDefaultNames(Constants.DefaultOperatorName);

            if (File.Exists("Names.txt"))
            {
                names.AddRange(File.ReadAllLines("Names.txt"));
            }
            var alternatives = names.Select(x => new QuestionAnswerAlternative <string> {
                Phrases = new List <string> {
                    x
                }, Response = x
            }).ToList();
            var response = await CompositeRoot.Instance.QuestionAgent.AskAsync("What is your name?", alternatives, 12000);

            if (response.Response == Constants.DefaultBitchName)
            {
                await CompositeRoot.Instance.TalkAgent.SayAsync("Have it your way, I will just call you " + response.Response + " then.");
            }
            else
            {
                await CompositeRoot.Instance.TalkAgent.SayAsync("O my god, you can't be serious. How am I supposed to work with someone named " + response.Response + ".");
            }

            CompositeRoot.Instance.SettingAgent.SetSetting("YourName", response.Response);
        }
Пример #4
0
        private void ChangeName(ChangeNameCommand command)
        {
            if (_connectionIdToName.ContainsKey(command.ConnectionId) && _connectionIdToName[command.ConnectionId] == command.Name)
            {
                return;
            }

            var validationResult = GetValidationResult(command);

            if (validationResult.Approved)
            {
                if (_connectionIdToName.ContainsKey(command.ConnectionId))
                {
                    var name = _connectionIdToName[command.ConnectionId];
                    _names.Remove(name);
                    _connectionIdToName[command.ConnectionId] = command.Name;
                }
                else
                {
                    _connectionIdToName.Add(command.ConnectionId, validationResult.Name);
                }
                _names.Add(validationResult.Name);
                Context.Child("player" + command.ConnectionId).Tell(new ChangeNameCommand(command.ConnectionId, validationResult.Name));
            }
            else
            {
                Context.Child("player" + command.ConnectionId).Tell(new NameRejectedMessage(command.ConnectionId, validationResult.Name, validationResult.Reason));
            }
        }
Пример #5
0
        private async Task ExecuteMethodReturnsUserIsNull()
        {
            //Arrange
            var mocks = GetMocks();
            var users = GetUsers().AsQueryable().BuildMock();

            SetSettingsInDb(mocks.userMock, users);
            mocks.dbMock.Setup(m => m.Users).Returns(mocks.userMock.Object);

            var changeName = new ChangeNameCommand(mocks.dbMock.Object);
            var message    = new Message()
            {
                Chat = new Chat()
                {
                    Id = 2
                },
                Text = "/changeName@Test"
            };

            var client = new TelegramBotClient(AppConfig.Token);

            //Act
            var result = await changeName.Execute(message, client);

            //Assert
            Assert.NotNull(result);
            Assert.False(result?.isSuccessed);
            Assert.Equal("User is null", result?.Message);
        }
Пример #6
0
        public Task <ICommandResult> ExecuteAsync(ChangeNameCommand command)
        {
            var user = Repository.UserStore.FirstOrDefault(p => p.Id == command.Id);

            user.ChangeName(command.Name);
            PublishEvent(user, _bus);
            return(Task.FromResult <ICommandResult>(new CommandResult()));
        }
Пример #7
0
        static void Main(string[] args)
        {
            var config = new ConfigurationBuilder()
                         .SetBasePath(Directory.GetCurrentDirectory())
                         .AddJsonFile("config.json")
                         .Build();

            var serviceProvider = new ServiceCollection()
                                  .AddTransient <EventPublisher, EventPublisher>()
                                  .AddTransient <IEventStore>(s => new SqlEventStore(config["connectionstring"], s.GetService <EventPublisher>()))
                                  .AddTransient <StateConnector, StateConnector>()
                                  .AddTransient <ICommandHandler <CreateNewPersonCommand>, PersonCommandHandler>()
                                  .AddTransient <ICommandHandler <ChangeAgeCommand>, PersonCommandHandler>()
                                  .AddTransient <ICommandHandler <ChangeNameCommand>, PersonCommandHandler>()
                                  .BuildServiceProvider();

            Guid id = Guid.NewGuid();

            CreateNewPersonCommand newPersonCommand = new CreateNewPersonCommand
            {
                AggregateRootId = id,
                Age             = 28,
                Name            = "John Doe"
            };

            ChangeNameCommand nameToJane = new ChangeNameCommand
            {
                AggregateRootId = id,
                Name            = "Jane Doe"
            };

            ChangeAgeCommand ageTo29Command = new ChangeAgeCommand
            {
                AggregateRootId = id,
                Age             = 29
            };

            ChangeAgeCommand ageTo30Command = new ChangeAgeCommand
            {
                AggregateRootId = id,
                Age             = 30
            };

            CommandHandler commandHandler = new CommandHandler(serviceProvider);

            commandHandler.Handle(newPersonCommand);
            commandHandler.Handle(nameToJane);
            commandHandler.Handle(ageTo29Command);
            commandHandler.Handle(ageTo30Command);

            StateConnector connector   = serviceProvider.GetService <StateConnector>();
            var            foundPerson = connector.Get <Person>(id);

            Console.WriteLine(foundPerson.ToString());
        }
        public void Handle(ChangeNameCommand command)
        {
            var person = _stateConnector.Get <Person>(command.AggregateRootId);

            if (person != null)
            {
                _stateConnector.Save(new NameChangedEvent {
                    AggregateRootId = command.AggregateRootId, Name = command.Name
                });
            }
        }
        public EventCommandChangeName(ChangeNameCommand refCommand, EventPage refPage, FrmEvent editor)
        {
            InitializeComponent();
            mMyCommand   = refCommand;
            mCurrentPage = refPage;
            mEventEditor = editor;

            cmbVariable.Items.Clear();
            cmbVariable.Items.AddRange(PlayerVariableBase.Names);

            InitLocalization();
        }
Пример #10
0
        public async Task <IActionResult> ChangeName([FromForm] ChangeNameCommand command)
        {
            var result = await _handler.Handler(command);

            if (result.Succeeded)
            {
                result.Message = _localizer["CHANGE_NAME_SUCCESS"].Value;
                return(Ok(result));
            }
            result.Message = _localizer["CHANGE_NAME_FAILED"].Value;
            return(BadRequest(result));
        }
Пример #11
0
        private void ContaintMethodReturnsTrue()
        {
            //Arrange
            var dbMock     = new Mock <TelegramBotContext>();
            var changeName = new ChangeNameCommand(dbMock.Object);
            var message    = new Message()
            {
                Text = "/changeName"
            };

            //Act
            var result = changeName.IsContains(message);

            //Assert
            Assert.True(result);
        }
Пример #12
0
        private void ContaintMethodReturnsFalse()
        {
            //Arrange
            var dbMock     = new Mock <TelegramBotContext>();
            var changeName = new ChangeNameCommand(dbMock.Object);
            var message    = new Message()
            {
                Text = Guid.NewGuid().ToString()
            };

            //Act
            var result = changeName.IsContains(message);

            //Assert
            Assert.False(result);
        }
Пример #13
0
        private NameValidationResult GetValidationResult(ChangeNameCommand command)
        {
            var name = command.Name.Trim();

            if (_names.Contains(name))
            {
                return(new NameValidationResult(false, name, "Name is already in use."));
            }
            else if (name.Length > 20)
            {
                return(new NameValidationResult(false, name, "Name is too long"));
            }
            else if (name.Length < 1)
            {
                return(new NameValidationResult(false, name, "Name cannot be empty."));
            }
            else
            {
                return(new NameValidationResult(true, name));
            }
        }
Пример #14
0
        public async Task <ICommandResult> Handler(ChangeNameCommand command)
        {
            try
            {
                User user = await _service.GetByEmailAsync(command.Email);

                if (user == null)
                {
                    return(new CommandResult(false, Messages.USER_NOT_FOUND, null));
                }

                IdentityResult result = await _service.ChangeNameAsync(user, command.FullName);

                if (result.Succeeded)
                {
                    return(new CommandResult(true, Messages.CHANGE_NAME_SUCCESS, result));
                }
                return(new CommandResult(false, Messages.CHANGE_NAME_FAILED, result.Errors));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Пример #15
0
    public void DoSomething()
    {
        var command = new ChangeNameCommand(1, "asdf");

        invoker.Invoke(command);
    }