コード例 #1
0
        public ActionResult Save(NewsCategory newsCategory)
        {
            if (!ModelState.IsValid)
            {
                var newsCategoryForm = new NewsCategoryForm
                {
                    Name = newsCategory.Name
                };

                return(View("Edit", newsCategoryForm));
            }

            var categoryInDb = _repository.FindById(newsCategory.Id);

            if (categoryInDb == null)
            {
                // New Category
                CreateNewCategoryContext(newsCategory);
                // await _repository.Add(newsCategory);
            }
            else
            {
                // Update Category
                categoryInDb.Name = newsCategory.Name;
                _repository.SaveChanges();
            }

            return(RedirectToAction("Index", "Categories"));
        }
コード例 #2
0
ファイル: NewsController.cs プロジェクト: bogdanmacovei/NEDAW
        public ActionResult Save(NewsForm news)
        {
            if (!ModelState.IsValid)
            {
                return(View("Edit", news));
            }

            if (news.ViewMode == Enums.ViewMode.Add)
            {
                // New News
                var newsModel = Mapper.Map <NewsForm, News>(news);

                if (User.IsInRole("Administrator") || User.IsInRole("Editor"))
                {
                    newsModel.Status = "Approved";
                }
                else
                {
                    newsModel.Status = "Pending";
                }

                newsModel.CreatedBy  = Guid.Parse(User.Identity.GetUserId());
                newsModel.CreatedOn  = DateTime.Now;
                newsModel.UserId     = newsModel.CreatedBy.ToString();
                newsModel.ModifiedOn = newsModel.CreatedOn;
                _repository.Add(newsModel);
            }
            else
            {
                // Update News
                var newsInDb = _repository.FindById(news.Id);

                // Copy from VM
                newsInDb.Title          = news.Title;
                newsInDb.Image          = news.Image;
                newsInDb.Content        = news.Content;
                newsInDb.NewsCategoryId = news.NewsCategoryId;
                newsInDb.UserId         = User.Identity.GetUserId();
                newsInDb.ModifiedOn     = DateTime.Now;

                _repository.SaveChanges();
            }

            return(RedirectToAction("Index", "News"));
        }
コード例 #3
0
        public ActionResult Edit(int id, string message)
        {
            var entity = _repository.Find(m => m.Id == id).FirstOrDefault();

            if (entity.UserId != User.Identity.GetUserId() && !User.IsInRole("Administrator"))
            {
                return(HttpNotFound());
            }

            entity.Message = message;
            _repository.SaveChanges();

            return(RedirectToAction("Show", "News", new { id = entity.NewsId }));
        }