예제 #1
0
        public async Task <IActionResult> UpdateSubmissionForAssignment(Guid assignmentId, Guid id, [FromBody] SubmissionForUpdateDto submission)
        {
            var submissionEntity = HttpContext.Items["submission"] as Submission;

            _mapper.Map(submission, submissionEntity);
            await _repository.SaveAsync();

            return(NoContent());
        }
        public async Task <IActionResult> UpdateSubmissionForAssignment(Guid assignmentId, Guid id, [FromBody] SubmissionForUpdateDto submission)
        {
            /*  if (submission == null)
             * {
             *    _logger.LogError("SubmissionForUpdateDto object sent from client is null.");
             *    return BadRequest("Submission ForUpdateDto object is null");
             * }
             *
             * if (!ModelState.IsValid)
             * {
             *    _logger.LogError("Invalid model state for the EmployeeForUpdateDto object");
             *    return UnprocessableEntity(ModelState);
             * }
             *
             *
             * var assignment =await _repository.Assignment.GetAssignmentsAsync(assignmentId, trackChanges: false);
             * if (assignment == null)
             * {
             *    _logger.LogInfo($"Assignment with id: {assignmentId} doesn't exist in the database.");
             *    return NotFound();
             * }
             *
             * var submissionEntity =await _repository.Submission.GetSubmissionAsync(assignmentId, id, trackChanges: true);
             * if (submissionEntity == null)
             * {
             *    _logger.LogInfo($"Submission with id: {id} doesn't exist in the database.");
             *    return NotFound();
             * } */


            var submissionEntity = HttpContext.Items["submission"] as Submission;

            _mapper.Map(submission, submissionEntity);
            await _repository.SaveAsync();

            return(NoContent());
        }
        public IActionResult UpdateSubmissionForAssignment(Guid assignmentId, Guid id, [FromBody] SubmissionForUpdateDto submission)
        {
            if (submission == null)
            {
                _logger.LogError("SubmissionForUpdateDto object sent from client is null.");
                return(BadRequest("Submission ForUpdateDto object is null"));
            }

            if (!ModelState.IsValid)
            {
                _logger.LogError("Invalid model state for the EmployeeForUpdateDto object");
                return(UnprocessableEntity(ModelState));
            }


            var assignment = _repository.Assignment.GetAssignments(assignmentId, trackChanges: false);

            if (assignment == null)
            {
                _logger.LogInfo($"Assignment with id: {assignmentId} doesn't exist in the database.");
                return(NotFound());
            }

            var submissionEntity = _repository.Submission.GetSubmission(assignmentId, id, trackChanges: true);

            if (submissionEntity == null)
            {
                _logger.LogInfo($"Submission with id: {id} doesn't exist in the database.");
                return(NotFound());
            }

            _mapper.Map(submission, submissionEntity);
            _repository.Save();

            return(NoContent());
        }
        public IActionResult UpdateSubmission(Guid userId, Guid enrollmentId, Guid id, [FromBody] SubmissionForUpdateDto submission)
        {
            if (submission == null)
            {
                _logger.LogError("SubmissionForUpdateDto object sent from client is null.");
                return(BadRequest("SubmisionForUpdateDto object is null"));
            }

            var user = _repository.User.GetUser(userId, trackChanges: false);

            if (user == null)
            {
                _logger.LogInfo($"User with id: {userId} doesn't exist in the database.");
                return(NotFound());
            }

            var enrollment = _repository.Enrollment.GetOneEnrollmentForUser(userId, enrollmentId, trackChanges: false);

            if (enrollment == null)
            {
                _logger.LogInfo($"Enrollment with id: {enrollmentId} doesn't exist in the database.");
                return(NotFound());
            }

            var submissionsEntity = _repository.Submission.GetOneSubmissionForEnrollment(enrollmentId, id, trackChanges: false);

            if (submissionsEntity == null)
            {
                _logger.LogInfo($"Submission with id: {id} doesn't exist in the database.");
                return(NotFound());
            }


            _mapper.Map(submission, submissionsEntity);
            _repository.Save();

            var submissionToReturn = _mapper.Map <SubmissionDto>(submissionsEntity);

            return(CreatedAtRoute("GetSubmissionForEnrollment",
                                  new { userId, enrollmentId, id = submissionToReturn.Id }, submissionToReturn));
        }