Пример #1
0
 private EmailAddress DoCreate <T>(NewEmailAddress <T> newEmailAddress, T emailAddressable, List <EmailAddress> existingEmailAddresses) where T : class, IEmailAddressable
 {
     throwIfEMailAddressableEntityNotFound(emailAddressable, newEmailAddress.GetEmailAddressableEntityId());
     if (newEmailAddress.IsPrimary)
     {
         existingEmailAddresses.ForEach(x => x.IsPrimary = false);
     }
     return(newEmailAddress.AddEmailAddress(emailAddressable));
 }
Пример #2
0
        /// <summary>
        /// Creates a new email address in the ECA system.
        /// </summary>
        /// <typeparam name="T">The IEmailAddressable entity type.</typeparam>
        /// <param name="newEmailAddress">The email address.</param>
        /// <returns>The created email address entity.</returns>
        public EmailAddress Create <T>(NewEmailAddress <T> newEmailAddress) where T : class, IEmailAddressable
        {
            var addressable = this.Context.Set <T>().Find(newEmailAddress.GetEmailAddressableEntityId());
            List <EmailAddress> existingEmailAddresses = new List <EmailAddress>();

            if (newEmailAddress.IsPrimary)
            {
                existingEmailAddresses = newEmailAddress.CreateGetEmailAddressesQuery(this.Context).ToList();
            }
            return(DoCreate(newEmailAddress, addressable, existingEmailAddresses));
        }
Пример #3
0
        /// <summary>
        /// Creates a new email addres in the ECA system.
        /// </summary>
        /// <typeparam name="T">The IEmailAddressable entity type.</typeparam>
        /// <param name="newEmailAddress">The email address.</param>
        /// <returns>The created semail address entity.</returns>
        public async Task <EmailAddress> CreateAsync <T>(NewEmailAddress <T> newEmailAddress) where T : class, IEmailAddressable
        {
            var addressable = await this.Context.Set <T>().FindAsync(newEmailAddress.GetEmailAddressableEntityId());

            List <EmailAddress> existingEmailAddresses = new List <EmailAddress>();

            if (newEmailAddress.IsPrimary)
            {
                existingEmailAddresses = await newEmailAddress.CreateGetEmailAddressesQuery(this.Context).ToListAsync();
            }
            return(DoCreate(newEmailAddress, addressable, existingEmailAddresses));
        }
 /// <summary>
 ///
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="emailAddress"></param>
 /// <returns></returns>
 public Task <EmailAddress> CreateAsync <T>(NewEmailAddress <T> emailAddress) where T : class, IEmailAddressable
 {
     Contract.Requires(emailAddress != null, "The social media entity must not be null.");
     Contract.Ensures(Contract.Result <Task <EmailAddress> >() != null, "The email address entity returned must not be null.");
     return(Task.FromResult <EmailAddress>(null));
 }