public User GetUser(int id) { var data = UserProcessor.SelectUserWithRoles(id); var user = new User { UserId = data.UserId, Username = data.Username, FirstName = data.FirstName, LastName = data.LastName, EmailAddress = data.Email, PhoneNumber = data.PhoneNo, Password = data.Password, }; foreach (var userRoleData in data.UserRoles) { var userRole = new UserRole( ); userRole.UserRoleId = userRoleData.UserRoleId; userRole.RoleId = userRoleData.RoleId; userRole.UserId = userRoleData.UserId; userRole.User = user; var roleData = RoleProcessor.SelectRoleWithPermissions(userRoleData.RoleId); var role = new Role( ); role.RoleId = roleData.RoleId; role.Name = roleData.Name; foreach (var rolePermissionData in roleData.RolePermissions) { var rolePermission = new RolePermission( ); rolePermission.RoleId = rolePermissionData.RoleId; rolePermission.PermissionId = rolePermissionData.RoleId; rolePermission.Role = role; var permissionData = PermissionProcessor.SelectPermission(rolePermissionData.PermissionId); var permission = new Permission(permissionData); rolePermission.Permission = permission; role.RolePermissions.Add(rolePermission); } userRole.Role = role; user.UserRoles.Add(userRole); } User = user; return(User); }
public List <RolePermission> getRolePermissionByRoleId(int roleId) { var roleData = RoleProcessor.SelectRoleWithPermissions(roleId); var role = new Role( ); role.RoleId = roleData.RoleId; role.Name = roleData.Name; foreach (var rolePermissionData in roleData.RolePermissions) { var rolePermission = new RolePermission( ); rolePermission.RoleId = rolePermissionData.RoleId; rolePermission.PermissionId = rolePermissionData.RoleId; rolePermission.Role = role; var permissionData = PermissionProcessor.SelectPermission(rolePermissionData.PermissionId); var permission = new Permission( ); permission.PermissionId = permissionData.PermissionId; permission.PermissionName = permissionData.PermissionName; rolePermission.Permission = permission; role.RolePermissions.Add(rolePermission); } return(role.RolePermissions.ToList( )); }