Skip to content
Snippets Groups Projects
Commit 0e038cdb authored by esantangelo's avatar esantangelo
Browse files

AddProfessorToCourse user professor

parent 32dc1d7b
No related branches found
No related tags found
No related merge requests found
Pipeline #10478 failed
......@@ -106,7 +106,7 @@ namespace Tsi1.Api.Controllers
return Ok();
}
[Authorize(Roles = UserTypes.FacultyAdmin)]
[Authorize(Roles = UserTypes.FacultyAdmin + ", " + UserTypes.Professor)]
[HttpPost("AddProfessorToCourse")]
public async Task<IActionResult> AddProfessorToCourse(ProfessorCourseDto professorCourseDto)
{
......
......@@ -149,7 +149,7 @@ namespace Tsi1.BusinessLayer.Services
return result;
}
public async Task<ServiceResult<bool>> AddProfessorToCourse(ProfessorCourseDto professorCourseDto)
public async Task<ServiceResult<bool>> AddProfessorToCourse(ProfessorCourseDto professorCourseDto, int userId, string userType)
{
var result = new ServiceResult<bool>();
......@@ -181,6 +181,31 @@ namespace Tsi1.BusinessLayer.Services
return result;
}
var myUser = await _context.Users
.AsNoTracking()
.FirstOrDefaultAsync(x => x.Id == userId);
if (myUser.TenantId != user.TenantId)
{
result.HasError = true;
result.AddMessage(string.Format(ErrorMessages.InvalidTenant, myUser.TenantId));
return result;
}
if (userType == UserTypes.Professor)
{
var isProfessorCourse = await _context.ProfessorCourses
.AsNoTracking()
.AnyAsync(x => x.ProfessorId == myUser.ProfessorId);
if (!isProfessorCourse)
{
result.HasError = true;
result.AddMessage(string.Format(ErrorMessages.ProfessorCourseDoesNotExists, myUser.FirstName + " " + myUser.LastName, course.Name));
return result;
}
}
var existingProfessorCourse = await _context.ProfessorCourses
.FirstOrDefaultAsync(x => x.ProfessorId == user.ProfessorId && x.CourseId == course.Id);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment