/// <summary> /// 删除角色下的用户 /// </summary> /// <param name="dto"></param> /// <returns></returns> public async Task <bool> DeleteUserAsync(RoleToUserDto dto) { if (dto.RoleId <= 0 || !dto.UserIds.HasItems()) { return(false); } using (var tran = _databaseFixture.Db.BeginTransaction()) { try { var list = await _databaseFixture.Db.SysUserRole.GetRoleIdByUserIdsAsync(dto.RoleId, dto.UserIds); foreach (var item in list) { await _databaseFixture.Db.SysUserRole.DeleteAsync(item, tran); } tran.Commit(); return(true); } catch (Exception exception) { tran.Rollback(); _logJobs.ExceptionLog(dto.CurrentUserId, exception); return(false); } } }
public async Task <IActionResult> AddUser([FromBody] RoleToUserDto dto) { dto.CurrentUserId = UserIdentity.UserId; bool res = await _roleService.AddUserAsync(dto); return(Ok(res)); }
/// <summary> /// 角色加入用户 /// </summary> /// <param name="dto"></param> /// <returns></returns> public async Task <bool> AddUserAsync(RoleToUserDto dto) { var uri = API.SysRole.AddUserAsync(_baseUrl); var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json"); var response = await _apiClient.PostAsync(uri, content); response.EnsureSuccessStatusCode(); string res = await response.Content.ReadAsStringAsync(); return(res.ToLower() == bool.TrueString.ToLower()); }
/// <summary> /// 角色加入用户 /// </summary> /// <param name="dto"></param> /// <returns></returns> public async Task <bool> AddUserAsync(RoleToUserDto dto) { if (dto.RoleId <= 0 || !dto.UserIds.HasItems()) { return(false); } using (var tran = _databaseFixture.Db.BeginTransaction()) { try { var userrolelist = await _databaseFixture.Db.SysUserRole.FindAllAsync(m => m.RoleId == dto.RoleId); var list = userrolelist.Select(m => m.UserId).ToList(); //排重 List <long> addList = dto.UserIds.Where(item => !list.Contains(item)).ToList(); //添加 foreach (var item in addList) { SysUserRole userRole = new SysUserRole() { CreateTime = DateTime.Now.ToTimeStamp(), RoleId = dto.RoleId, UserId = item }; await _databaseFixture.Db.SysUserRole.InsertAsync(userRole, tran); } tran.Commit(); return(true); } catch (Exception exception) { tran.Rollback(); _logJobs.ExceptionLog(dto.CurrentUserId, exception); return(false); } } }
/// <summary> /// 修改用户信息 /// </summary> /// <param name="userInfo"></param> /// <returns></returns> public bool UpdateUser(UserDto userInfo) { if (userInfo == null) { return(false); } var user = _UserRepository.Get(p => p.UniqueID == userInfo.UniqueID).FirstOrDefault(); if (user == null) { return(false); } //user user.LoginName = userInfo.LoginName; user.LocalName = userInfo.LocalName; user.DisplayName = userInfo.LocalName; user.EnglishName = userInfo.EnglishName; user.Title = userInfo.Title; user.Address = userInfo.Address; user.Comments = userInfo.Comments; user.IsLocked = userInfo.IsLocked.HasValue && userInfo.IsLocked == true ? 1 : 0; if (!string.IsNullOrEmpty(userInfo.Password)) { var c = new Cryptography("GCRIS2-20061025"); var psd = c.Encrypt(userInfo.Password); if (user.Password != psd) { user.Password = psd; } } //userDomain var userDomian = _dbContext.Set <User2Domain>().FirstOrDefault(u => u.UniqueID == userInfo.UniqueID && u.Domain == userInfo.Domain); if (userDomian == null) { return(false); } userDomian.Department = userInfo.Department; userDomian.Telephone = userInfo.Telephone; userDomian.DomainLoginName = userInfo.DomainLoginName; userDomian.Mobile = userInfo.Mobile; userDomian.Email = userInfo.Email; userDomian.IsSetExpireDate = userInfo.IsSetExpireDate ? 1 : 0; if (userInfo.IsSetExpireDate) { userDomian.EndDate = userInfo.EndDate; userDomian.StartDate = userInfo.StartDate; } else { userDomian.EndDate = null; userDomian.StartDate = null; } //user2role List <RoleToUserDto> listRoles = new List <RoleToUserDto>(); if (userInfo.RolesName != null && userInfo.RolesName.Count > 0) { foreach (string strRoleName in userInfo.RolesName) { RoleToUserDto role = new RoleToUserDto { RoleName = strRoleName, UserID = user.UniqueID, Domain = user.Domain }; listRoles.Add(role); } } UpdateRoleToUser(listRoles); //UserProfile UpdateUserProfile(userInfo.UserProfileList, userInfo.UniqueID, userInfo.Domain); _dbContext.SaveChanges(); return(true); }
//新增用户 public bool SaveUser(UserDto userInfo) { if (userInfo == null) { return(false); } var userdb = _dbContext.Set <User>(); var userDomaindb = _dbContext.Set <User2Domain>(); if (!UserLoginNameExist(userInfo.LoginName)) { //客户端有恢复删除用户的逻辑 return(false); } if (!DisplayNameExist(userInfo)) { return(false); } //add user var user = Mapper.Map <UserDto, User>(userInfo); var c = new Cryptography("GCRIS2-20061025"); user.Password = c.Encrypt(userInfo.Password); user.UniqueID = Guid.NewGuid().ToString(); if (string.IsNullOrEmpty(user.DisplayName)) { user.DisplayName = user.LocalName; } user.DeleteMark = 0; userdb.Add(user); //add User2Domain var userDomain = new User2Domain(); userDomain.UniqueID = user.UniqueID; userDomain.DomainLoginName = userInfo.DomainLoginName; userDomain.Department = userInfo.Department; userDomain.Telephone = userInfo.Telephone; userDomain.Mobile = userInfo.Mobile; userDomain.Email = userInfo.Email; userDomain.Domain = userInfo.Domain; userDomain.IsSetExpireDate = userInfo.IsSetExpireDate ? 1 : 0; userDomain.StartDate = userInfo.StartDate; userDomain.EndDate = userInfo.EndDate; userDomaindb.Add(userDomain); //add roletouser List <RoleToUserDto> listRoles = new List <RoleToUserDto>(); if (userInfo.RolesName != null && userInfo.RolesName.Count > 0) { foreach (string strRoleName in userInfo.RolesName) { RoleToUserDto role = new RoleToUserDto { RoleName = strRoleName, UserID = user.UniqueID, Domain = user.Domain }; listRoles.Add(role); } } if (!UpdateRoleToUser(listRoles)) { return(false); } //add userprofile var rps = GetRoleProfiles(userInfo.Domain); var updb = _dbContext.Set <UserProfile>(); if (rps != null) { string strPropertyOption = null; int canBeInherited = -1; foreach (var rp in rps) { strPropertyOption = Convert.ToString(rp.PropertyOptions); if (!strPropertyOption.Contains("|")) { strPropertyOption = strPropertyOption.Replace("''", "'"); } canBeInherited = rp.CanBeInherited - 1; var up = new UserProfile(); up.UniqueID = Guid.NewGuid().ToString(); up.Name = rp.Name; up.ModuleID = rp.ModuleID; up.RoleName = rp.RoleName; up.UserID = user.UniqueID; if (rp.Name.ToUpper() == "ACCESSSITE") { up.Value = userInfo.AccessSites != null? userInfo.AccessSites: userInfo.Site; } else { up.Value = rp.Name.ToUpper() == "BELONGTOSITE" ? userInfo.Site : rp.Value; } up.IsExportable = rp.IsExportable; up.PropertyDesc = rp.PropertyDesc.Trim(); up.PropertyOptions = strPropertyOption; up.CanBeInherited = canBeInherited; up.PropertyType = rp.PropertyType; up.IsHidden = 1; up.OrderingPos = rp.OrderingPos; up.Domain = user.Domain; updb.Add(up); } } _dbContext.SaveChanges(); return(true); }
public async Task <bool> AddUserAsync([FromBody] RoleToUserDto dto) { return(await _roleService.AddUserAsync(dto)); }