public ImportStreetNameFromCrab(
     CrabStreetNameId streetNameId,
     CrabMunicipalityId municipalityId,
     NisCode nisCode,
     CrabStreetName primaryStreetName,
     CrabStreetName secondaryStreetName,
     CrabTransStreetName primaryTransStreetName,
     CrabTransStreetName secondaryTransStreetName,
     CrabLanguage?primaryLanguage,
     CrabLanguage?secondaryLanguage,
     CrabLifetime lifeTime,
     CrabTimestamp timestamp,
     CrabOperator @operator,
     CrabModification?modification,
     CrabOrganisation?organisation)
 {
     StreetNameId             = streetNameId;
     MunicipalityId           = municipalityId;
     NisCode                  = nisCode;
     PrimaryStreetName        = primaryStreetName;
     SecondaryStreetName      = secondaryStreetName;
     PrimaryTransStreetName   = primaryTransStreetName;
     SecondaryTransStreetName = secondaryTransStreetName;
     PrimaryLanguage          = primaryLanguage;
     SecondaryLanguage        = secondaryLanguage;
     LifeTime                 = lifeTime;
     Timestamp                = timestamp;
     Operator                 = @operator;
     Modification             = modification;
     Organisation             = organisation;
 }
 public StreetNameWasImportedFromCrab(
     CrabStreetNameId streetNameId,
     CrabMunicipalityId municipalityId,
     CrabStreetName primaryStreetName,
     CrabStreetName secondaryStreetName,
     CrabTransStreetName primaryTransStreetName,
     CrabTransStreetName secondaryTransStreetName,
     CrabLanguage?primaryLanguage,
     CrabLanguage?secondaryLanguage,
     CrabTimestamp timestamp,
     CrabLifetime lifetime,
     CrabOperator @operator,
     CrabModification?modification,
     CrabOrganisation?organisation)
 {
     StreetNameId             = streetNameId;
     MunicipalityId           = municipalityId;
     PrimaryStreetName        = primaryStreetName?.Name;
     SecondaryStreetName      = secondaryStreetName?.Name;
     PrimaryTransStreetName   = primaryTransStreetName?.TransStreetName;
     SecondaryTransStreetName = secondaryTransStreetName?.TransStreetName;
     PrimaryLanguage          = primaryLanguage;
     SecondaryLanguage        = secondaryLanguage;
     Timestamp     = timestamp;
     BeginDateTime = lifetime.BeginDateTime;
     EndDateTime   = lifetime.EndDateTime;
     Operator      = @operator;
     Modification  = modification;
     Organisation  = organisation;
 }
        protected StreetName Act(StreetName sut,
                                 CrabStreetNameId CrabStreetNameId,
                                 CrabMunicipalityId crabMunicipalityId,
                                 CrabStreetName primaryStreetName,
                                 CrabStreetName secondaryStreetName,
                                 CrabTransStreetName primaryTransStreetName,
                                 CrabTransStreetName secondaryTransStreetName,
                                 CrabLanguage?primaryLanguage,
                                 CrabLanguage?secondaryLanguage,
                                 CrabLifetime lifetime,
                                 CrabTimestamp crabTimestamp,
                                 CrabOperator beginOperator,
                                 CrabModification?modification,
                                 CrabOrganisation?beginOrganisation)
        {
            LogAct($"ImportFromCrab({CrabStreetNameId},{crabMunicipalityId},{primaryStreetName},{secondaryStreetName},{secondaryTransStreetName},{primaryTransStreetName},{primaryLanguage},{secondaryLanguage},{lifetime},{crabTimestamp},{beginOperator},{modification},{beginOrganisation})");

            sut.ImportFromCrab(CrabStreetNameId,
                               crabMunicipalityId,
                               primaryStreetName,
                               secondaryStreetName,
                               primaryTransStreetName,
                               secondaryTransStreetName,
                               primaryLanguage,
                               secondaryLanguage,
                               lifetime,
                               crabTimestamp,
                               beginOperator,
                               modification,
                               beginOrganisation);

            return(sut);
        }
Example #4
0
        public void ImportFromCrab(
            CrabStreetNameId streetNameId,
            CrabMunicipalityId municipalityId,
            CrabStreetName primaryStreetName,
            CrabStreetName secondaryStreetName,
            CrabTransStreetName primaryTransStreetName,
            CrabTransStreetName secondaryTransStreetName,
            CrabLanguage?primaryLanguage,
            CrabLanguage?secondaryLanguage,
            CrabLifetime lifeTime,
            CrabTimestamp timestamp,
            CrabOperator beginOperator,
            CrabModification?beginModification,
            CrabOrganisation?beginOrganisation)
        {
            if (IsRemoved)
            {
                throw new InvalidOperationException($"Cannot change removed street name for street name id {_streetNameId}/{streetNameId}");
            }

            if (beginModification == CrabModification.Delete)
            {
                ApplyChange(new StreetNameWasRemoved(_streetNameId));
            }
            else
            {
                ApplyRetiredOrUnretire(lifeTime, beginModification);

                if (beginModification != CrabModification.Correction)
                {
                    ApplyNameChanges(primaryStreetName, secondaryStreetName);
                    ApplyLanguageChanges(primaryLanguage?.ToLanguage(), secondaryLanguage?.ToLanguage());
                }
                else
                {
                    ApplyNameCorrections(primaryStreetName, secondaryStreetName);
                    ApplyLanguageCorrections(primaryLanguage?.ToLanguage(), secondaryLanguage?.ToLanguage());
                }
            }

            AssignPersistentLocalId(new PersistentLocalId(streetNameId), new PersistentLocalIdAssignmentDate(timestamp));

            ApplyChange(new StreetNameWasImportedFromCrab(
                            streetNameId,
                            municipalityId,
                            primaryStreetName,
                            secondaryStreetName,
                            primaryTransStreetName,
                            secondaryTransStreetName,
                            primaryLanguage,
                            secondaryLanguage,
                            timestamp,
                            lifeTime,
                            beginOperator,
                            beginModification,
                            beginOrganisation));
        }