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) }; }
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) }); }
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) }); }
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>()); }