Beispiel #1
0
        public void ImportSubaddressStatusFromCrab(
            CrabSubaddressStatusId subaddressStatusId,
            CrabSubaddressId subaddressId,
            CrabAddressStatus addressStatus,
            CrabLifetime lifetime,
            CrabTimestamp timestamp,
            CrabOperator @operator,
            CrabModification?modification,
            CrabOrganisation?organisation)
        {
            if (IsRemoved && modification != CrabModification.Delete)
            {
                return;
            }

            var legacyEvent = new AddressSubaddressStatusWasImportedFromCrab(
                subaddressStatusId,
                subaddressId,
                addressStatus,
                lifetime,
                timestamp,
                @operator,
                modification,
                organisation);

            ApplyStatusChangesFor(_subAddressStatusChronicle, legacyEvent);

            ApplyAddressCompletion();

            ApplyChange(legacyEvent);
        }
Beispiel #2
0
        public void ImportHouseNumberStatusFromCrab(
            CrabHouseNumberStatusId houseNumberStatusId,
            CrabHouseNumberId houseNumberId,
            CrabAddressStatus addressStatus,
            CrabLifetime lifetime,
            CrabTimestamp timestamp,
            CrabOperator @operator,
            CrabModification?modification,
            CrabOrganisation?organisation)
        {
            GuardRemoved(modification);

            var legacyEvent = new AddressHouseNumberStatusWasImportedFromCrab(
                houseNumberStatusId,
                houseNumberId,
                addressStatus,
                lifetime,
                timestamp,
                @operator,
                modification,
                organisation);

            ApplyStatusChangesFor(_houseNumberStatusChronicle, legacyEvent);

            ApplyAddressCompletion();

            ApplyChange(legacyEvent);
        }
 public static ImportSubaddressStatusFromCrab WithStatus(this ImportSubaddressStatusFromCrab command,
                                                         CrabAddressStatus status) => new ImportSubaddressStatusFromCrab(
     command.SubaddressStatusId,
     command.SubaddressId,
     status,
     command.Lifetime,
     command.Timestamp,
     command.Operator,
     command.Modification,
     command.Organisation);
Beispiel #4
0
        private void ApplyOfficallyAssignedCorrection(CrabAddressStatus addressStatus)
        {
            var canBecomeOfficiallyAssigned      = !_officiallyAssigned.HasValue || _officiallyAssigned == false;
            var shouldBecomeOfficallyAssigned    = addressStatus != CrabAddressStatus.Unofficial;
            var canBecomeNotOfficallyAssigned    = !_officiallyAssigned.HasValue || _officiallyAssigned == true;
            var shouldBecomeNotOfficallyAssigned = addressStatus == CrabAddressStatus.Unofficial;

            if (canBecomeOfficiallyAssigned && shouldBecomeOfficallyAssigned)
            {
                ApplyChange(new AddressWasCorrectedToOfficiallyAssigned(_addressId));
            }
            else if (canBecomeNotOfficallyAssigned && shouldBecomeNotOfficallyAssigned)
            {
                ApplyChange(new AddressWasCorrectedToNotOfficiallyAssigned(_addressId));
            }
        }
 public ImportHouseNumberStatusFromCrab(
     CrabHouseNumberStatusId houseNumberStatusId,
     CrabHouseNumberId houseNumberId,
     CrabAddressStatus addressStatus,
     CrabLifetime lifetime,
     CrabTimestamp timestamp,
     CrabOperator @operator,
     CrabModification?modification,
     CrabOrganisation?organisation)
 {
     HouseNumberStatusId = houseNumberStatusId;
     HouseNumberId       = houseNumberId;
     AddressStatus       = addressStatus;
     Lifetime            = lifetime;
     Timestamp           = timestamp;
     Operator            = @operator;
     Modification        = modification;
     Organisation        = organisation;
 }
Beispiel #6
0
 public ImportSubaddressStatusFromCrab(
     CrabSubaddressStatusId subaddressStatusId,
     CrabSubaddressId subaddressId,
     CrabAddressStatus addressStatus,
     CrabLifetime lifetime,
     CrabTimestamp timestamp,
     CrabOperator @operator,
     CrabModification?modification,
     CrabOrganisation?organisation)
 {
     SubaddressStatusId = subaddressStatusId;
     SubaddressId       = subaddressId;
     AddressStatus      = addressStatus;
     Lifetime           = lifetime;
     Timestamp          = timestamp;
     Operator           = @operator;
     Modification       = modification;
     Organisation       = organisation;
 }
Beispiel #7
0
 public AddressSubaddressStatusWasImportedFromCrab(
     CrabSubaddressStatusId subaddressStatusId,
     CrabSubaddressId subaddressId,
     CrabAddressStatus addressStatus,
     CrabLifetime lifetime,
     CrabTimestamp timestamp,
     CrabOperator @operator,
     CrabModification?modification,
     CrabOrganisation?organisation)
 {
     SubaddressStatusId = subaddressStatusId;
     SubaddressId       = subaddressId;
     AddressStatus      = addressStatus;
     BeginDateTime      = lifetime.BeginDateTime;
     EndDateTime        = lifetime.EndDateTime;
     Timestamp          = timestamp;
     Operator           = @operator;
     Modification       = modification;
     Organisation       = organisation;
 }
Beispiel #8
0
 private AddressSubaddressStatusWasImportedFromCrab(
     int subaddressStatusId,
     int subaddressId,
     CrabAddressStatus addressStatus,
     LocalDateTime?beginDateTime,
     LocalDateTime?endDateTime,
     Instant timestamp,
     string @operator,
     CrabModification?modification,
     CrabOrganisation?organisation) :
     this(
         new CrabSubaddressStatusId(subaddressStatusId),
         new CrabSubaddressId(subaddressId),
         addressStatus,
         new CrabLifetime(beginDateTime, endDateTime),
         new CrabTimestamp(timestamp),
         new CrabOperator(@operator),
         modification,
         organisation)
 {
 }
Beispiel #9
0
        private AddressStatus?Map(CrabAddressStatus crabAddressStatus,
                                  CrabModification?modification)
        {
            if (modification == CrabModification.Delete)
            {
                return(null);
            }

            switch (crabAddressStatus)
            {
            case CrabAddressStatus.InUse:
            case CrabAddressStatus.OutOfUse:
            case CrabAddressStatus.Unofficial:
                return(AddressStatus.Current);

            case CrabAddressStatus.Reserved:
            case CrabAddressStatus.Proposed:
                return(AddressStatus.Proposed);

            default:
                throw new NotImplementedException();
            }
        }
Beispiel #10
0
 public static ImportHouseNumberStatusFromCrab WithStatus(this ImportHouseNumberStatusFromCrab command, CrabAddressStatus status)
 {
     return(new ImportHouseNumberStatusFromCrab(
                command.HouseNumberStatusId,
                command.HouseNumberId,
                status,
                command.Lifetime,
                command.Timestamp,
                command.Operator,
                command.Modification,
                command.Organisation));
 }
Beispiel #11
0
 public static AddressSubaddressStatusWasImportedFromCrab WithStatus(this AddressSubaddressStatusWasImportedFromCrab @event, CrabAddressStatus status)
 {
     return(new AddressSubaddressStatusWasImportedFromCrab(
                new CrabSubaddressStatusId(@event.SubaddressStatusId),
                new CrabSubaddressId(@event.SubaddressId),
                status,
                new CrabLifetime(@event.BeginDateTime, @event.EndDateTime),
                new CrabTimestamp(@event.Timestamp),
                new CrabOperator(@event.Operator),
                @event.Modification,
                @event.Organisation
                ));
 }