public async Task <ActionResult> LogUserIn([FromBody] UserLoginDTO userInfo)
        {
            try
            {
                UserAuthenticateResponseDTO result = await _userService.LogUserIn(userInfo);

                if (result == null)
                {
                    return(BadRequest(new JsonResult("Wrong email or password")));
                }
                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public async Task <ActionResult> AddUserAccount([FromBody] UserRegisterDTO userInfo)
        {
            try
            {
                UserAuthenticateResponseDTO result = await _userService.AddUserAccount(userInfo);

                if (result == null)
                {
                    return(BadRequest(new JsonResult("The desired username is not available.")));
                }
                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Exemplo n.º 3
0
        public async Task <UserAuthenticateResponseDTO> LogUserIn(UserLoginDTO userInfo)
        {
            using (_unitOfWork)
            {
                User user = await _unitOfWork.UserRepository.GetUserByUsername(userInfo.Username);

                if (user == null)
                {
                    return(null);
                }
                if (!PasswordEncryptionService.IsPasswordCorrect(user.Password, userInfo.Password, _appSettings.SaltLength))
                {
                    return(null);
                }

                UserAuthenticateResponseDTO returnUser = _mapper.Map <User, UserAuthenticateResponseDTO>(user);
                returnUser.Token = _tokenManager.GenerateToken(user.UserId);
                returnUser.UnseenNotifications = _unitOfWork.UserRepository.GetUnseenNotificationNumber(user.UserId);
                return(returnUser);
            }
        }
Exemplo n.º 4
0
        public async Task <UserAuthenticateResponseDTO> AddUserAccount(UserRegisterDTO userInfo)
        {
            using (_unitOfWork)
            {
                if (_unitOfWork.UserRepository.UsernameTaken(userInfo.Username))
                {
                    return(null);
                }

                userInfo.Password = PasswordEncryptionService.EncryptPassword(userInfo.Password, _appSettings.SaltLength);
                User newUser = _mapper.Map <UserRegisterDTO, User>(userInfo);
                await _unitOfWork.UserRepository.Create(newUser);

                await _unitOfWork.Save();

                UserAuthenticateResponseDTO returnUser = _mapper.Map <User, UserAuthenticateResponseDTO>(newUser);
                returnUser.Token = _tokenManager.GenerateToken(newUser.UserId);
                returnUser.UnseenNotifications = _unitOfWork.UserRepository.GetUnseenNotificationNumber(newUser.UserId);
                return(returnUser);
            }
        }