/// <summary>
            /// Initiates a link between an external identity and an existing customer.
            /// </summary>
            /// <param name="emailAddressOfExistingCustomer">The email address of existing customer.</param>
            /// <param name="emailTemplateId">The email template identifier.</param>
            /// <param name="emailTemplateProperties">The email template properties.</param>
            /// <returns>
            /// A task.
            /// </returns>
            public virtual async Task <LinkToExistingCustomerResult> InitiateLinkExternalIdToExistingCustomer(string emailAddressOfExistingCustomer, string emailTemplateId, IEnumerable <NameValuePair> emailTemplateProperties)
            {
                string activationToken = System.Guid.NewGuid().ToString();
                IStoreOperationsManager      storeOperationsManager = Utilities.GetManagerFactory(this.EcommerceContext).GetManager <IStoreOperationsManager>();
                LinkToExistingCustomerResult linkResult             = await storeOperationsManager.InitiateLinkToExistingCustomer(emailAddressOfExistingCustomer, activationToken, emailTemplateId, emailTemplateProperties);

                return(linkResult);
            }