Example #1
0
        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));
        }
Example #2
0
        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));
        }