public async Task <AuthenticationResponse> SignUp(RegisterRequest registerRequest)
        {
            if (registerRequest.Password != registerRequest.ConfirmPassword)
            {
                return(new AuthenticationResponse
                {
                    Message = "Confirm Password Does not match the Password",
                    IsSuccess = false
                });
            }

            await emailService.CheckIfEmailExist(registerRequest.Email);

            var newUser   = mapper.Map <User>(registerRequest);
            var isCreated = await userManager.CreateAsync(newUser, registerRequest.Password);


            if (isCreated.Succeeded)
            {
                var userId = newUser.Id;
                var token  = await userManager.GenerateEmailConfirmationTokenAsync(newUser);

                var validTokenForWeb = createValidTokenForWeb(token);


                // await SendConfirmationMail(userId,registerRequest.Email,validTokenForWeb);

                return(new AuthenticationResponse
                {
                    Message = "User Added Successfully",
                    IsSuccess = true,
                    Errors = new List <string>()
                });
            }

            return(new AuthenticationResponse
            {
                IsSuccess = false,
                Message = "User Didn't Created.",
                Errors = isCreated.Errors.Select(error => error.Description)
            });
        }