/// <summary> /// 设置用户其他关联表信息 /// </summary> /// <param name="db"></param> /// <param name="userId"></param> /// <param name="moduleIds"></param> /// <param name="operateIds"></param> /// <param name="roleIds"></param> /// <returns></returns> private async Task SetOtherInfo(AdminDbContext db, int userId, List <int> organizationIds, List <int> moduleIds, List <int> operateIds, List <int> roleIds) { foreach (int id in organizationIds) { Organization_User ou = new Organization_User() { UserId = userId, OrganizationId = id }; await db.AddAsync(ou); } foreach (int id in moduleIds) { Privilege privilege = new Privilege(MasterEnum.User, userId, AccessEnum.Module, id); await db.AddAsync(privilege); } foreach (int id in operateIds) { Privilege privilege = new Privilege(MasterEnum.User, userId, AccessEnum.Operate, id); await db.AddAsync(privilege); } foreach (int id in roleIds) { Role_User model = new Role_User(); model.UserId = userId; model.RoleId = id; await db.AddAsync(model); } }
/// <summary> /// 设置用户其他关联表信息 /// </summary> /// <param name="db"></param> /// <param name="id"></param> /// <param name="moduleIds"></param> /// <param name="operateIds"></param> /// <param name="roleIds"></param> /// <returns></returns> private async Task SetOtherInfo(AdminDbContext db, int id, List <int> moduleIds, List <int> operateIds, List <int> roleIds) { foreach (int mId in moduleIds) { Privilege privilege = new Privilege(MasterEnum.Organization, id, AccessEnum.Module, mId); await db.AddAsync(privilege); } foreach (int oId in operateIds) { Privilege privilege = new Privilege(MasterEnum.Organization, id, AccessEnum.Operate, oId); await db.AddAsync(privilege); } foreach (int rId in roleIds) { Role_Organization model = new Role_Organization(rId, id); await db.AddAsync(model); } }
/// <summary> /// 角色信息修改 /// </summary> /// <param name="info"></param> /// <returns></returns> public async Task Save(RoleModifyRequest info) { using (_db) { if (info.Id != 0) { await _db.ExecSqlNoQuery("delete Role_User where RoleId=@RoleId", new SqlParameter("RoleId", info.Id)); await _db.ExecSqlNoQuery("delete Privilege where MasterValue=@MasterValue", new SqlParameter("MasterValue", info.Id)); Role role = await _db.Role.FindByIdAsync(info.Id); _mapper.Map(info.Role, role); //BeforeModify(role); } else { Role role = _mapper.Map <Role>(info.Role); await _db.AddAsync(role); await _db.SaveChangesAsync(); info.Id = role.Id; } foreach (int id in info.ModuleIds) { Privilege privilege = new Privilege(MasterEnum.Role, info.Id, AccessEnum.Module, id); await _db.AddAsync(privilege); } foreach (int id in info.OperateIds) { Privilege privilege = new Privilege(MasterEnum.Role, info.Id, AccessEnum.Operate, id); await _db.AddAsync(privilege); } foreach (int id in info.UserIds) { Role_User model = new Role_User(); model.UserId = id; model.RoleId = info.Id; await _db.AddAsync(model); } await _db.SaveChangesAsync(); } }
/// <summary> /// 添加用户 /// </summary> /// <param name="info"></param> /// <returns></returns> public async Task Add(UserAddRequest info) { using (_db) { User user = _mapper.Map <User>(info.User); //BeforeAdd(user); //密码暂写死 user.PassWord = user.UserName; await _db.AddAsync(user); await _db.SaveChangesAsync(); await SetOtherInfo(_db, user.Id, info.User.OrganizationIds, info.ModuleIds, info.OperateIds, info.RoleIds); await _db.SaveChangesAsync(); } }
/// <summary> /// 添加登录日志 /// </summary> /// <param name="info"></param> /// <returns></returns> public async Task Add(LogLoginRequest info) { string ua = _context.HttpContext.Request.Headers["User-Agent"]; var client = UAParser.Parser.GetDefault().Parse(ua); info.UserAgent = ua; info.Browser = client.UA.ToString(); info.Os = client.OS.ToString(); info.IP = IPUtils.GetIP(_context?.HttpContext?.Request); var model = _mapper.Map <LogLogin>(info); using (_db) { await _db.AddAsync(model); await _db.SaveChangesAsync(); } }