private static bool Handle(DeelnemerGeregistreerd deelnemerGeregistreerd) { DeelnemerRepository.RegistreerDeelnemer(deelnemerGeregistreerd); Console.WriteLine("Deelnemer {0} geregistreerd", deelnemerGeregistreerd.Naam); return true; }
public static void RegistreerDeelnemer(DeelnemerGeregistreerd deelnemerGeregistreerd) { Deelnemer deelnemer = new Deelnemer { Id = deelnemerGeregistreerd.Id, Nummer = deelnemerGeregistreerd.Nummer, Naam = deelnemerGeregistreerd.Naam, EmailAdres = deelnemerGeregistreerd.EmailAdres, Straat = deelnemerGeregistreerd.Straat, Huisnummer = deelnemerGeregistreerd.Huisnummer, HuisnummerToevoeging = deelnemerGeregistreerd.HuisnummerToevoeging, Postcode = deelnemerGeregistreerd.Postcode, Plaats = deelnemerGeregistreerd.Plaats }; RegistreerDeelnemer(deelnemer); }
private bool HandleEvent(DeelnemerGeregistreerd e) { using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DeelnemerBeheer"].ConnectionString)) { string commandText = @" INSERT INTO [dbo].[Deelnemer] ([Nummer], [Version], [Naam], [EmailAdres], [WoonAdresStraat], [WoonAdresHuisnummer], [WoonAdresHuisnummerToevoeging], [WoonAdresPostcode], [WoonAdresPlaats], [Id]) VALUES (@Nummer, @Version, @Naam, @EmailAdres, @Straat, @Huisnummer, @HuisnummerToevoeging, @Postcode, @Plaats, @Id)"; CommandDefinition cmd = new CommandDefinition(commandText, e); connection.Execute(cmd); } return true; }
private bool Handle(DeelnemerGeregistreerd e) { // zoek de bijbehorende instantie van het RegistreerAanmelding proces ProcesState state = RaadpleegProcesState(e.CorrelationId); if (state == null) { return false; } // als de deelnemer al bekend is, beschouw het event als afgehandeld (idempotentie) if (!string.IsNullOrEmpty(state.DeelnemerNummer)) { return true; } // werk het deelnemernummer bij state.DeelnemerNummer = e.Nummer; UpdateProcesState(state); // controleer aanwezigheid werkgever // TODO try { // registreer de werkgever WerkgeverGegevens gegevens = state.InitierendCommand.WerkgeverGegevens; RegistreerWerkgeverCommand registreerWerkgeverCommand = new RegistreerWerkgeverCommand { CorrelationId = e.CorrelationId, Id = gegevens.Id, Version = 0, BedrijfsNaam = gegevens.BedrijfsNaam, NaamContactPersoon = gegevens.NaamContactPersoon, 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:24275"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = client.PostAsJsonAsync("/api/werkgever", registreerWerkgeverCommand).Result; } } catch (Exception ex) { state.Status = "Fout"; state.Foutmelding = ex.ToString(); UpdateProcesState(state); return false; } return true; }