Advanced User Management

This commit is contained in:
Nicola Carminati
2019-04-26 19:22:54 +02:00
parent 839fae6bd6
commit 796f0b32f3
12 changed files with 122 additions and 42 deletions
+31 -12
View File
@@ -159,18 +159,27 @@ namespace Step.Database.Controllers
public List<DTOMessageUserModel> GetMessageUserList()
{
List<DTOMessageUserModel> userList = new List<DTOMessageUserModel>();
userList = dbCtx.Users.Select(x => new DTOMessageUserModel()
using (MachinesUsersController machineController = new MachinesUsersController())
{
Id = x.UserId,
FirstName = x.FirstName,
LastName = x.LastName,
Username = x.Username
})
.ToList();
return userList;
// Find user by Id with Role object included
var tmpUser = dbCtx
.Users
.Where(x => x.Deleted == false) // Get not deleted users
.Join(dbCtx.MachinesUsers,u=>u.UserId,m=>m.UserId, (u, m) => new { Users = u, MachinesUsers = m })
.Where(x => x.MachinesUsers.Role.Level < MIN_CMS_ROLE)
.ToList();
return tmpUser
.Select(x => new DTOMessageUserModel() // Return DTOUserModel
{
Id = x.Users.UserId,
FirstName = x.Users.FirstName,
LastName = x.Users.LastName,
Username = x.Users.Username
})
.ToList();
}
}
#region User Manager
@@ -179,7 +188,6 @@ namespace Step.Database.Controllers
{
using (MachinesUsersController machineController = new MachinesUsersController())
{
List<DTORoleModel> roles = machineController.GetRolesList();
// Find user by Id with Role object included
var tmpUser = dbCtx
@@ -196,7 +204,8 @@ namespace Step.Database.Controllers
LastName = x.LastName,
Language = x.Language,
Role = machineController.GetUserRoleData(MachineConfig.MachineId, x.UserId)
})
}).Where(
x=> x.Role.Level < MIN_CMS_ROLE)
.ToList();
}
}
@@ -229,6 +238,16 @@ namespace Step.Database.Controllers
return GetUserInfo(userId);
}
public Boolean isCMSRole(int roleId)
{
var tmpRole = dbCtx.Roles.ToList().First(X => X.RoleId == roleId);
if (tmpRole == null)
return true;
else
return tmpRole.Level >= MIN_CMS_ROLE;
}
public DTOUserModel UpdateUserRole(int userId, int roleId)
{
using (MachinesUsersController machineController = new MachinesUsersController())