Ejemplo n.º 1
0
 private void SaveOrUpdateRoleUser(Guid userId, IList<string> roleCodes)
 {
     var userInContext = NpcContext.CurrentUser;
     if (roleCodes == null || !roleCodes.Any())
         return;
     var roleUserRepository = new RoleUserRepository();
     var roleRepository = new RoleRepository();
     var roleUser = roleUserRepository.GetRoleUserByUserId(userId) ?? new RoleUser();
     roleUser.Roles.Clear();
     roleUser.UserId = userId;
     var roles = roleRepository.GetRolesByCodes(roleCodes, userInContext.Unit.Id);
     roles.ToList().ForEach(role => roleUser.Roles.Add(role));
     roleUserRepository.Save(roleUser);
 }
Ejemplo n.º 2
0
 private void InitUnitPermissions(Unit unit, User admin)
 {
     var privilegeRepository = new PrivilegeRepository();
     var privileges = privilegeRepository.GetAllPrivileges();
     var roleRepository = new RoleRepository();
     var roles = roleRepository.GetAllRoleByUnitId(unit.Id);
     var role = roles.FirstOrDefault(r => r.Code == "SuperAdmin");
     if (role == null)
     {
         role = new Role();
         role.Name = "超级管理员";
         role.Code = "SuperAdmin";
         role.UnitId = unit.Id;
         privileges.ToList().ForEach(privilege => role.Privileges.Add(privilege));
         roleRepository.Save(role);
     }
     var roleUserRepository = new RoleUserRepository();
     var roleUser = roleUserRepository.GetRoleUserByUserId(admin.Id);
     if (roleUser == null)
     {
         roleUser = new RoleUser();
         roleUser.UserId = admin.Id;
         roleUser.Roles.Add(role);
         roleUserRepository.Save(roleUser);
     }
 }