public async Task Handle_EntityDefinitionModifiedEvent_UpdatesEntity() { // arrange var initialProject = this.CreateProject(); var initialEntity = initialProject.Entities.First(); var message = new EntityDefinitionModified { Id = initialProject.Id, EntityId = initialEntity.Id, Version = 2, TimeStamp = DateTimeOffset.Now, Name = "New Entity Name", Description = "new Entity Description" }; var target = new ReadModelEventHandler(this.context.DbContext, this.context.Mapper); // act await target.Handle(message); // assert var entity = this.context.DbContext.Entities.FirstOrDefault(p => p.Id == message.EntityId); Assert.NotNull(entity); Assert.Equal(message.EntityId, entity.Id); Assert.Equal(message.Id, entity.ProjectId); Assert.Equal(message.Name, entity.Name); Assert.Equal(message.Description, entity.Description); }
public async Task Handle(EntityDefinitionModified message) { message.ArgumentNotNull(nameof(message)); await this.UpdateEntityAsync <EntityDefinitionModified, ConfigurationEntity>(message, m => m.EntityId); await this.dbContext.SaveChangesAsync(); }
public void ModifyEntityDefinition(Guid entityId, string name, string description) { name.ArgumentNotNullOrEmpty(nameof(name)); description.ArgumentNotNull(nameof(description)); var entity = this.GetEntityDefinition(entityId); var e = new EntityDefinitionModified { Id = this.Id, EntityId = entity.Id, Name = name, Description = description, }; this.ApplyChange(e); }
private void OnEntityDefinitionModified(EntityDefinitionModified e) { this.Name = e.Name; this.Description = e.Description; }
private void Apply(EntityDefinitionModified e) { this.eventAggregator.Publish(e); }