public async Task <UserDto> LoginAsync(UserLoginDto userLogin)
        {
            UserDto userDto       = null;
            bool    accountExists = await AccountExists(userLogin.Email);

            if (accountExists)
            {
                var user = await unitOfWork.UserRepository.GetByEmailAsync(userLogin.Email);

                bool passwordIsCorrect = passwordEncryptionService.PasswordIsCorrect(userLogin.Password, user.Salt, user.Password);
                if (passwordIsCorrect)
                {
                    userDto = mapper.Map <UserDto>(user);
                }
            }
            return(userDto);
        }