public IActionResult UpdateStudent(string studentId, [FromBody] StudentForCreatingDto student) { var studentFromRepo = _repository.GetStudent(studentId); if (studentFromRepo == null) { // Student not exists, by REST PUT we must create new student var studentToAdd = _mapper.Map <Entities.Student>(student); studentToAdd.Id = studentId; _repository.AddStudent(studentToAdd); _repository.Save(); var studentToReturn = _mapper.Map <StudentDto>(studentToAdd); return(CreatedAtRoute("GetStudent", new { studentId = studentToReturn.Id }, studentToReturn)); } // course exist, we update one _mapper.Map(student, studentFromRepo); _repository.UpdateStudent(studentId, studentFromRepo); _repository.Save(); return(NoContent()); }
public ActionResult AddSubjects(string studentId, SubjectsToStudentOperatins subjectToAdd) { var studentFromRepo = _repository.GetStudent(studentId); if (studentId == null) { return(NotFound()); } foreach (var subjectId in subjectToAdd.Subjects) { if (_repository.SubjectExists(subjectId)) { _repository.AddSubjectToStudent(studentFromRepo.Id, subjectId); } } _repository.UpdateStudent(studentFromRepo.Id, studentFromRepo); _repository.Save(); var subjectsEntities = _repository.GetSubjectsForStudent(studentId, false); var subjectsDtos = subjectsEntities.Select(s => _mapper.Map <SubjectDto>(s)).ToList(); return(CreatedAtRoute("GetSubjectsForStudent", new { }, subjectsDtos)); // Todo GET available subjects to add }