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();
        }
Example #3
0
        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;
 }
Example #5
0
 private void Apply(EntityDefinitionModified e)
 {
     this.eventAggregator.Publish(e);
 }