public void RegistreerAanmelding(RegistreerAanmeldingCommand command)
        {
            // registreer een nieuwe instantie van het RegistreerAanmelding proces
            ProcesState state = new ProcesState
            {
                CorrelationId = command.CorrelationId,
                InitierendCommand = command,
                DeelnemerNummer = null,
                WerkgeverNummer = null,
                StartTijdstip = DateTime.Now,
                Status = "Actief"
            };
            RegistreerProcesStart(state);

            // controleer aanwezigheid deelnemer
            // TODO

            try
            {
                // registreer de werknemer als deelnemer
                WerknemerGegevens gegevens = command.WerknemerGegevens;
                RegistreerDeelnemerCommand registreerDeelnemerCommand = new RegistreerDeelnemerCommand
                {
                    CorrelationId = command.CorrelationId,
                    Id = gegevens.Id,
                    Version = 0,
                    Naam = gegevens.Naam,
                    EmailAdres = gegevens.EmailAdres,
                    Straat = gegevens.Straat,
                    Huisnummer = gegevens.Huisnummer,
                    HuisnummerToevoeging = gegevens.HuisnummerToevoeging,
                    Postcode = gegevens.Postcode,
                    Plaats = gegevens.Plaats
                };
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri("http://localhost:29713");
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    HttpResponseMessage response = client.PostAsJsonAsync("/api/deelnemer", registreerDeelnemerCommand).Result;
                }
            }
            catch (Exception ex)
            {
                state.Status = "Fout";
                state.Foutmelding = ex.ToString();
                UpdateProcesState(state);
            }
        }
        public static RegistreerAanmeldingCommand MaakRegistreerAanmeldingCommand()
        {
            Random rnd = new Random();

            string voornaam = Voornamen[rnd.Next(0, Voornamen.Length - 1)];
            string achternaam = Achternamen[rnd.Next(0, Achternamen.Length - 1)];
            string voornaamContactpersoon = Voornamen[rnd.Next(0, Voornamen.Length - 1)];
            string achternaamContactpersoon = Achternamen[rnd.Next(0, Achternamen.Length - 1)];

            RegistreerAanmeldingCommand command = new RegistreerAanmeldingCommand
            {
                CorrelationId = Guid.NewGuid(),
                IngangsDatum = DateTime.Now,
                Version = 0,
                WerknemerGegevens = new WerknemerGegevens
                {
                    Id = Guid.NewGuid(),
                    Naam = string.Format("{0} {1}", voornaam, achternaam),
                    EmailAdres = string.Format("{0}.{1}@{2}",
                        voornaam.ToLower(), achternaam.ToLower().Replace(" ", ""),
                        Domeinnamen[rnd.Next(0, Domeinnamen.Length - 1)]),
                    Straat = Straatnamen[rnd.Next(0, Straatnamen.Length - 1)],
                    Huisnummer = rnd.Next(10, 250),
                    HuisnummerToevoeging = null,
                    Postcode = string.Format("{0} {1}{2}", rnd.Next(1000, 9999), letters[rnd.Next(25)], letters[rnd.Next(25)]),
                    Plaats = Plaatsnamen[rnd.Next(0, Plaatsnamen.Length - 1)]
                },
                WerkgeverGegevens = new WerkgeverGegevens
                {
                    Id = Guid.NewGuid(),
                    BedrijfsNaam = Bedrijfsnamen[rnd.Next(0, Bedrijfsnamen.Length - 1)],
                    NaamContactPersoon = string.Format("{0} {1}", voornaamContactpersoon, achternaamContactpersoon),
                    EmailAdres = string.Format("{0}.{1}@{2}",
                        voornaamContactpersoon.ToLower(), achternaamContactpersoon.ToLower().Replace(" ", ""),
                        Domeinnamen[rnd.Next(0, Domeinnamen.Length - 1)]),
                    Straat = Straatnamen[rnd.Next(0, Straatnamen.Length - 1)],
                    Huisnummer = rnd.Next(10, 250),
                    HuisnummerToevoeging = null,
                    Postcode = string.Format("{0} {1}{2}", rnd.Next(1000, 9999), letters[rnd.Next(25)], letters[rnd.Next(25)]),
                    Plaats = Plaatsnamen[rnd.Next(0, Plaatsnamen.Length - 1)]
                }
            };

            return command;
        }