public override async Task <ActionResult <ZakelijkGerechtigde> > CreerZakelijkGerechtigde(string kadastraalOnroerendeZaakIdentificatie, [FromBody] ZakelijkGerechtigdeNieuw body) { var zakelijkGerechtigde = mapper.Map <Domain.Entities.ZakelijkGerechtigde>(body); var id = long.Parse(kadastraalOnroerendeZaakIdentificatie); var koz = await repository.GetAsync(id); if (koz == null) { return(NotFound($"Onbekend kadastraalOnroerendeZaakIdentificatie: {kadastraalOnroerendeZaakIdentificatie}")); } koz.CreerZakelijkGerechtigde(zakelijkGerechtigde); await repository.SaveChangesAsync(); var laatsteEvent = await laatsteEventsRepository.GetAsync(id); var evt = eventFactory.CreateFrom(koz, laatsteEvent); var laatsteEventId = await producer.ProduceAsync("kadastraalonroerendezaken", evt); if (!string.IsNullOrWhiteSpace(laatsteEventId)) { laatsteEvent.EventIdentificatie = laatsteEventId; await repository.SaveChangesAsync(); } return(Ok(mapper.Map <ZakelijkGerechtigde>(zakelijkGerechtigde))); }
public override async Task <ActionResult <KadastraalOnroerendeZaak> > CreerKadastraalOnroerendeZaak([FromBody] KadastraalOnroerendeZaakMetZakelijkGerechtigdenNieuw body) { var entity = mapper.Map <Domain.Entities.KadastraalOnroerendeZaak>(body); repository.Add(entity); var evt = eventFactory.CreateFrom(entity); var laatsteEventId = await producer.ProduceAsync("kadastraalonroerendezaken", evt); if (!string.IsNullOrWhiteSpace(laatsteEventId)) { laatsteEventsRepository.Add(new Domain.LaatsteEvent { KadastraalOnroerendeZaakIdentificatie = entity.Id, EventIdentificatie = laatsteEventId }); } return(Ok(mapper.Map <KadastraalOnroerendeZaak>(entity))); }