//update for student public void Update(SolvedTask solvedTaskParam) { var solvedTask = _context.SolvedTasks.FirstOrDefault(st => st.TaskId == solvedTaskParam.TaskId && st.UserId == solvedTaskParam.UserId); if (solvedTask == null) { throw new AppException("Solved task not found"); } if (_context.Users.Any(user => user.Id == solvedTaskParam.UserId)) { solvedTask.UserId = solvedTaskParam.UserId; } if (_context.Tasks.Any(task => task.Id == solvedTaskParam.TaskId)) { solvedTask.UserId = solvedTaskParam.UserId; } if (!string.IsNullOrWhiteSpace(solvedTaskParam.Solution)) { solvedTask.Solution = solvedTaskParam.Solution; } _context.SolvedTasks.Update(solvedTask); _context.SaveChanges(); }
public SolvedTask Create(SolvedTask solvedTask, int userId, int taskId) { if (!_context.Users.Any(user => user.Id == userId)) { throw new AppException("User id null or not found"); } if (!_context.Tasks.Any(task => task.Id == taskId)) { throw new AppException("Task id null or not found"); } solvedTask.TaskId = taskId; solvedTask.UserId = userId; solvedTask.IsChecked = false; solvedTask.Mark = null; _context.SolvedTasks.Add(solvedTask); _context.SaveChanges(); return(solvedTask); }
//update for teacher public void RateSolvedTask(SolvedTask solvedTaskParam) { var solvedTask = _context.SolvedTasks.FirstOrDefault(st => st.TaskId == solvedTaskParam.TaskId && st.UserId == solvedTaskParam.UserId); if (solvedTask == null) { throw new AppException("Solved task not found"); } if (solvedTaskParam.Mark > 5 || solvedTaskParam.Mark < 1 || solvedTaskParam.Mark == null) { throw new AppException("Invalid mark"); } if (solvedTaskParam.Mark != null) { solvedTask.Mark = solvedTaskParam.Mark; } solvedTask.IsChecked = true; _context.SolvedTasks.Update(solvedTask); _context.SaveChanges(); }