public HttpResponseMessage PostStudents(StudentDetails model) { List<Mark> newMarks = new List<Mark>(); foreach (var mark in model.Marks) { var markEntity = new Mark() { Subject = mark.Subject, Value = mark.Value }; newMarks.Add(markEntity); } var entityToAdd = new Student() { FirstName = model.FirstName, LastName = model.LastName, Age = model.Age, Grade = model.Grade, SchoolId = model.SchoolId, Marks = newMarks }; var createdEntity = this.studentsRepository.Add(entityToAdd); var createdModel = new StudentDetails() { Id = createdEntity.Id, FirstName = createdEntity.FirstName, LastName = createdEntity.LastName, Grade = createdEntity.Grade, Age = createdEntity.Age, SchoolId = createdEntity.SchoolId }; var response = Request.CreateResponse<StudentDetails>(HttpStatusCode.Created, createdModel); var resourceLink = Url.Link("DefaultApi", new { id = createdModel.Id }); response.Headers.Location = new Uri(resourceLink); return response; }
public StudentDetails GetSingle(int id) { var entity = this.studentsRepository.Get(id); var model = new StudentDetails() { Id = entity.Id, FirstName = entity.FirstName, LastName = entity.LastName, Age = entity.Age, Grade = entity.Grade, SchoolId = entity.SchoolId, Marks = (from mark in entity.Marks select new MarkModel() { Subject = mark.Subject, Value = mark.Value } ).ToList() }; return model; }