private User CreateUser(string identityName, IEnumerable <string> roles) { var user = new User { SystemName = identityName, Active = true, Name = GetUserNameFromAD(identityName), LastActivityDate = DateTime.Now, FullName = GetUserNameFromAD(identityName), SubdivisionName = string.Join(", ", roles) }; _userRepository.Add(user); var role = GetUserRoleBySystemName(AppUserDefaults.RegisteredRoleName); try { var userRoleMapping = new UserUserRoleMapping { UserId = user.Id, UserRoleId = role.Id }; AddUserRoleMapping(userRoleMapping); } catch (DbException e) { //В случае ошибки при добавлении роли пользователю он будет удален из бд DeleteUser(user); e.Data.Add(user.SystemName, $"Не удалось добавить роль {AppUserDefaults.RegisteredRoleName}"); throw; } return(user); }
/// <summary> /// Add a user-user role mapping /// </summary> /// <param name="roleMapping">User-user role mapping</param> public void AddUserRoleMapping(UserUserRoleMapping roleMapping) { if (roleMapping is null) { throw new ArgumentNullException(nameof(roleMapping)); } _userUserRoleMappingRepository.Add(roleMapping); // _eventPublisher.EntityInserted(roleMapping); }