public User RegAdmin(User user) { if (user == null) { throw new ArgumentNullException("username"); } var reps = PrivilegeContextProvider.GetRepository(); using (reps) { var userUnit = reps.Use<User>(); if (userUnit.Any(x => true)) { throw new ApplicationException("系统已存在用户,无法直接注册管理员"); } var roleUnit = reps.Use<Role>(); var role = new Role() { Description = PrivilegeContextProvider.SystemRoleName, Id = roleUnit.GetSequenceId(), Name = PrivilegeContextProvider.SystemRoleName }; roleUnit.Add(role); User entity = new User { Password = StringHelper.EncodePassword(user.Username, user.Password), Status = BaseStatuses.Valid, CreateTime = user.CreateTime, Description = user.Description, Username = user.Username, DepartmentId = user.DepartmentId, Id = userUnit.GetSequenceId() }; user = userUnit.Add(entity); UserRole userRole = new UserRole(); userRole.RoleId = role.Id; userRole.UserId = entity.Id; reps.Use<UserRole>().Add(userRole); reps.SaveChanges(); HttpRuntime.Cache.Remove("FirstStart"); return user; } }
public void AddUserRole(int roleId, int userId) { UserRole entity = new UserRole { RoleId = roleId, UserId = userId }; var reps = ConfigManager.PrivilegeProvider.GetRepository(); reps.Use<UserRole>().Add(entity); reps.SaveChanges(); }