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)));
        }
Example #2
0
        public override async Task <IActionResult> VervangKadastraalOnroerendeZaak(string kadastraalOnroerendeZaakIdentificatie, [FromBody] KadastraalOnroerendeZaakNieuw body)
        {
            logger.LogInformation($"{kadastraalOnroerendeZaakIdentificatie}");

            var data = mapper.Map <Domain.Entities.KadastraalOnroerendeZaak>(body);
            var id   = long.Parse(kadastraalOnroerendeZaakIdentificatie);

            var koz = await repository.GetAsync(id);

            if (koz == null)
            {
                return(NotFound($"Onbekend kadastraalOnroerendeZaakIdentificatie: {kadastraalOnroerendeZaakIdentificatie}"));
            }

            koz.Update(data);

            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());
        }