コード例 #1
0
        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"));
            }
        }
コード例 #2
0
        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);
        }