public HttpResponseMessage Create([FromBody] RegistreerDeelnemerCommand command) { var deelnemer = new PensioenSysteem.Domain.Deelnemer.Deelnemer(); deelnemer.Registreer(command); _repo.Save(deelnemer, -1); return(new HttpResponseMessage(HttpStatusCode.Created)); }
public HttpResponseMessage Create([FromBody] RegistreerDeelnemerCommand command) { var deelnemer = new PensioenSysteem.Domain.Deelnemer.Deelnemer(); deelnemer.Registreer(command); var repo = new EventSourcedAggregateRepository <PensioenSysteem.Domain.Deelnemer.Deelnemer>( new FileEventStore(new RabbitMQEventPublisher())); repo.Save(deelnemer, -1); return(new HttpResponseMessage(HttpStatusCode.Created)); }
public void RegistreerAanmelding(RegistreerAanmeldingCommand command) { // registreer een nieuwe instantie van het RegistreerAanmelding proces ProcessState state = new ProcessState { Id = command.CorrelationId, InitierendCommand = command, DeelnemerNummer = null, WerkgeverNummer = null, StartTijdstip = DateTime.Now, Status = "Actief" }; _repository.RegistreerProcessStart(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(); _repository.UpdateProcessState(state); } }
public void Registreer(RegistreerDeelnemerCommand command) { ApplyChange(new DeelnemerGeregistreerd { RoutingKey = "Deelnemer.Geregistreerd", CorrelationId = command.CorrelationId, Id = command.Id, Nummer = GenereerDeelnemerNummer(), Naam = command.Naam, EmailAdres = command.EmailAdres, Straat = command.Straat, Huisnummer = command.Huisnummer, HuisnummerToevoeging = command.HuisnummerToevoeging, Postcode = command.Postcode, Plaats = command.Plaats }); }