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 };
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); }
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(); }