public void Observe(string connectionId, Common.Dto.Identity registrar, Common.Dto.Identity entity, Common.Dto.Identity source, Common.Dto.Identity observable) { string registrationKey = Registration.Key.For(connectionId, registrar, entity); Registration.IInstance registration; if (_registrations.TryGetValue(registrationKey, out registration)) { _messagingEndpoint.Observe(entity.AsComponent(), source.AsComponent(), observable.AsComponent()); } }
public IInstance For(string connectionId, Common.Dto.Identity registrar, Common.Dto.Entity entity, Action<string, Common.Dto.Identity, Common.Dto.Identity, Common.Dto.Message> processor) { return new Instance(connectionId, registrar.AsComponent(), entity.AsComponent(), message => processor(connectionId, registrar, entity.Identity, message.AsDynamicDto())); }