public static bool AddUserToRole(string userId, string roleId) { var retVal = false; try { var user = GetUser(userId); if (user != null) { if (user.Roles.All(p => p.RoleId != roleId)) { var identityRole = new AccountUserRole { UserId = userId, RoleId = roleId }; if (!user.Roles.Contains(identityRole)) { user.Roles.Add(identityRole); } user.LastModified = DateTime.Now; if (UserManager != null) { UserManager.Update(user); } else { if (_context != null) { using (var manager = new AccountManager(new AccountStore(_context.Get <SKMContext>()))) { manager.Update(user); } } else { using (var db = new SKMContext()) { using (var manager = new AccountManager(new AccountStore(db))) { manager.Update(user); } } } } retVal = true; } } } catch (Exception) { } return(retVal); }
/// <summary> /// Inserts a customer role /// </summary> /// <param name="customerRole">AccountUser role</param> public virtual void InsertAccountUserRole(AccountUserRole customerRole) { if (customerRole == null) { throw new ArgumentNullException("customerRole"); } _customerRoleRepository.Insert(customerRole); _cacheManager.RemoveByPattern(CUSTOMERROLES_PATTERN_KEY); //event notification _eventPublisher.EntityInserted(customerRole); }
/// <summary> /// Updates the accountUser role /// </summary> /// <param name="accountUserRole">AccountUser role</param> public virtual void UpdateAccountUserRole(AccountUserRole accountUserRole) { if (accountUserRole == null) { throw new ArgumentNullException("accountUserRole"); } _accountUserRoleRepository.Update(accountUserRole); _cacheManager.RemoveByPattern(CUSTOMERROLES_PATTERN_KEY); //event notification _eventPublisher.EntityUpdated(accountUserRole); }
/// <summary> /// Add roles relation for account user /// </summary> /// <param name="user">The created account user</param> /// <param name="roleId">The assigned role</param> private void addUserToRole(AccountUser user, int roleId) { var role = _roleRepository.GetSingle(roleId); if (role == null) { throw new Exception("Role does not exist."); } var userRole = new AccountUserRole() { RoleId = role.Id, AccountUserId = user.Id }; _accountUserRoleRepository.Add(userRole); _accountUserRoleRepository.Commit(); // change from base }
/// <summary> /// Delete a accountUser role /// </summary> /// <param name="accountUserRole">AccountUser role</param> public virtual void DeleteAccountUserRole(AccountUserRole accountUserRole) { if (accountUserRole == null) { throw new ArgumentNullException("accountUserRole"); } if (accountUserRole.IsSystemRole) { throw new CSCZJException("System role could not be deleted"); } _accountUserRoleRepository.Delete(accountUserRole); _cacheManager.RemoveByPattern(CUSTOMERROLES_PATTERN_KEY); //event notification _eventPublisher.EntityDeleted(accountUserRole); }
public static AccountUserRole ToEntity(this AccountUserRoleModel model, AccountUserRole destination) { return(model.MapTo(destination)); }
public static AccountUserRoleModel ToModel(this AccountUserRole entity) { return(entity.MapTo <AccountUserRole, AccountUserRoleModel>()); }
public IHttpActionResult SetRoles() { // return BadRequest("角色配置 cloesd"); #region 用户角色创建 var crAdministrators = new AccountUserRole(); var crRegistered = new AccountUserRole(); var roleNames = new List <string> { SystemAccountUserRoleNames.Administrators, SystemAccountUserRoleNames.DataReviewer, SystemAccountUserRoleNames.GovAuditor, SystemAccountUserRoleNames.StateOwnerAuditor, SystemAccountUserRoleNames.ParentGovernmentorAuditor, SystemAccountUserRoleNames.Registered }; foreach (var roleName in roleNames) { var role = _accountUserService.GetAccountUserRoleBySystemName(roleName); if (role == null) { role = new AccountUserRole { Name = roleName, Active = true, IsSystemRole = true, SystemName = roleName }; _accountUserService.InsertAccountUserRole(role); } if (roleName == SystemAccountUserRoleNames.Administrators) { crAdministrators = role; } if (roleName == SystemAccountUserRoleNames.Registered) { crRegistered = role; } } #endregion #region 测试组织机构 var cz = new GovernmentUnit { Name = "县财政局", GovernmentType = GovernmentType.Government, Person = "联系人", Tel = "0570-5062456" }; _governmentService.InsertGovernmentUnit(cz); #endregion #region 用户创建 var user = new AccountUser() { UserName = "******", AccountUserGuid = Guid.NewGuid(), Active = true, CreatedOn = DateTime.Now, IsSystemAccount = false, Password = "******", PasswordFormat = PasswordFormat.Clear, LastActivityDate = DateTime.Now, Deleted = false, UpdatedOn = DateTime.Now, Government = cz }; user.AccountUserRoles.Add(crAdministrators); user.AccountUserRoles.Add(crRegistered); _accountUserService.InsertAccountUser(user); user = new AccountUser() { UserName = "******", AccountUserGuid = Guid.NewGuid(), Active = true, CreatedOn = DateTime.Now, IsSystemAccount = false, Password = "******", PasswordFormat = PasswordFormat.Clear, LastActivityDate = DateTime.Now, Deleted = false, UpdatedOn = DateTime.Now, Government = cz }; _accountUserService.InsertAccountUser(user); #endregion return(Ok("角色配置完成")); }