From e913fdba23a6cc46133977d95af5ebeb9bb3aede Mon Sep 17 00:00:00 2001 From: Koen Metsu Date: Tue, 10 Mar 2020 09:08:19 +0100 Subject: [PATCH] feat: add kbo number as prop on ES projections --- .../Organisations/Organisation.cs | 14 ++++++++++++++ .../Organisations/OrganisationDocument.cs | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/src/OrganisationRegistry.ElasticSearch.Projections/Organisations/Organisation.cs b/src/OrganisationRegistry.ElasticSearch.Projections/Organisations/Organisation.cs index afb8ee471..3cc344221 100644 --- a/src/OrganisationRegistry.ElasticSearch.Projections/Organisations/Organisation.cs +++ b/src/OrganisationRegistry.ElasticSearch.Projections/Organisations/Organisation.cs @@ -23,6 +23,7 @@ public class Organisation : IEventHandler, IEventHandler, IEventHandler, + IEventHandler, IEventHandler { private readonly Elastic _elastic; @@ -72,6 +73,7 @@ public void Handle(DbConnection dbConnection, DbTransaction dbTransaction, IEnve ShortName = message.Body.ShortName, Validity = new Period(message.Body.ValidFrom, message.Body.ValidTo), Description = message.Body.Description, + KboNumber = message.Body.KboNumber, ShowOnVlaamseOverheidSites = message.Body.ShowOnVlaamseOverheidSites, Purposes = message.Body.Purposes.Select(x => new OrganisationDocument.Purpose(x.Id, x.Name)).ToList(), }; @@ -109,6 +111,18 @@ public void Handle(DbConnection dbConnection, DbTransaction dbTransaction, IEnve _elastic.Try(() => _elastic.WriteClient.IndexDocument(organisationDocument).ThrowOnFailure()); } + public void Handle(DbConnection dbConnection, DbTransaction dbTransaction, IEnvelope message) + { + var organisationDocument = _elastic.TryGet(() => _elastic.WriteClient.Get(message.Body.OrganisationId).ThrowOnFailure().Source); + + organisationDocument.ChangeId = message.Number; + organisationDocument.ChangeTime = message.Timestamp; + + organisationDocument.KboNumber = message.Body.KboNumber; + + _elastic.Try(() => _elastic.WriteClient.IndexDocument(organisationDocument).ThrowOnFailure()); + } + public void Handle(DbConnection dbConnection, DbTransaction dbTransaction, IEnvelope message) { // Update all which use this type, and put the changeId on them too! diff --git a/src/OrganisationRegistry.ElasticSearch/Organisations/OrganisationDocument.cs b/src/OrganisationRegistry.ElasticSearch/Organisations/OrganisationDocument.cs index 5f5118333..5cccecaa0 100644 --- a/src/OrganisationRegistry.ElasticSearch/Organisations/OrganisationDocument.cs +++ b/src/OrganisationRegistry.ElasticSearch/Organisations/OrganisationDocument.cs @@ -18,6 +18,7 @@ public class OrganisationDocument : IDocument public string ShortName { get; set; } public Period Validity { get; set; } public string Description { get; set; } + public string KboNumber { get; set; } public bool? ShowOnVlaamseOverheidSites { get; set; } public OrganisationDocument() { } @@ -53,6 +54,9 @@ public static TypeMappingDescriptor Mapping(TypeMappingDes .Name(p => p.Description) .Analyzer("dutch")) + .Keyword(k => k + .Name(p => p.KboNumber)) + .Boolean(b => b .Name(p => p.ShowOnVlaamseOverheidSites))