public IHttpActionResult PutArticleVersion(int id, ArticleVersion articleVersion) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != articleVersion.Id) { return(BadRequest()); } db.Entry(articleVersion).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ArticleVersionExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult PutArticle(int id, Article article) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != article.Id) { return(BadRequest()); } try { var art = db.Articles.Where(x => x.Id == id).FirstOrDefault(); if (art != null) { if (art.Title != article.Title || art.ArticleText != article.ArticleText) { ArticleVersion artVers = new ArticleVersion() { ArticleId = art.Id, Title = art.Title, ArticleText = art.ArticleText, CreatorUserId = art.CreatorUserId, VersionDate = art.LastUpdate }; db.ArticleVersions.Add(artVers); art.Title = article.Title; art.ArticleText = article.ArticleText; art.LastUpdate = DateTime.Now; db.SaveChanges(); } } } catch (DbUpdateConcurrencyException) { if (!ArticleExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }