Esempio n. 1
0
        public static Address GetAddress(this IAddressManager client, string emailAddress, EntityStatus?status)
        {
            if (string.IsNullOrEmpty(emailAddress))
            {
                throw new ArgumentException("value was null or empty", "emailAddress");
            }

            Address[] addresses = client.GetAddresses(new string[] { emailAddress }, status);
            if (addresses.IsNullOrEmpty())
            {
                return(null);
            }

            return(addresses[0]);
        }
Esempio n. 2
0
        internal Address[] GetAddresses(DirectAddressCollection addresses)
        {
            Debug.Assert(_settings.HasAddressManager);

            List <Address> managedAddresses;

            string[] emailAddresses = addresses
                                      .Select(address => address.Address)
                                      .ToArray();

            if (_addressCache != null)
            {
                managedAddresses = _addressCache.Get(emailAddresses);

                if (managedAddresses != null && managedAddresses.Count(d => d != null) == addresses.Count())
                {
                    managedAddresses.RemoveAll(d => d == null);
                    return(managedAddresses.ToArray());
                }
            }

            IAddressManager client = CreateAddressManagerClient();

            using (client as IDisposable)
            {
                Address[] addressesFound;

                if (_enabledDomainSearch)
                {
                    addressesFound = client.GetAddressesOrDomain(emailAddresses, EntityStatus.Enabled);
                }
                else
                {
                    addressesFound = client.GetAddresses(emailAddresses, EntityStatus.Enabled);
                }

                managedAddresses = addressesFound.ToList();
            }

            if (_addressCache != null)
            {
                _addressCache.Put(managedAddresses);
            }

            return(managedAddresses.ToArray());
        }
Esempio n. 3
0
        internal Address[] GetAddresses(DirectAddressCollection addresses)
        {
            Debug.Assert(m_settings.HasAddressManager);

            string[] emailAddresses = (
                from address in addresses
                select address.Address
                ).ToArray();

            IAddressManager client = CreateAddressManagerClient();

            using (client as IDisposable)
            {
                if (AddressDomainSearchEnabled(m_settings.AddressManager))
                {
                    return(client.GetAddressesOrDomain(emailAddresses, EntityStatus.Enabled));
                }
                return(client.GetAddresses(emailAddresses, EntityStatus.Enabled));
            }
        }
Esempio n. 4
0
        public async Task <ActionResult <List <AddressDto> > > GetAddressesAsync()
        {
            var result = await addressManager.GetAddresses();

            return(Ok(result));
        }