public async Task <ActionResult <Studenti> > EnrollStudent(int studentId, int courseId) { try { var studentToUpdate = await _studentiRepository.GetStudentWithCourses(studentId); var course = await _predmetiRepository.GetCourse(courseId); if (studentToUpdate == null || course == null) { return(NotFound("Requested data couldn't be found.")); } PredmetiStudenti enrollment = new PredmetiStudenti { IdPredmeta = course.Id, IdPredmetaNavigation = course, IdStudenta = studentToUpdate.Id, IdStudentaNavigation = studentToUpdate }; studentToUpdate.PredmetiStudenti.Add(enrollment); course.PredmetiStudenti.Add(enrollment); return(await _studentiRepository.UpdateStudent(studentToUpdate)); } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Error updating data")); } }
public async Task <Studenti> UpdateStudent(int id, StudentiView student) { #region Mapping StudentiView to Studenti Studenti parsedStudent = new Studenti { Id = student.Id, Ime = student.Ime, Prezime = student.Prezime, }; foreach (var e in student.PredmetiStudenti) { PredmetiStudenti enrollment = new PredmetiStudenti { IdPredmeta = e.IdPredmeta, IdStudenta = e.IdStudenta }; parsedStudent.PredmetiStudenti.Add(enrollment); } #endregion var response = await _httpClient.PutJsonAsync <Studenti>($"api/studenti/{ id }", parsedStudent); return(response); }