public IHttpActionResult PostExerciseStudent(ExerciseStudent exerciseStudent) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (String.IsNullOrEmpty(exerciseStudent.Id)) { exerciseStudent.Id = Guid.NewGuid().ToString("N"); } _db.ExerciseStudents.Add(exerciseStudent); try { _db.SaveChanges(); } catch (DbUpdateException) { if (ExerciseStudentExists(exerciseStudent.Id)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("GetExerciseStudentsById", new { id = exerciseStudent.Id }, exerciseStudent)); }
public IHttpActionResult GetExerciseStudent(string id) { ExerciseStudent exerciseStudent = _db.ExerciseStudents.Find(id); if (exerciseStudent == null) { return(NotFound()); } return(Ok(exerciseStudent)); }
public IHttpActionResult PutExerciseStudent(string id, ExerciseStudent exerciseStudent) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != exerciseStudent.Id) { return(BadRequest()); } var parentInDb = _db.ExerciseStudents .SingleOrDefault(p => p.Id == exerciseStudent.Id); if (parentInDb != null) { // to prevent error: "Modifying a column with the 'Identity' pattern is not supported. Column: 'CreatedAt'" exerciseStudent.CreatedAt = parentInDb.CreatedAt; // Update parent _db.Entry(parentInDb).CurrentValues.SetValues(exerciseStudent); try { _db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ExerciseStudentExists(id)) { return(NotFound()); } else { throw; } } } ExerciseStudent freshExerciseStudent = _db .ExerciseStudents .SingleOrDefault(ex => ex.Id == id); if (freshExerciseStudent == null) { return(NotFound()); } return(Ok(freshExerciseStudent)); }
public IHttpActionResult DeleteExerciseStudent(string id) { ExerciseStudent exerciseStudent = _db.ExerciseStudents.Find(id); if (exerciseStudent == null) { return(NotFound()); } _db.ExerciseStudents.Remove(exerciseStudent); try { _db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return(NotFound()); } return(StatusCode(HttpStatusCode.NoContent)); }