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")); }
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")); }
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 })); }