private PhoneNumber DoCreate <T>(NewPhoneNumber <T> newPhoneNumber, T phoneNumberable, List <PhoneNumber> existingPhoneNumbers) where T : class, IPhoneNumberable { throwIfPhoneNumberableEntityNotFound(phoneNumberable, newPhoneNumber.GetPhoneNumberableEntityId()); if (newPhoneNumber.IsPrimary) { existingPhoneNumbers.ForEach(x => x.IsPrimary = false); } return(newPhoneNumber.AddPhoneNumber(phoneNumberable)); }
/// <summary> /// Creates a new phone number in the ECA system. /// </summary> /// <typeparam name="T">The IPhoneNumberable entity type.</typeparam> /// <param name="newPhoneNumber">The phone number.</param> /// <returns>The created phone number entity.</returns> public PhoneNumber Create <T>(NewPhoneNumber <T> newPhoneNumber) where T : class, IPhoneNumberable { var phoneNumberable = this.Context.Set <T>().Find(newPhoneNumber.GetPhoneNumberableEntityId()); List <PhoneNumber> existingPhoneNumbers = new List <PhoneNumber>(); if (newPhoneNumber.IsPrimary) { existingPhoneNumbers = newPhoneNumber.CreateGetPhoneNumbersQuery(this.Context).ToList(); } return(DoCreate(newPhoneNumber, phoneNumberable, existingPhoneNumbers)); }
/// <summary> /// Creates a new phone number in the ECA system. /// </summary> /// <typeparam name="T">The IEmailAddressable entity type.</typeparam> /// <param name="newPhoneNumber">The phone number.</param> /// <returns>The created phone number entity.</returns> public async Task <PhoneNumber> CreateAsync <T>(NewPhoneNumber <T> newPhoneNumber) where T : class, IPhoneNumberable { var phoneNumberable = await this.Context.Set <T>().FindAsync(newPhoneNumber.GetPhoneNumberableEntityId()); List <PhoneNumber> existingPhoneNumbers = new List <PhoneNumber>(); if (newPhoneNumber.IsPrimary) { existingPhoneNumbers = await newPhoneNumber.CreateGetPhoneNumbersQuery(this.Context).ToListAsync(); } return(DoCreate(newPhoneNumber, phoneNumberable, existingPhoneNumbers)); }
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="phoneNumber"></param> /// <returns></returns> public Task <PhoneNumber> CreateAsync <T>(NewPhoneNumber <T> phoneNumber) where T : class, IPhoneNumberable { Contract.Requires(phoneNumber != null, "The phone number entity must not be null."); Contract.Ensures(Contract.Result <Task <PhoneNumber> >() != null, "The phone number entity returned must not be null."); return(Task.FromResult <PhoneNumber>(null)); }
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="phoneNumber"></param> /// <returns></returns> public PhoneNumber Create <T>(NewPhoneNumber <T> phoneNumber) where T : class, IPhoneNumberable { Contract.Requires(phoneNumber != null, "The phone number entity must not be null."); Contract.Ensures(Contract.Result <PhoneNumber>() != null, "The phone number entity returned must not be null."); return(null); }