Пример #1
0
        // GET api/Students/5
        public StudentDetails GetStudents(int id)
        {
            DbStudentsRepository studentRepository = this.allRepositories.GetStudentsRepository();

            var student = studentRepository.Get(id);

            if (student == null)
            {
                var errResponse = Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No such user was found");
                throw new HttpResponseException(errResponse);
            }

            var studentDetails = new StudentDetails()
            {
                Id        = student.Id,
                FirstName = student.FirstName,
                LastName  = student.LastName,
                Age       = student.Age,
                Grade     = student.Grade,
                SchoolId  = student.School.Id,

                Marks = (from mark in student.Marks
                         select new MarkModel()
                {
                    Id = mark.Id,
                    Subject = mark.Subject,
                    Value = mark.Value
                }).ToList()
            };

            return(studentDetails);
        }
Пример #2
0
        // POST api/Marks
        public HttpResponseMessage PostMarks(MarkModel marksModel)
        {
            if (marksModel == null)
            {
                var errResponse = Request.CreateErrorResponse(HttpStatusCode.BadRequest, "The supported mark model cannot be null");
                throw new HttpResponseException(errResponse);
            }

            DbStudentsRepository studentRepository = this.allRepositories.GetStudentsRepository();

            Student student = studentRepository.Get(marksModel.StudentId);

            DbMarksRepository marksRepository = this.allRepositories.GetMarksRepository();

            Mark mark = new Mark()
            {
                Subject = marksModel.Subject,
                Value   = marksModel.Value,
                Student = student
            };

            marksRepository.Add(mark);

            MarkModel createdMarkModel = new MarkModel()
            {
                Id        = mark.Id,
                Subject   = mark.Subject,
                Value     = mark.Value,
                StudentId = mark.Student.Id
            };

            var response     = Request.CreateResponse <MarkModel>(HttpStatusCode.Created, createdMarkModel);
            var resourceLink = Url.Link("DefaultApi", new { id = createdMarkModel.Id });

            response.Headers.Location = new Uri(resourceLink);
            return(response);
        }