public IActionResult GetProjectByStudentId() { string StudentId = User.Claims.First(c => c.Type == "UserId").Value; var Projects = ProjectManager.GetProjectByStudentId(StudentId); if (Projects == null) { return(NotFound()); } List <Object> StudentProjects = new List <Object>(); foreach (var project in Projects) { var userproject = ProjectUserManager.GetUserProjectIdByStudentIdAndProjectId(StudentId, project.ProjectModelId); if (userproject == null) { continue; } StudentProjects.Add(new { project, userproject }); } if (StudentProjects == null) { return(NotFound()); } else { return(Ok(StudentProjects)); } }
public async Task <IActionResult> GetCollaboratorIdByProjectId(int ProjectId) { var userProjectList = UserProjectManager.GetCollaboratorIdByProjectId(ProjectId); if (userProjectList.Count() == 0) { return(Ok()); } string UserId = User?.Claims?.First(c => c.Type == "UserId")?.Value; List <Object> Collaborators = new List <Object>(); foreach (var item in userProjectList) { var user = await _userManager.FindByIdAsync(item?.MyUserModelId); if (user == null || user.Id == UserId) { continue; } var UserProject = UserProjectManager.GetUserProjectIdByStudentIdAndProjectId(item?.MyUserModelId, ProjectId); Collaborators.Add(new { user, UserProject }); } if (Collaborators == null) { return(NotFound()); } else { return(Ok(Collaborators)); } }
public IActionResult DeleteByMaterialId(int MaterialId, int ProjectId) { string StudentId = User.Claims.First(c => c.Type == "UserId").Value; var colab = UserProjectManager.GetUserProjectIdByStudentIdAndProjectId(StudentId, ProjectId); if (MaterialId < 1) { return(BadRequest()); } if (colab == null) { return(Unauthorized()); } var material = ProjectMaterialManager.GetMaterialByMaterialId(MaterialId); if (material == null) { return(BadRequest()); } var _Path = material.PathOnServer; if (_Path == null) { return(NotFound()); } else { System.IO.File.Delete(_Path); ProjectMaterialManager.DeleteMaterialByMaterialId(MaterialId); return(Ok()); } }