public void FindOrCreateAddress(AddressDTO address, bool updateGeoCoordinates = false) { var mpAddress = AutoMapper.Mapper.Map <MpAddress>(address); var found = FindExistingAddress(address, mpAddress); if (found) { mpAddress.Address_ID = address.AddressID; if (!updateGeoCoordinates || address.HasGeoCoordinates()) { return; } } if (updateGeoCoordinates && !address.HasGeoCoordinates()) { SetGeoCoordinates(address); mpAddress.Longitude = address.Longitude; mpAddress.Latitude = address.Latitude; } address.AddressID = found ? UpdateAddress(mpAddress) : CreateAddress(mpAddress); }