/// <summary> /// Put an updated Definition /// </summary> // PUT: api/Definitions/5 //[ResponseType(typeof(void))] public IHttpActionResult PutDefinition(int id, Definition definition) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != definition.DefinitionId) { return(BadRequest()); //return Request.CreateResponse(HttpStatusCode.BadRequest); } db.Entry(definition).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!DefinitionExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <ActionResult> Edit([Bind(Include = "DefinitionId,Term,TermDefinition")] DefinitionModel definition) { try { if (ModelState.IsValid) { var def = (from d in db.Definitions where d.Term == definition.Term select d).FirstOrDefault(); if (def != null) { if (def.DefinitionId != definition.DefinitionId) { // Validation error - there is an existing definition for that term ModelState.AddModelError("Term", "A definition already exists for this Term"); return(View(definition)); } else { def.Term = definition.Term; def.TermDefinition = definition.TermDefinition; db.Entry(def).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("List")); } } else { // Re-defining current term (Term does not conflict with existing) var rename = (from d in db.Definitions where d.DefinitionId == definition.DefinitionId select d).FirstOrDefault(); rename.Term = definition.Term; rename.TermDefinition = definition.TermDefinition; db.Entry(rename).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("List")); } } return(View(definition)); } catch (Exception ex) { Debug.WriteLine(ex.Message); return(RedirectToActionPermanent("Index", "Error")); } }
// UPDATE: Glossary public ActionResult Update([DataSourceRequest] DataSourceRequest request, Glossary item) { try { if (ModelState.IsValid) { db.Entry(item).State = EntityState.Modified; db.SaveChanges(); return(Json(new[] { item }.ToDataSourceResult(request, ModelState))); } else { return(Json(db.Glossary.ToList())); } } catch (Exception ex) { return(Json(ex.Message)); } }