private static ProviderContact MapContact(ProviderContactStructure contact) => new ProviderContact()
 {
     ContactAddress = new ProviderContactAddress()
     {
         SAON = new ProviderContactAddressSAON {
             Description = contact.ContactAddress.Address1
         },
         PAON = new ProviderContactAddressPAON {
             Description = contact.ContactAddress.Address2
         },
         StreetDescription = contact.ContactAddress.Address3,
         Locality          = contact.ContactAddress.Address4,
         Items             = new List <string>
         {
             contact.ContactAddress.Town,
             contact.ContactAddress.County,
         }.Where(s => s != null).ToList(),
         PostTown = contact.ContactAddress.Town,
         County   = contact.ContactAddress.County,
         PostCode = contact.ContactAddress.PostCode,
     },
     ContactEmail           = contact.ContactEmail,
     ContactFax             = contact.ContactFax,
     ContactPersonalDetails = new ProviderContactPersonalDetails()
     {
         PersonNameTitle  = contact.ContactPersonalDetails.PersonNameTitle,
         PersonGivenName  = contact.ContactPersonalDetails.PersonGivenName,
         PersonFamilyName = contact.ContactPersonalDetails.PersonFamilyName,
     },
     ContactTelephone1     = contact.ContactTelephone1,
     ContactType           = contact.ContactType,
     ContactWebsiteAddress = contact.ContactWebsiteAddress,
     LastUpdated           = contact.LastUpdated
 };
Beispiel #2
0
 private Contact MapFromContact(ProviderContactStructure contact)
 {
     return(new Contact
     {
         ContactType = contact?.ContactType,
         Address = MapFromContactAddress(contact?.ContactAddress),
         ContactEmail = contact?.ContactEmail,
         ContactWebsiteAddress = contact?.ContactWebsiteAddress,
         ContactTelephone1 = contact?.ContactTelephone1
     });
 }
        public void SelectContact_SelectsMostRecentlyUpdatedPTypeContact()
        {
            // Arrange
            var contact1 = new ProviderContactStructure
            {
                ContactType            = "P",
                LastUpdated            = new DateTime(2020, 3, 1),
                ContactAddress         = new AddressStructure(),
                ContactPersonalDetails = new PersonNameStructure()
            };

            var contact2 = new ProviderContactStructure
            {
                ContactType            = "P",
                LastUpdated            = new DateTime(2020, 4, 1),
                ContactAddress         = new AddressStructure(),
                ContactPersonalDetails = new PersonNameStructure()
            };

            var contact3 = new ProviderContactStructure
            {
                ContactType            = "L",
                LastUpdated            = new DateTime(2020, 5, 1),
                ContactAddress         = new AddressStructure(),
                ContactPersonalDetails = new PersonNameStructure()
            };

            var contacts = new[]
            {
                contact1,
                contact2,
                contact3
            };

            // Act
            var selected = UkrlpSyncHelper.SelectContact(contacts);

            // Assert
            Assert.Same(selected, contact2);
        }
Beispiel #4
0
        private void AssertContactMapping(ProviderContact actualContact, ProviderContactStructure ukrlpContact)
        {
            actualContact.ContactType.Should().Be(ukrlpContact.ContactType);
            actualContact.ContactRole.Should().Be(ukrlpContact.ContactRole);
            actualContact.ContactTelephone1.Should().Be(ukrlpContact.ContactTelephone1);
            actualContact.ContactWebsiteAddress.Should().Be(ukrlpContact.ContactWebsiteAddress);
            actualContact.ContactEmail.Should().Be(ukrlpContact.ContactEmail);
            actualContact.ContactFax.Should().Be(ukrlpContact.ContactFax);
            actualContact.LastUpdated.Should().Be(Clock.UtcNow);
            actualContact.AdditionalData.Should().BeNull();
            actualContact.ContactPersonalDetails.Should().NotBeNull();

            var actualContactAddress = actualContact.ContactAddress;

            actualContactAddress.SAON.Description.Should().Be(ukrlpContact.ContactAddress.Address1);
            actualContactAddress.PAON.Description.Should().Be(ukrlpContact.ContactAddress.Address2);
            actualContactAddress.StreetDescription.Should().Be(ukrlpContact.ContactAddress.Address3);
            actualContactAddress.Locality.Should().Be(ukrlpContact.ContactAddress.Address4);

            // Town is still mapped to items as it was in the v3 client to minimize change in data
            actualContactAddress.PostTown.Should().BeNull();
            actualContactAddress.Items.Should().BeEquivalentTo(new List <string>
            {
                ukrlpContact.ContactAddress.Town,
                ukrlpContact.ContactAddress.County,
            });

            actualContactAddress.PostCode.Should().Be(ukrlpContact.ContactAddress.PostCode);
            actualContactAddress.AdditionalData.Should().BeNull();

            var actualPersonalDetails = actualContact.ContactPersonalDetails;

            actualPersonalDetails.PersonNameTitle.SingleOrDefault().Should().Be(ukrlpContact.ContactPersonalDetails.PersonNameTitle.Single());
            actualPersonalDetails.PersonGivenName.SingleOrDefault().Should().Be(ukrlpContact.ContactPersonalDetails.PersonGivenName.Single());
            actualPersonalDetails.PersonFamilyName.Should().Be(ukrlpContact.ContactPersonalDetails.PersonFamilyName);
            actualPersonalDetails.AdditionalData.Should().BeNull();
        }