public static FWTContactPostal Map(this Address address) { FWTContactPostal contactPostal = null; if (address != null) { contactPostal = new FWTContactPostal { Preferred = true }; if (!string.IsNullOrEmpty(address.UPRN)) { contactPostal.Option = new [] { VerintConstants.UseUprnForAddress, VerintConstants.IgnoreInvalidUprn }; contactPostal.UPRN = address.UPRN.Trim(); } else { contactPostal.AddressNumber = address.Number; contactPostal.AddressLine = new[] { address.AddressLine1, address.AddressLine2, address.AddressLine3, address.City }; contactPostal.City = address.City; contactPostal.Postcode = address.Postcode?.Trim(); } } return(contactPostal); }
private static bool AddAddressUpdates(this FWTIndividualUpdate update, FWTIndividual individual, Customer customer) { if (customer.Address == null) { return(false); } if (individual.RequiresAddressUpdate(customer)) { var newContactPostal = new FWTContactPostal(); newContactPostal.Preferred = true; if (!string.IsNullOrEmpty(customer.Address.UPRN)) { newContactPostal.Option = new [] { VerintConstants.UseUprnForAddress, VerintConstants.IgnoreInvalidUprn }; newContactPostal.UPRN = customer.Address.UPRN.Trim(); } else { newContactPostal.AddressNumber = customer.Address.Number; newContactPostal.AddressLine = new[] { customer.Address.AddressLine1, customer.Address.AddressLine2, customer.Address.AddressLine3, customer.Address.City }; newContactPostal.City = customer.Address.City; newContactPostal.Postcode = customer.Address.Postcode; } update.ContactPostals = new[] { new FWTContactPostalUpdate { PostalDetails = newContactPostal, ListItemUpdateType = "Insert" } }; return(true); } else if (!string.IsNullOrWhiteSpace(customer.Address.UPRN) && individual.ContactPostals != null) { var preferredContact = individual.ContactPostals.FirstOrDefault(x => x.Preferred); if (preferredContact != null) { if (string.IsNullOrEmpty(preferredContact.UPRN)) { return(false); } if (customer.Address.UPRN.Trim() != preferredContact.UPRN.Trim()) { var contactPostal = individual.ContactPostals.Where(_ => _.UPRN != null).FirstOrDefault(_ => _.UPRN.Trim() == customer.Address.UPRN.Trim()); if (contactPostal != null) { contactPostal.Preferred = true; update.ContactPostals = new[] { new FWTContactPostalUpdate { PostalDetails = contactPostal, ListItemUpdateType = "Update" } }; return(true); } } } } return(false); }
public static Address Map(this FWTContactPostal contactPostal) { return(new Address { UPRN = contactPostal.UPRN, AddressLine1 = contactPostal.AddressLine[0], AddressLine2 = contactPostal.AddressLine[1], AddressLine3 = contactPostal.AddressLine[2], City = contactPostal.City, Number = contactPostal.AddressNumber, Postcode = contactPostal.Postcode, PropertyId = contactPostal.PropertyID, }); }