public async Task <LoginServiceResult> Login(LoginServiceContract contract) { var user = await _userService.GetUser(contract.Login); var loginResult = GetLoginResult(contract, user); if (loginResult.Success) { await _userService.UpdateRefreshToken(user.Id, contract.RefreshToken); } return(loginResult); }
private LoginServiceResult GetLoginResult(LoginServiceContract contract, User user) { var loginReturn = new LoginServiceResult(); if (user != null && MD5Hash(contract?.Password).Equals(user.Password)) { loginReturn.UserId = user.Id; loginReturn.UserName = user.Login; loginReturn.Success = true; } else { loginReturn.Success = false; loginReturn.Error = "Неверное имя пользователя или пароль"; } return(loginReturn); }