Beispiel #1
0
        public IActionResult EditNews(int id)
        {
            var news      = _newsRepository.Get(id);
            var newsModel = new AddNewsModel()
            {
                Id                 = news.Id,
                Title              = news.Title,
                Content            = news.Content,
                PublishDate        = news.PublishDate,
                SelectedCategory   = new List <int>(),
                SelectedKeyword    = new List <int>(),
                SelectedPlace      = new List <int>(),
                KeywordForDisplay  = _keywordRepository.GetAll().ToList(),
                CategoryForDisplay = _categoryRepository.GetAll().ToList(),
                PlaceForDisplay    = _placeRepository.GetAll().ToList()
            };

            foreach (var item in GetCategoryFromNewsCategory(news.Id))
            {
                newsModel.SelectedCategory.Add(item.Id);
            }
            foreach (var item in GetKeywordFromNewsKeyword(news.Id))
            {
                newsModel.SelectedKeyword.Add(item.Id);
            }
            foreach (var item in GetPlacesFromNewsPublishPlaces(news.Id))
            {
                newsModel.SelectedPlace.Add(item.Id);
            }
            return(View(newsModel));
        }
Beispiel #2
0
        public ActionResult AddNews(FormCollection formCollection)
        {
            NewsArticles NewsArticles = new NewsArticles();

            if (ModelState.IsValid)
            {
                NewsModel News = new NewsModel();
                //News.ID = Convert.ToInt32(formCollection["ID"]);
                News.Category     = formCollection["Category"].ToString();
                News.Headline     = formCollection["NewsModel.Headline"].ToString();
                News.Text         = formCollection["NewsModel.Text"].ToString();
                News.Summary      = formCollection["NewsModel.Summary"].ToString();
                News.Source       = formCollection["NewsModel.Source"].ToString();
                News.Publish_Date = Convert.ToDateTime(formCollection["NewsModel.Publish_Date"]);
                News.ImageURL     = formCollection["NewsModel.ImageURL"].ToString();
                News.CategoryID   = Convert.ToString(NewsArticles.GetCategoryID(News.Category));
                News.AddedBy      = Convert.ToString(HttpContext.User.Identity.Name);
                NewsArticles.AddNews(News);
                TempData["Success"] = "News article Added successfully";
                AddNewsModel AddNewsModel = new AddNewsModel();
                AddNewsModel.CanAddNews = new UserAccounts().IsUserAuthorizedToAddNews(HttpContext.User.Identity.Name);
                AddNewsModel.Categories = NewsArticles.GetCategories().Select(value => new SelectListItem()
                {
                    Text = value.Name, Value = value.Name
                });
                return(PartialView(AddNewsModel));
            }
            return(View());
        }
Beispiel #3
0
        /// <summary>
        /// 新增永久图文素材
        /// </summary>
        /// <param name="model">图文素材</param>
        /// <returns></returns>
        public static Task <AddNews> AddAsync(AddNewsModel model)
        {
            var add      = new AddNews(model);
            var response = add.RequestAsModelAsync <AddNews>();

            return(response);
        }
Beispiel #4
0
        /// <summary>
        /// 新增永久图文素材
        /// </summary>
        /// <param name="model">图文素材</param>
        /// <return></return>
        public static AddNews Add(AddNewsModel model)
        {
            var add      = new AddNews(model);
            var response = add.RequestAsModel <AddNews>();

            return(response);
        }
Beispiel #5
0
        public IActionResult AddNews()
        {
            var model = new AddNewsModel()
            {
                KeywordForDisplay  = _keywordRepository.GetAll().ToList(),
                PlaceForDisplay    = _placeRepository.GetAll().ToList(),
                CategoryForDisplay = _categoryRepository.GetAll().ToList()
            };

            return(View(model));
        }
Beispiel #6
0
        public ActionResult AddNews()
        {
            AddNewsModel AddNewsModel = new AddNewsModel();

            //AddNewsModel.Categories = new NewsArticles().GetCategories();
            AddNewsModel.CanAddNews = new UserAccounts().IsUserAuthorizedToAddNews(HttpContext.User.Identity.Name);
            AddNewsModel.Categories = new NewsArticles().GetCategories().Select(value => new SelectListItem()
            {
                Text = value.Name, Value = value.Name
            });
            return(View(AddNewsModel));
        }
Beispiel #7
0
 /// <summary>
 /// 新增永久图文素材
 /// </summary>
 /// <param name="model">图文素材</param>
 public AddNews(AddNewsModel model)
 {
     if (model == null || model.articles == null)
     {
         throw new Exception("数据无效");
     }
     if (!model.articles.Any())
     {
         throw new Exception("文章列表不能为空");
     }
     this.ReqData = Encoding.UTF8.GetBytes(model.ExToJson());
 }
Beispiel #8
0
        public IActionResult DeleteNews(int id, AddNewsModel news)
        {
            var entity = _newsRepository.Get(news.Id);

            if (entity != null)
            {
                _newsRepository.Delete(entity);
                return(RedirectToAction("List"));
            }
            else
            {
                ModelState.AddModelError("NewsNotExist", "This News Not Found!");
            }
            return(View(news));
        }
Beispiel #9
0
        public IActionResult DeleteNews(int id)
        {
            var news      = _newsRepository.Get(id);
            var newsModel = new AddNewsModel()
            {
                Id                 = news.Id,
                Title              = news.Title,
                Content            = news.Content,
                PublishDate        = news.PublishDate,
                KeywordForDisplay  = GetKeywordFromNewsKeyword(news.Id),
                CategoryForDisplay = GetCategoryFromNewsCategory(news.Id),
                PlaceForDisplay    = GetPlacesFromNewsPublishPlaces(news.Id)
            };

            return(View(newsModel));
        }
Beispiel #10
0
        private void EditPlaceForNews(AddNewsModel newsModel)
        {
            var selectedNewsPlace = _newsPublishPlaceRepository.GetAll().Where(c => c.NewsId == newsModel.Id).ToList();

            foreach (var item in selectedNewsPlace)
            {
                _newsPublishPlaceRepository.Delete(item);
            }
            if (newsModel.SelectedPlace != null)
            {
                foreach (var item in newsModel.SelectedPlace)
                {
                    _newsPublishPlaceRepository.Add(new NewsPublishPlace
                    {
                        NewsId  = newsModel.Id,
                        PlaceId = item
                    });
                }
            }
        }
Beispiel #11
0
        private void EditKeywordForNews(AddNewsModel newsModel)
        {
            var selectedNewsKeyword = _newsKeywordRepository.GetAll().Where(c => c.NewsId == newsModel.Id).ToList();

            foreach (var item in selectedNewsKeyword)
            {
                _newsKeywordRepository.Delete(item);
            }
            if (newsModel.SelectedKeyword != null)
            {
                foreach (var item in newsModel.SelectedKeyword)
                {
                    _newsKeywordRepository.Add(new NewsKeyword
                    {
                        NewsId    = newsModel.Id,
                        KeywordId = item
                    });
                }
            }
        }
Beispiel #12
0
        private void EditCategoryForNews(AddNewsModel newsModel)
        {
            var selectedNewsCategory = _newsCategoryRepository.GetAll().Where(c => c.NewsId == newsModel.Id).ToList();

            foreach (var item in selectedNewsCategory)
            {
                _newsCategoryRepository.Delete(item);
            }
            if (newsModel.SelectedCategory != null)
            {
                foreach (var item in newsModel.SelectedCategory)
                {
                    _newsCategoryRepository.Add(new NewsCategory
                    {
                        NewsId     = newsModel.Id,
                        CategoryId = item
                    });
                }
            }
        }
Beispiel #13
0
        public IActionResult EditNews(AddNewsModel newsModel)
        {
            var entity = _newsRepository.Get(newsModel.Id);

            if (entity != null)
            {
                if (ModelState.IsValid)
                {
                    entity.Title   = newsModel.Title;
                    entity.Content = newsModel.Content;
                    //entity.PublishDate = newsModel.PublishDate;

                    if (newsModel?.File?.Length > 0)
                    {
                        using (var ms = new MemoryStream())
                        {
                            newsModel.File.CopyTo(ms);
                            var fileBytes = ms.ToArray();
                            entity.File = Convert.ToBase64String(fileBytes);
                        }
                    }

                    EditCategoryForNews(newsModel);
                    EditKeywordForNews(newsModel);
                    EditPlaceForNews(newsModel);



                    _newsRepository.Save();
                    return(RedirectToAction("List"));
                }
            }
            else
            {
                ModelState.AddModelError("NewsNotExist", "This News Not Found!");
            }
            return(View(newsModel));
        }
Beispiel #14
0
        public IActionResult AddNews(AddNewsModel newsModel)
        {
            if (ModelState.IsValid)
            {
                var model = new News()
                {
                    Title       = newsModel.Title,
                    Content     = newsModel.Content,
                    PublishDate = newsModel.PublishDate
                };

                if (newsModel?.File?.Length > 0)
                {
                    using (var ms = new MemoryStream())
                    {
                        newsModel.File.CopyTo(ms);
                        var fileBytes = ms.ToArray();
                        model.File = Convert.ToBase64String(fileBytes);
                    }
                }

                var newNews = _newsRepository.Add(model);

                if (newsModel.SelectedCategory != null)
                {
                    foreach (var item in newsModel.SelectedCategory)
                    {
                        _newsCategoryRepository.Add(new NewsCategory
                        {
                            NewsId     = newNews.Id,
                            CategoryId = item
                        });
                    }
                }
                if (newsModel.SelectedKeyword != null)
                {
                    foreach (var item in newsModel.SelectedKeyword)
                    {
                        _newsKeywordRepository.Add(new NewsKeyword
                        {
                            NewsId    = newNews.Id,
                            KeywordId = item
                        });
                    }
                }
                if (newsModel.SelectedPlace != null)
                {
                    foreach (var item in newsModel.SelectedPlace)
                    {
                        _newsPublishPlaceRepository.Add(new NewsPublishPlace
                        {
                            NewsId  = newNews.Id,
                            PlaceId = item
                        });
                    }
                }

                return(RedirectToAction("List"));
            }
            return(View(newsModel));
        }