コード例 #1
0
        public ApplicationEvent[] Handle(DeleteRelay command)
        {
            var network = _networkRepository.Read(command.NetworkId);

            network.RemoveRelay(command.RelayId);

            _networkRepository.Update(network);

            return new ApplicationEvent[]
            {
                new RelayDeleted(command.NetworkId, command.RelayId)
            };
        }
コード例 #2
0
        public ApplicationEvent[] Handle(ChangeName command)
        {
            var(networkIdentifier, name) = command;

            var network = _repository.Read(networkIdentifier);

            network.Name = name;

            _repository.Update(network);

            return(new ApplicationEvent[]
            {
                new NameChanged(networkIdentifier, name)
            });
        }
コード例 #3
0
        public ApplicationEvent[] Handle(CreateRelay command)
        {
            var network = _networkRepository.Read(command.NetworkId);

            var relayId = Guid.NewGuid();

            network.CreateRelay(relayId);

            _networkRepository.Update(network);

            return(new ApplicationEvent[]
            {
                new RelayCreated(command.NetworkId, relayId)
            });
        }
コード例 #4
0
        public ApplicationEvent[] Handle(UpdateRelay command)
        {
            var(networkId, relayId, x, y) = command;

            var network = _repository.Read(networkId);

            if (x != null)
            {
                network.UpdateRelayX(relayId, x.Value);
            }

            if (y != null)
            {
                network.UpdateRelayY(relayId, y.Value);
            }

            _repository.Update(network);

            return(Array.Empty <ApplicationEvent>());
        }