// GET api/students/5 public StudentFullModel Get(int id) { var student = this.studentsRepository.Get(id); StudentFullModel studentModel = new StudentFullModel(); if (student!=null) { studentModel.TransformFromEntity(student); } return studentModel; }
// api/students?subject=S&value=V public ICollection<StudentFullModel> Get(string subject, int value) { var students = this.studentsRepository.All().Where(s => s.Marks.Any( m => m.Subjeckt == subject && m.Value > value)).ToList(); ICollection<StudentFullModel> studentModels = new List<StudentFullModel>(); foreach (var entity in students) { StudentFullModel stud = new StudentFullModel(); stud.TransformFromEntity(entity); studentModels.Add(stud); } return studentModels; }
// POST api/students public HttpResponseMessage Post(StudentFullModel student) { var entityToAdd = new Student() { FirstName = student.FirstName, LastName = student.LastName, Age = student.Age, Grade = student.Grade }; if (student.School != null) { entityToAdd.School = new School() { SchoolId = student.School.SchoolId, Name = student.School.Name, Location = student.School.Location }; } if (entityToAdd.Marks != null) { entityToAdd.Marks = ( from mark in student.Marks select new Mark() { MarkId = mark.MarkId, Subjeckt = mark.Subjeckt, Value = mark.Value }).ToList(); } var createdEntity = this.studentsRepository.Add(entityToAdd); StudentFullModel studentModel = new StudentFullModel(); studentModel.TransformFromEntity(createdEntity); var response = Request.CreateResponse<StudentFullModel>(HttpStatusCode.Created, studentModel); var resourceLink = Url.Link("DefaultApi", new { id = studentModel.StudentId }); response.Headers.Location = new Uri(resourceLink); return response; }