Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions web/Areas/CTS/Controllers/AssessmentController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
[HttpGet]
[Permission(Allow = "SVMSecure.CTS.Manage,SVMSecure.CTS.StudentAssessments,SVMSecure.CTS.AssessClinical,SVMSecure.CTS.MyAssessments")]
[ApiPagination(DefaultPerPage = 100, MaxPerPage = 100)]
public async Task<ActionResult<List<StudentAssessment>>> GetAssessments(int? type, int? studentUserId, int? enteredById, int? serviceId,

Check warning on line 47 in web/Areas/CTS/Controllers/AssessmentController.cs

View workflow job for this annotation

GitHub Actions / Backend Tests

'GetAssessments' has a cyclomatic complexity of '29'. Rewrite or refactor the code to decrease its complexity below '26'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1502)
int? epaId, DateOnly? dateFrom, DateOnly? dateTo, ApiPagination? pagination,
string? sortBy = null, bool descending = false)
{
Expand Down Expand Up @@ -135,15 +135,12 @@
var assessmentsList = await assessments
.ToListAsync();

List<StudentAssessment> studentAssessments = new();
foreach (var a in assessmentsList)
return assessmentsList.Select(a =>
{
var sa = CreateStudentAssessment(a);
sa.Editable = ctsSecurityService.CanEditStudentAssessment(sa.EnteredBy, sa.EnteredOn);
studentAssessments.Add(sa);
}

return studentAssessments;
return sa;
}).ToList();
}

[HttpGet("assessors")]
Expand Down
36 changes: 18 additions & 18 deletions web/Areas/CTS/Services/CrestCourseService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,16 +72,16 @@ public async Task<List<Session>> GetSessions(int courseId)
/// <returns></returns>
static private List<Course> CourseSessionOfferingsToCourses(List<CourseSessionOffering> csos)
{
List<Course> courses = new();
foreach (var cso in csos.GroupBy(c => c.CourseId))
{
var rows = cso.ToList();
courses.Add(new Course(rows[0])
return csos.GroupBy(c => c.CourseId)
.Select(g =>
{
Sessions = CourseSessionOfferingsToSessions(rows)
});
}
return courses;
var rows = g.ToList();
return new Course(rows[0])
{
Sessions = CourseSessionOfferingsToSessions(rows)
};
})
.ToList();
}

/// <summary>
Expand All @@ -91,16 +91,16 @@ static private List<Course> CourseSessionOfferingsToCourses(List<CourseSessionOf
/// <returns></returns>
static private List<Session> CourseSessionOfferingsToSessions(List<CourseSessionOffering> csos)
{
List<Session> sessions = new();
foreach (var cso in csos.GroupBy(c => c.SessionId))
{
var rows = cso.ToList();
sessions.Add(new Session(rows[0])
return csos.GroupBy(c => c.SessionId)
.Select(g =>
{
Offerings = CourseSessionOfferingsToOfferings(rows)
});
}
return sessions;
var rows = g.ToList();
return new Session(rows[0])
{
Offerings = CourseSessionOfferingsToOfferings(rows)
};
})
.ToList();
}

/// <summary>
Expand Down
7 changes: 2 additions & 5 deletions web/Areas/RAPS/Controllers/RoleTemplatesController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -126,12 +126,9 @@ public async Task<ActionResult<RoleTemplateApplyPreview>> RoleTemplateApply(stri
}

RoleMemberService roleMemberService = new(_context);
foreach (RoleApplyPreview role in preview.Roles)
foreach (RoleApplyPreview role in preview.Roles.Where(r => !r.UserHasRole))
{
if (!role.UserHasRole)
{
await roleMemberService.AddMemberToRole(role.RoleId, memberId, null, null, string.Format("Added via role template {0}", roleTemplate.TemplateName));
}
await roleMemberService.AddMemberToRole(role.RoleId, memberId, null, null, string.Format("Added via role template {0}", roleTemplate.TemplateName));
}

_rapsCacheService.ClearCachedRolesAndPermissionsForUser(memberId);
Expand Down
16 changes: 7 additions & 9 deletions web/Areas/RAPS/Services/RoleViews.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,12 @@ public async Task<List<string>> UpdateRole(TblRole role, List<string>? messages
//Remove members that were added via this view if they are no longer in the view. Check first that the view is not empty.
if (members.Count > 0)
{
foreach (TblRoleMember roleMember in roleMembers)
foreach (TblRoleMember roleMember in roleMembers.Where(rm => !string.IsNullOrEmpty(rm.MemberId.Trim())
&& !members.Contains(rm.MemberId)
&& rm.ViewName == role.ViewName))
{
if (!string.IsNullOrEmpty(roleMember.MemberId.Trim()) && !members.Contains(roleMember.MemberId)
&& roleMember.ViewName == role.ViewName)
{
messages.Add(string.Format("Removing {0}", roleMember.MemberId));
toDelete.Add(roleMember);
}
messages.Add(string.Format("Removing {0}", roleMember.MemberId));
toDelete.Add(roleMember);
}
}
else
Expand Down Expand Up @@ -212,7 +210,7 @@ private async Task<List<TblRoleMember>> GetRoleMembers(int roleId)
"vw_vmdo_sp" => await _RAPSContext.VwVmdoSps.AsNoTracking().Select(v => v.MemberId).ToListAsync(),
"vw_vmdo_svm_it" => await _RAPSContext.VwVmdoSvmIts.AsNoTracking().Select(v => v.MemberId).ToListAsync(),
"vw_vmthadmissions" => await _RAPSContext.VwVmthadmissions.AsNoTracking().Select(v => v.MemberId).ToListAsync(),
"vw_vmth_chiefs" => await _RAPSContext.VwVmthChiefs.AsNoTracking().Select(v => v.MemberId).ToListAsync(),
"vw_vmth_chiefs" => await _RAPSContext.VwVmthChiefs.AsNoTracking().Select(v => v.MemberId).ToListAsync(),
"vw_vmth_clinicians" => await _RAPSContext.VwVmthClinicians.AsNoTracking().Select(v => v.MemberId).ToListAsync(),
"vw_vmth_constituents" => await _RAPSContext.VwVmthConstituents.AsNoTracking().Select(v => v.MemberId).ToListAsync(),
"vw_vmthinternsmanual" => await _RAPSContext.VwVmthinternsManuals.AsNoTracking().Select(v => v.MemberId).ToListAsync(),
Expand All @@ -225,5 +223,5 @@ private async Task<List<TblRoleMember>> GetRoleMembers(int roleId)
_ => new List<string?>(),
};
}
}
}
}
17 changes: 1 addition & 16 deletions web/Classes/UserHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,22 +96,7 @@ public bool IsInRole(RAPSContext rapsContext, AaudUser user, string roleName)
if (user.LoginId == HttpHelper.HttpContext?.User?.Identity?.Name)
{
var claims = HttpHelper.HttpContext?.User?.Claims;

if (claims != null)
{

foreach (var claim in claims)
{
if (claim.Type == ClaimTypes.Role && claim.Value == roleName)
{
return true;
}

}

}

return false;
return claims?.Any(c => c.Type == ClaimTypes.Role && c.Value == roleName) == true;
}
else
{
Expand Down
Loading