public async Task Handle_EntityDefinitionAddedEvent_UpdatesProjectVersionTracking() { // arrange var initialProject = this.CreateProject(); var message = new EntityDefinitionAdded { Id = initialProject.Id, EntityId = Guid.NewGuid(), 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 project = this.context.DbContext.Projects.First(p => p.Id == message.Id); Assert.Equal(message.Id, project.Id); Assert.Equal(message.Version, project.Version); Assert.Equal(message.TimeStamp, project.TimeStamp); }
public async Task Handle_EntityDefinitionAddedEvent_CreatesEntity() { // arrange var initialProject = this.CreateProject(); var message = new EntityDefinitionAdded { Id = initialProject.Id, EntityId = Guid.NewGuid(), 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(EntityDefinitionAdded message) { message.ArgumentNotNull(nameof(message)); await this.AddEntityAsync <EntityDefinitionAdded, ConfigurationEntity>(message); await this.dbContext.SaveChangesAsync(); }
public void AddEntityDefinition(string name, string description) { name.ArgumentNotNullOrEmpty(nameof(name)); description.ArgumentNotNull(nameof(description)); var e = new EntityDefinitionAdded { Id = this.Id, EntityId = Guid.NewGuid(), Name = name, Description = description, }; this.ApplyChange(e); }
private void Apply(EntityDefinitionAdded e) { this.eventAggregator.Publish(e); }
private void OnEntityDefinitionAdded(EntityDefinitionAdded e) { var entity = new EntityDefinition(this.EventAggregator, e.EntityId, e.Name, e.Description); this.entities.Add(entity); }
private void OnEntityDefinitionAdded(EntityDefinitionAdded e) { this.entities.Add(e.EntityId, new ConfigurationEntity(this.EventAggregator, e.EntityId, this.schema)); }