private void UpdateBestelling(Bestelling bestelling)
        {
            try
            {
                _bestellingDataMapper.Update(bestelling);
            }
            catch (Exception ex)
            {
                _logger.LogError("DB exception occured with factuurnummer: {0}", bestelling.Factuurnummer);
                _logger.LogDebug(
                    "DB exception occured while updating with factuurnummer {}, it threw exception: {}. Inner exception: {}",
                    bestelling.Factuurnummer, ex.Message, ex.InnerException?.Message
                    );

                throw new DatabaseException("Something unexpected happend while updating the database");
            }
        }
        private Task VerlaagVoorraad(Bestelling bestelling)
        {
            var tasks = new List <Task>();

            foreach (var regel in bestelling.BestelRegels)
            {
                var body = new HaalVoorraadUitMagazijnCommand
                {
                    Artikelnummer = (int)regel.Artikelnummer,
                    Aantal        = regel.Aantal
                };

                var request = new RequestCommandMessage(
                    message: JsonConvert.SerializeObject(body),
                    type: NameConstants.MagazijnServiceHaalVoorraadUitMagazijnCommand,
                    correlationId: "",
                    routingKey: NameConstants.MagazijnServiceCommandQueue
                    );

                tasks.Add(_commandSender.SendCommandAsync(request));
            }

            return(Task.WhenAll(tasks));
        }