private void OnPatronDeleted(PatronDeleted evnt) { ModifiedBy = evnt.GeneratedBy; ModifiedOn = evnt.GeneratedOn; DeletedBy = evnt.GeneratedBy; DeletedOn = evnt.GeneratedOn; }
public void User_Can_Delete_a_Patron() { DeletePatron command = new DeletePatron("Delete User", TestHelper.Later) { PatronId = Guid.NewGuid() }; var eventBus = new Mock <IEventBus>(); PatronDeleted publishedEvent = null; eventBus.Setup(bus => bus.Publish(It.IsAny <PatronDeleted>())) .Callback <PatronDeleted>(evnt => publishedEvent = evnt) .Verifiable(); ICommandHandler <DeletePatron> handler = new PatronCommandHandler(eventBus.Object); handler.Handle(command); Assert.NotEqual(Guid.Empty, command.Id); eventBus.VerifyPublish <PatronDeleted>(Times.Once()); Assert.NotNull(publishedEvent); Assert.Equal(command.Id, publishedEvent.SourceId); Assert.Equal(command.PatronId, publishedEvent.PatronId); Assert.NotEqual(command.Id, publishedEvent.Id); Assert.NotEqual(command.Id, publishedEvent.PatronId); Assert.NotEqual(Guid.Empty, publishedEvent.PatronId); Assert.NotEqual(Guid.Empty, publishedEvent.Id); }
public void Handle(DeletePatron command) { var evnt = new PatronDeleted(command.GeneratedBy, command.GeneratedOn, command.Id) { PatronId = command.PatronId }; eventBus.Publish(evnt); }
public void Handle(PatronDeleted evnt) { using var context = contextFactory.Invoke(); var patron = context.Patrons.Find(evnt.PatronId); if (patron != null) { patron.Update(evnt); context.SaveChanges(); } }