Esempio n. 1
0
        public Domain.State GetDomainState(Domain.Player player1, Domain.Player player2, bool cantouch)
        {
            var domainstate = new Domain.State(player1, player2, cantouch, P2Turn);


            return(domainstate);
        }
        private async Task <string> Process(global::Shared.CommandDto command)
        {
            _logger.LogInformation("Received {Type}", command.Type);

            try
            {
                var result = Domain.processCommand(_state, command);

                _logger.LogInformation("Processed ok: {IsOk}", result.IsOk);

                if (result.IsOk)
                {
                    var(newState, eventDto) = result.ResultValue;
                    await _eventRepository.Save(eventDto);

                    await _stateRepository.Set(newState);

                    _state = newState;
                    _logger.LogInformation("Updated state");
                }

                return(result.IsOk ? result.ResultValue.Item2.Id.ToString() : result.ErrorValue);
            }
            catch (Exception e)
            {
                _logger.LogError(e.ToString());
                return(e.Message);
            }
        }
Esempio n. 3
0
        public void Handle(AddStateCommand command)
        {
            var repository = this.contextFactory();


            var state = new Domain.State(command.StateId, command.Name, command.Code, command.CountryRegionId,
                                         command.Coordinates, command.Active);

            repository.Save(state);
        }
Esempio n. 4
0
 public static Domain.Entry ConvertToDomain(this EntryModel entryModel, Domain.State state)
 {
     return(new Domain.Entry()
     {
         State = state,
         Id = entryModel.Id,
         Name = entryModel.Name,
         PhoneNumber = entryModel.PhoneNumber,
         PhonebookId = entryModel.PhonebookId
     });
 }
Esempio n. 5
0
        //Misc

        private void UpdateUI(object sender, Domain.State state)
        {
            if (state.filter == Domain.TodosFilter.All)
            {
                Todos = state.Todos.ToList();
            }
            else
            {
                Todos = state.Todos.Where(todo => todo.Complete == false).ToList();
            }
        }
 public CommandService(
     CommandPostbox postbox,
     IEventRepository repository,
     IStateRepository stateRepository,
     ILogger <CommandService> logger)
 {
     _postbox         = postbox ?? throw new ArgumentNullException(nameof(postbox));
     _eventRepository = repository ?? throw new ArgumentNullException(nameof(repository));
     _stateRepository = stateRepository ?? throw new ArgumentNullException(nameof(stateRepository));
     _logger          = logger ?? throw new ArgumentNullException(nameof(logger));
     _state           = Domain.StateModule.empty;
 }
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            _logger.LogInformation("Refreshing state");

            await foreach (var eventDto in _eventRepository.ReadFrom(0, stoppingToken))
            {
                _state = Domain.StateModule.reducer(_state, eventDto);
            }

            _logger.LogInformation("State refresh complete");

            await foreach (var(command, reply) in _postbox.Read(stoppingToken))
            {
                var result = await Process(command);

                reply(result);
            }
        }
 public Task Set(Domain.State state)
 {
     _state = state;
     _logger.LogInformation(_state.ToString());
     return(Task.CompletedTask);
 }
Esempio n. 9
0
 public static Domain.Phonebook ConvertToDomain(this PhonebookModel phonebookModel, Domain.State state)
 {
     return(new Domain.Phonebook()
     {
         Id = phonebookModel.Id,
         Name = phonebookModel.Name,
         State = state
     });
 }