示例#1
0
        private static void Prepare(IHaveEmailAddresses member)
        {
            // Remove null and duplicate email addresses.

            if (member.EmailAddresses != null)
            {
                var distinctAddresses = (from a in member.EmailAddresses
                                         where !string.IsNullOrEmpty(a.Address.Trim())
                                         select a.Address.ToLower()).Distinct();
                member.EmailAddresses = (from a in distinctAddresses
                                         select new EmailAddress
                {
                    Address = a,
                    IsVerified = (from e in member.EmailAddresses where e.Address == a select e).Any(e => e.IsVerified)
                }).ToList();
            }
        }
示例#2
0
        public static void MapTo(this IHaveEmailAddresses haveEmailAddresses, IHaveEmailAddressesEntity entity)
        {
            entity.primaryEmailAddress           = null;
            entity.primaryEmailAddressVerified   = false;
            entity.secondaryEmailAddress         = null;
            entity.secondaryEmailAddressVerified = false;
            if (haveEmailAddresses == null || haveEmailAddresses.EmailAddresses == null || haveEmailAddresses.EmailAddresses.Count == 0)
            {
                return;
            }

            entity.primaryEmailAddress         = haveEmailAddresses.EmailAddresses[0].Address;
            entity.primaryEmailAddressVerified = haveEmailAddresses.EmailAddresses[0].IsVerified;
            if (haveEmailAddresses.EmailAddresses.Count == 1)
            {
                return;
            }

            entity.secondaryEmailAddress         = haveEmailAddresses.EmailAddresses[1].Address;
            entity.secondaryEmailAddressVerified = haveEmailAddresses.EmailAddresses[1].IsVerified;
        }
示例#3
0
        public static void MapTo(this IHaveEmailAddressesEntity entity, IHaveEmailAddresses haveEmailAddresses)
        {
            if (string.IsNullOrEmpty(entity.primaryEmailAddress))
            {
                haveEmailAddresses.EmailAddresses = null;
                return;
            }

            haveEmailAddresses.EmailAddresses = new List <EmailAddress>
            {
                new EmailAddress {
                    Address = entity.primaryEmailAddress, IsVerified = entity.primaryEmailAddressVerified
                }
            };

            if (string.IsNullOrEmpty(entity.secondaryEmailAddress) || entity.secondaryEmailAddressVerified == null)
            {
                return;
            }
            haveEmailAddresses.EmailAddresses.Add(new EmailAddress {
                Address = entity.secondaryEmailAddress, IsVerified = entity.secondaryEmailAddressVerified.Value
            });
        }