예제 #1
0
        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);
        }