public void AsignarNuevoDestinatario( ) { IEventAggregatorReactive domainDispacher = ContainerFactory.Resolve <IEventAggregatorReactive>(); using (domainDispacher.GetEvent <DestinatarioAsignado>().Subscribe(c => EventoEjecutadoSpy(c))) { Envio sut = new Envio(Guid.NewGuid()); EnvioPersona nuevaPersona = new EnvioPersona("Nombre", "Apellido1", "Apellido2"); sut.AsignarDestinatario(nuevaPersona); sut.Destinatario.ShouldBe(nuevaPersona); } eventoEjecutado.ShouldBe(true); }
public void AsignarDestinatario(EnvioPersona nuevoDestinatario) { if (!IsInProgress) { throw new InvalidOperationException(); } if (Destinatario == nuevoDestinatario) { return; } Destinatario = nuevoDestinatario; IEventAggregatorReactive eventAggregator = ContainerFactory.Resolve <IEventAggregatorReactive>(); eventAggregator.Raise <DestinatarioAsignado>(new DestinatarioAsignado(nuevoDestinatario.Id, nuevoDestinatario.Nombre, nuevoDestinatario.Apellido1, nuevoDestinatario.Apellido2, Id)); }