Exemple #1
0
        public IHttpActionResult PutNewsContentModel(int id, NewsContentModel newsContentModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

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

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemple #2
0
        public virtual IActionResult List(int?filterByNewsItemId)
        {
            //prepare model
            NewsContentModel model = _newsModelFactory.PrepareNewsContentModel(new NewsContentModel(), filterByNewsItemId);

            return(View(model));
        }
        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());
        }
Exemple #4
0
        public IHttpActionResult GetNewsContentModel(int id)
        {
            NewsContentModel newsContentModel = db.NewsContents.Find(id);

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

            return(Ok(newsContentModel));
        }
Exemple #5
0
        public IHttpActionResult PostNewsContentModel(NewsContentModel newsContentModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.NewsContents.Add(newsContentModel);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = newsContentModel.Id }, newsContentModel));
        }
Exemple #6
0
        /// <summary>
        /// 根据系统编号获取帮助详情
        /// </summary>
        /// <returns></returns>
        public JsonResult GetHelpContent(int id)
        {
            MoreManager      homeManager = new MoreManager();
            NewsContentModel data        = homeManager.GetNewsContent(id);
            var result = new AjaxResult
            {
                Success = true,
                Data    = data
            };

            return(Json(result));
        }
Exemple #7
0
        public IHttpActionResult DeleteNewsContentModel(int id)
        {
            NewsContentModel newsContentModel = db.NewsContents.Find(id);

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

            db.NewsContents.Remove(newsContentModel);
            db.SaveChanges();

            return(Ok(newsContentModel));
        }
Exemple #8
0
        /// <summary>
        /// Prepare news content model
        /// </summary>
        /// <param name="newsContentModel">News content model</param>
        /// <param name="filterByNewsItemId">Filter by news item ID</param>
        /// <returns>News content model</returns>
        public virtual NewsContentModel PrepareNewsContentModel(NewsContentModel newsContentModel, int?filterByNewsItemId)
        {
            if (newsContentModel == null)
            {
                throw new ArgumentNullException(nameof(newsContentModel));
            }

            //prepare nested search models
            PrepareNewsItemSearchModel(newsContentModel.NewsItems);
            var newsItem = _newsService.GetNewsById(filterByNewsItemId ?? 0);

            PrepareNewsCommentSearchModel(newsContentModel.NewsComments, newsItem);

            return(newsContentModel);
        }
Exemple #9
0
        /// <summary>
        /// Prepare news content model
        /// </summary>
        /// <param name="newsContentModel">News content model</param>
        /// <param name="filterByNewsItemId">Filter by news item ID</param>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the news content model
        /// </returns>
        public virtual async Task <NewsContentModel> PrepareNewsContentModelAsync(NewsContentModel newsContentModel, int?filterByNewsItemId)
        {
            if (newsContentModel == null)
            {
                throw new ArgumentNullException(nameof(newsContentModel));
            }

            //prepare nested search models
            await PrepareNewsItemSearchModelAsync(newsContentModel.NewsItems);

            var newsItem = await _newsService.GetNewsByIdAsync(filterByNewsItemId ?? 0);

            await PrepareNewsCommentSearchModelAsync(newsContentModel.NewsComments, newsItem);

            return(newsContentModel);
        }
        public void CreateListViewModel_SecondPageTaxonFilteredNews_ContainsCorrectData()
        {
            var newsContentModel = new NewsContentModel();

            newsContentModel.ContentType  = typeof(NewsItem);
            newsContentModel.DisplayMode  = Frontend.Mvc.Models.ListDisplayMode.Paging;
            newsContentModel.ItemsPerPage = 5;

            var tag       = TaxonomyManager.GetManager().GetTaxa <FlatTaxon>().First();
            var viewModel = newsContentModel.CreateListViewModel(tag, page: 2);

            Assert.IsNotNull(viewModel, "CreateListViewModel returned null.");
            Assert.AreEqual(5, viewModel.Items.Count(), "Returned items does not have the expected count.");
            Assert.IsTrue(viewModel.ShowPager, "ShowPager is false when it was expected to be true.");
            Assert.AreEqual(2, viewModel.CurrentPage, "CurrentPage is not the requested one.");
            Assert.AreEqual(2, viewModel.TotalPagesCount, "TotalPagesCount is not correct.");
        }