Esempio n. 1
0
 public AddressStreetNameWasChanged(
     AddressId addressId,
     StreetNameId streetNameId)
 {
     AddressId    = addressId;
     StreetNameId = streetNameId;
 }
Esempio n. 2
0
 public StreetNameHomonymAdditionWasCleared(
     StreetNameId streetNameId,
     Language?language)
 {
     StreetNameId = streetNameId;
     Language     = language;
 }
Esempio n. 3
0
 public StreetNamePrimaryLanguageWasCorrected(
     StreetNameId streetNameId,
     Language primaryLanguage)
 {
     StreetNameId    = streetNameId;
     PrimaryLanguage = primaryLanguage;
 }
Esempio n. 4
0
        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;
 }
Esempio n. 6
0
 public AddressStreetNameWasCorrected(
     AddressId addressId,
     StreetNameId streetNameId)
 {
     StreetNameId = streetNameId;
     AddressId    = addressId;
 }
Esempio n. 7
0
 public StreetNameSecondaryLanguageWasDefined(
     StreetNameId streetNameId,
     Language secondaryLanguage)
 {
     StreetNameId      = streetNameId;
     SecondaryLanguage = secondaryLanguage;
 }
 public StreetNameNameWasCleared(
     StreetNameId streetNameId,
     Language?language)
 {
     StreetNameId = streetNameId;
     Language     = language;
 }
Esempio n. 9
0
        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));
            }
        }
Esempio n. 10
0
 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());
        }
Esempio n. 13
0
 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;
 }
Esempio n. 17
0
        public static Address Register(
            AddressId id,
            StreetNameId streetNameId,
            HouseNumber houseNumber)
        {
            var address = Factory();

            address.ApplyChange(new AddressWasRegistered(id, streetNameId, houseNumber));
            return(address);
        }
Esempio n. 18
0
 public RegisterAddress(
     AddressId addressId,
     StreetNameId streetNameId,
     PostalCode postalCode,
     HouseNumber houseNumber,
     BoxNumber boxNumber)
 {
     AddressId    = addressId;
     StreetNameId = streetNameId;
     PostalCode   = postalCode;
     HouseNumber  = houseNumber;
     BoxNumber    = boxNumber;
 }
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
        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()));
        }
Esempio n. 21
0
        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));
        }
Esempio n. 22
0
        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);
        }
Esempio n. 23
0
        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);
        }
Esempio n. 24
0
        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);
        }
Esempio n. 25
0
        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);
        }
Esempio n. 26
0
 private void When(AddressStreetNameWasChanged @event)
 {
     StreetNameId = new StreetNameId(@event.StreetNameId);
 }
 public StreetNameSecondaryLanguageWasCorrectedToCleared(StreetNameId streetNameId)
 => StreetNameId = streetNameId;
Esempio n. 28
0
 private void When(AddressWasRegistered @event)
 {
     _addressId   = new AddressId(@event.AddressId);
     HouseNumber  = new HouseNumber(@event.HouseNumber);
     StreetNameId = new StreetNameId(@event.StreetNameId);
 }
Esempio n. 29
0
 public StreetNameStatusWasCorrectedToRemoved(StreetNameId streetNameId)
 => StreetNameId = streetNameId;
 public StreetNameBecameComplete(StreetNameId streetNameId)
 => StreetNameId = streetNameId;