Example #1
0
        //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();
        }
Example #2
0
 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);
 }
Example #3
0
        //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();
        }