public IHttpActionResult PostRaceLegModel(RaceLegModel raceLegModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } raceLegModel.Id = Guid.NewGuid(); db.RaceLegs.Add(raceLegModel); try { db.SaveChanges(); } catch (DbUpdateException) { if (RaceLegModelExists(raceLegModel.Id)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = raceLegModel.Id }, raceLegModel)); }
public IHttpActionResult GetRaceLegModelResults(Guid id) { RaceLegModel raceLegModel = db.RaceLegs .Include(l => l.LegResults.Select(lr => lr.Yacht)) .Single(l => l.Id == id); if (raceLegModel == null) { return(NotFound()); } return(Ok(raceLegModel.LegResults)); }
public IHttpActionResult DeleteRaceLegModel(Guid id) { RaceLegModel raceLegModel = db.RaceLegs.Find(id); if (raceLegModel == null) { return(NotFound()); } db.RaceLegs.Remove(raceLegModel); db.SaveChanges(); return(Ok(raceLegModel)); }
// PATCH: api/RaceLeg/5 public IHttpActionResult PatchRaceLegModel(Guid id, RaceLegModel raceLegModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } raceLegModel.Id = id; db.RaceLegs.Attach(raceLegModel); var raceLeg = db.RaceLegs .Single(d => d.Id == raceLegModel.Id); DbEntityEntry entry = db.Entry(raceLegModel); foreach (var propertyName in entry.OriginalValues.PropertyNames) { if (propertyName != "LegResults" && propertyName != "Id") { var original = entry.GetDatabaseValues().GetValue <object>(propertyName); var current = entry.CurrentValues.GetValue <object>(propertyName); if (!object.Equals(original, current)) { entry.Property(propertyName).IsModified = true; } } } try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!RaceLegModelExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult DeleteLegResultModel(Guid id, Guid resultId) { RaceLegModel raceLegModel = db.RaceLegs .Include(rl => rl.LegResults) .Single(rl => rl.Id == id); if (raceLegModel == null) { return(NotFound()); } LegResultModel legResultModel = db.LegResults .Include(lr => lr.Yacht) .Single(lr => lr.Id == resultId); raceLegModel.LegResults.Remove(legResultModel); db.SaveChanges(); return(Ok(legResultModel)); }