public async Task <ServiceResponseData> SendUserAccountConfirmationLinkAsync(string email)
        {
            var responseData = new ServiceResponseData();

            try
            {
                var user = await _userManager.FindByEmailAsync(email);

                if (user == null)
                {
                    throw new Exception("Invalid email");
                }


                if (user.EmailConfirmed)
                {
                    throw new Exception("Your account has been confirmed already!");
                }

                var token = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                var securityToken = DateTime.Now.ToString("MMddmmssff");

                var userEntity = GetAspNetUserEntity(user.Id);
                userEntity.SecurityToken = securityToken;
                _aspNetUserRepository.Update(userEntity);
                _unitOfWork.Commit();

                var baseUrl = _configuration["AngularAppUrl"]; //_emailHelper.GetApplicationBaseUrl();

                //var callBackUrl = string.Format("{0}/confirmemail?userId={1}&code={2}", baseUrl, HttpUtility.UrlEncode(user.Id.ToString()), HttpUtility.UrlEncode(token));
                var callBackUrl = string.Format("{0}/confirmemail/{1}/{2}", baseUrl, user.Id, securityToken);
                _emailManager.SendAccountConfirmationEmail(user.FirstName, user.Email, callBackUrl);
            }
            catch (Exception ex)
            {
                responseData.ErrorMessage = ex.ProcessException(_errorService);
                responseData.IsSuccess    = false;
            }

            return(await Task.FromResult(responseData));
        }