예제 #1
0
        public IHttpActionResult PutNewsIdentityModel(int id, NewsIdentityModel newsIdentityModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != newsIdentityModel.Id)
            {
                return(BadRequest());
            }

            db.Entry(newsIdentityModel).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!NewsIdentityModelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #2
0
        public IHttpActionResult PostArticle([FromBody] PostedArticleModel postedArticle)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            using (DbContextTransaction transaction = db.Database.BeginTransaction())
            {
                try
                {
                    NewsIdentityModel article = new NewsIdentityModel()
                    {
                        AuthorId       = postedArticle.AuthorId,
                        NewsCategoryId = postedArticle.CategoryId,
                        CreationDate   = DateTime.Now,
                        Title          = postedArticle.Title,
                    };
                    db.NewsIdentities.Add(article);
                    db.SaveChanges();

                    int articleId = db.NewsIdentities.OrderByDescending(x => x.Id).FirstOrDefault().Id;

                    NewsContentModel articleContent = new NewsContentModel()
                    {
                        NewsIdentityId = articleId,
                        Headline       = postedArticle.Headline,
                        Body           = postedArticle.Body
                    };
                    db.NewsContents.Add(articleContent);
                    db.SaveChanges();

                    foreach (int imageId in postedArticle.imagesIdsList)
                    {
                        NewsImagesModel articleImage = new NewsImagesModel()
                        {
                            NewsIdentityId = articleId,
                            ImageId        = imageId
                        };
                        db.NewsImages.Add(articleImage);
                        db.SaveChanges();
                    }


                    transaction.Commit();
                }
                catch (Exception)
                {
                    transaction.Rollback();
                }
            }

            return(Ok());
        }
예제 #3
0
        public IHttpActionResult GetNewsIdentityModel(int id)
        {
            NewsIdentityModel newsIdentityModel = db.NewsIdentities.Find(id);

            if (newsIdentityModel == null)
            {
                return(NotFound());
            }

            return(Ok(newsIdentityModel));
        }
예제 #4
0
        public IHttpActionResult PostNewsIdentityModel(NewsIdentityModel newsIdentityModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.NewsIdentities.Add(newsIdentityModel);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = newsIdentityModel.Id }, newsIdentityModel));
        }
예제 #5
0
        public IHttpActionResult DeleteNewsIdentityModel(int id)
        {
            NewsIdentityModel newsIdentityModel = db.NewsIdentities.Find(id);

            if (newsIdentityModel == null)
            {
                return(NotFound());
            }

            db.NewsIdentities.Remove(newsIdentityModel);
            db.SaveChanges();

            return(Ok(newsIdentityModel));
        }