public UserInfo GetOrCreate() { var currentPrincipal = _userPrincipalProvider.Get(); var userInfo = _userInfoProvider.Get(currentPrincipal.Sid); if (userInfo != null) { if (userInfo.Login.Equals(currentPrincipal.Name, StringComparison.InvariantCultureIgnoreCase)) { return(userInfo); } var existsUserAdInfo = _adUserInfoProvider.Get(currentPrincipal.Sid); _userInfoProvider.Update(userInfo.Id, existsUserAdInfo.Login, existsUserAdInfo.DisplayName, existsUserAdInfo.Email); return(userInfo); } var newUserAdInfo = _adUserInfoProvider.Get(currentPrincipal.Sid); return(_userInfoProvider.Create( new UserInfo { DisplayName = newUserAdInfo.DisplayName, Email = newUserAdInfo.Email, Login = newUserAdInfo.Login, Sid = currentPrincipal.Sid })); }
public void UpdateUserInfo(UserUpdatedDto user) { if (user == null) { throw new ArgumentNullException(nameof(user)); } if (user.Id != _userPrincipal.Info.Id) { throw new UnauthorizedAccessException(); } _userInfoProvider.Update(user.Id, _userPrincipal.Info.Login, user.DisplayName, user.Email); }