Beispiel #1
0
 /// <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);
     }
 }
Beispiel #3
0
        /// <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();
            }
        }
Beispiel #4
0
        /// <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();
            }
        }
Beispiel #5
0
        /// <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();
            }
        }