public AddressStreetNameWasChanged( AddressId addressId, StreetNameId streetNameId) { AddressId = addressId; StreetNameId = streetNameId; }
public StreetNameHomonymAdditionWasCleared( StreetNameId streetNameId, Language?language) { StreetNameId = streetNameId; Language = language; }
public StreetNamePrimaryLanguageWasCorrected( StreetNameId streetNameId, Language primaryLanguage) { StreetNameId = streetNameId; PrimaryLanguage = primaryLanguage; }
public static StreetName Register(StreetNameId streetNameId, MunicipalityId municipalityId, NisCode nisCode) { var streetName = Factory(); streetName.ApplyChange(new StreetNameWasRegistered(streetNameId, municipalityId, nisCode)); return(streetName); }
public StreetNamePrimaryLanguageWasDefined( StreetNameId streetNameId, Language primaryLanguage) { StreetNameId = streetNameId; PrimaryLanguage = primaryLanguage; }
public AddressStreetNameWasCorrected( AddressId addressId, StreetNameId streetNameId) { StreetNameId = streetNameId; AddressId = addressId; }
public StreetNameSecondaryLanguageWasDefined( StreetNameId streetNameId, Language secondaryLanguage) { StreetNameId = streetNameId; SecondaryLanguage = secondaryLanguage; }
public StreetNameNameWasCleared( StreetNameId streetNameId, Language?language) { StreetNameId = streetNameId; Language = language; }
private void ApplyHouseNumberChange( CrabStreetNameId crabStreetNameId, HouseNumber houseNumber, CrabModification?modification) { if (HouseNumber != houseNumber) { if (modification != CrabModification.Correction) { ApplyChange(new AddressHouseNumberWasChanged(_addressId, houseNumber)); } else { ApplyChange(new AddressHouseNumberWasCorrected(_addressId, houseNumber)); } } var streetNameId = StreetNameId.CreateFor(crabStreetNameId); if (streetNameId == StreetNameId) { return; } if (modification != CrabModification.Correction) { ApplyChange(new AddressStreetNameWasChanged(_addressId, streetNameId)); } else { ApplyChange(new AddressStreetNameWasCorrected(_addressId, streetNameId)); } }
public StreetNameSecondaryLanguageWasCorrected( StreetNameId streetNameId, Language secondaryLanguage) { StreetNameId = streetNameId; SecondaryLanguage = secondaryLanguage; }
public StreetNameWasNamed( StreetNameId streetNameId, StreetNameName name) { StreetNameId = streetNameId; Name = name.Name; Language = name.Language; }
public AndConstraint <TAssertions> HaveStreetNameId(StreetNameId streetNameId) { AssertingThat($"the StreetNameId is {streetNameId}"); Subject.StreetNameId.Should().Be((Guid)streetNameId); return(And()); }
public StreetNameHomonymAdditionWasDefined( StreetNameId streetNameId, StreetNameHomonymAddition homonymAddition) { StreetNameId = streetNameId; HomonymAddition = homonymAddition.HomonymAddition; Language = homonymAddition.Language; }
public AddressWasRegistered( AddressId addressId, StreetNameId streetNameId, HouseNumber houseNumber) { AddressId = addressId; StreetNameId = streetNameId; HouseNumber = houseNumber; }
public StreetNamePersistentLocalIdWasAssigned( StreetNameId streetNameId, PersistentLocalId persistentLocalId, PersistentLocalIdAssignmentDate assignmentDate) { StreetNameId = streetNameId; PersistentLocalId = persistentLocalId; AssignmentDate = assignmentDate; }
public StreetNameWasRegistered( StreetNameId streetNameId, MunicipalityId municipalityId, NisCode nisCode) { StreetNameId = streetNameId; MunicipalityId = municipalityId; NisCode = nisCode; }
public static Address Register( AddressId id, StreetNameId streetNameId, HouseNumber houseNumber) { var address = Factory(); address.ApplyChange(new AddressWasRegistered(id, streetNameId, houseNumber)); return(address); }
public RegisterAddress( AddressId addressId, StreetNameId streetNameId, PostalCode postalCode, HouseNumber houseNumber, BoxNumber boxNumber) { AddressId = addressId; StreetNameId = streetNameId; PostalCode = postalCode; HouseNumber = houseNumber; BoxNumber = boxNumber; }
public async Task ImportStreetNameStatusFromCrab( Func <IStreetNames> getStreetNames, CommandMessage <ImportStreetNameStatusFromCrab> message, CancellationToken ct) { var streetNames = getStreetNames(); var streetNameId = StreetNameId.CreateFor(message.Command.StreetNameId); var streetName = await streetNames.GetAsync(streetNameId, ct); ImportStatusFromCrab(streetName, message.Command); }
public void GivenNoStreetNameThenAddressStreetNameWasChanged( Fixture fixture, AddressId addressId, StreetNameId streetNameId, ImportHouseNumberFromCrab importHouseNumberFromCrab) { importHouseNumberFromCrab = importHouseNumberFromCrab .WithStreetNameId(new Fixture().Customize(new WithStreetNameIdExcept(streetNameId)).Create <CrabStreetNameId>()); Assert(RegisteredAddressScenario(fixture) .When(importHouseNumberFromCrab) .Then(addressId, new AddressStreetNameWasChanged(addressId, StreetNameId.CreateFor(importHouseNumberFromCrab.StreetNameId)), importHouseNumberFromCrab.ToLegacyEvent())); }
public async Task <IActionResult> AddAddress( [FromServices] ICommandHandlerResolver bus, [FromServices] AddressCrabEditClient editClient, [FromServices] Func <IAddresses> getAddresses, [FromBody] AddAddressRequest request, CancellationToken cancellationToken) { // TODO: Turn this into proper VBR API Validation if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var crabAddAddress = await AddToCrab(editClient, request, cancellationToken); var addressId = crabAddAddress.Result; // todo: add command implementation for BoxNumber var command = new RegisterAddress( addressId, StreetNameId.CreateForPersistentId(request.StreetNameId.AsIdentifier().Map(IdentifierMappings.StreetNameId)), PostalCode.CreateForPersistentId(request.PostalCode.AsIdentifier().Map(IdentifierMappings.PostalCode)), new HouseNumber(request.HouseNumber), new BoxNumber(request.BoxNumber)); var position = await bus.Dispatch( Guid.NewGuid(), command, GetMetadata(), cancellationToken); // Because we don't use the addressId as an identifier, we are stuck with the mess of retrieving our aggregate // and getting the surrogate identifier from it.... PersistentLocalIdentifier var addresses = getAddresses(); var address = await addresses.GetOptionalAsync(addressId, cancellationToken); if (!address.HasValue) { throw new ApiException("Er is een fout opgetreden.", StatusCodes.Status500InternalServerError); } return(CreatedWithPosition( $"/v1/adressen/{address.Value.PersistentLocalId}", position, crabAddAddress.ExecutionTime)); }
public async Task ImportHouseNumberFromCrab(Func <IAddresses> getAddresses, CommandMessage <ImportHouseNumberFromCrab> message, CancellationToken ct) { var addresses = getAddresses(); var addressId = AddressId.CreateFor(message.Command.HouseNumberId); var streetNameId = StreetNameId.CreateFor(message.Command.StreetNameId); var address = await GetOrRegisterAddress(addresses, addressId, streetNameId, message.Command.HouseNumber, ct); if (!address.HasValue) { address = new Optional <Address>( Address.Register( new AddressId(addressId), new StreetNameId(streetNameId), message.Command.HouseNumber)); addresses.Add(addressId, address.Value); } ImportHouseNumberFromCrab(address.Value, message.Command); }
public async Task ImportStreetNameFromCrab( Func <IStreetNames> getStreetNames, CommandMessage <ImportStreetNameFromCrab> message, CancellationToken ct) { var streetNames = getStreetNames(); var streetNameId = StreetNameId.CreateFor(message.Command.StreetNameId); var municipalityId = MunicipalityId.CreateFor(message.Command.MunicipalityId); var streetName = await GetOrRegisterStreetName( streetNames, streetNameId, municipalityId, message.Command.NisCode, ct); ImportFromCrab(streetName.Value, message.Command); }
private static async Task <Optional <StreetName> > GetOrRegisterStreetName( IStreetNames streetNames, StreetNameId streetNameId, MunicipalityId municipalityId, NisCode nisCode, CancellationToken ct) { var streetName = await streetNames.GetOptionalAsync(streetNameId, ct); if (streetName.HasValue) { return(streetName); } streetName = new Optional <StreetName>( StreetName.Register( new StreetNameId(streetNameId), new MunicipalityId(municipalityId), nisCode)); streetNames.Add(streetNameId, streetName.Value); return(streetName); }
private static async Task <Optional <Address> > GetOrRegisterAddress( IAddresses addresses, AddressId addressId, StreetNameId streetNameId, HouseNumber houseNumber, CancellationToken ct) { var address = await addresses.GetOptionalAsync(addressId, ct); if (address.HasValue) { return(address); } address = new Optional <Address>( Address.Register( addressId, streetNameId, houseNumber)); addresses.Add(addressId, address.Value); return(address); }
private void When(AddressStreetNameWasChanged @event) { StreetNameId = new StreetNameId(@event.StreetNameId); }
public StreetNameSecondaryLanguageWasCorrectedToCleared(StreetNameId streetNameId) => StreetNameId = streetNameId;
private void When(AddressWasRegistered @event) { _addressId = new AddressId(@event.AddressId); HouseNumber = new HouseNumber(@event.HouseNumber); StreetNameId = new StreetNameId(@event.StreetNameId); }
public StreetNameStatusWasCorrectedToRemoved(StreetNameId streetNameId) => StreetNameId = streetNameId;
public StreetNameBecameComplete(StreetNameId streetNameId) => StreetNameId = streetNameId;