public IHttpActionResult PostGovernmentPublication(GovernmentPublication governmentPublication) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.GovernmentPublications.Add(governmentPublication); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = governmentPublication.Id }, governmentPublication)); }
public IHttpActionResult DeleteGovernmentPublication(int id) { GovernmentPublication governmentPublication = db.GovernmentPublications.Find(id); if (governmentPublication == null) { return(NotFound()); } db.GovernmentPublications.Remove(governmentPublication); db.SaveChanges(); return(Ok(governmentPublication)); }
public IHttpActionResult PutGovernmentPublication(int id, GovernmentPublication governmentPublication) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != governmentPublication.Id) { return(BadRequest()); } // Check if the user is allowed to change items' availabilities. if ((!User.IsInRole("Administrator")) && (governmentPublication.Availability != db.GovernmentPublications.AsNoTracking().Where(o => o.Id == id).Select(o => o.Availability).Single())) { return(BadRequest("You don't have permission to change the item's availability.")); } db.Entry(governmentPublication).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!GovernmentPublicationExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetGovernmentPublication(int id) { GovernmentPublication governmentPublication = new GovernmentPublication(); if (User.IsInRole("Administrator") || User.IsInRole("Librarian") || User.IsInRole("Local User")) { governmentPublication = db.GovernmentPublications.Find(id); if (governmentPublication == null) { return(NotFound()); } return(Ok(governmentPublication)); } governmentPublication = db.GovernmentPublications.Where(b => b.Availability == "Public" && b.Id == id).FirstOrDefault(); if (governmentPublication == null) { return(NotFound()); } return(Ok(governmentPublication)); }