/// <summary> /// Безвозвратно удалить /// </summary> /// <param name="id">идентификатор новости</param> /// <returns></returns> public ActionResult Delete(long id) { var news = DB2.Newses.Find(id); DB2.Newses.Remove(news); DB2.SaveChanges(); Mails.NewsChanged(news, "Новость удалена", root); SuccessMessage("Новость удалена"); return(RedirectToAction("Archive")); }
public ActionResult Create(News news) { if (!ModelState.IsValid) { return(View(news)); } var user = DB2.Users.Find(CurrentUser.Id); if (news.Id > 0) { var model = DB2.Newses.Find(news.Id); // добавляем в историю изменения var description = "Изменена новость"; if (!model.Enabled) { description = "Опубликована архивная новость"; } model.DatePublication = DateTime.Now; model.Body = news.Body; model.Subject = news.Subject; model.Enabled = true; var history = new NewsSnapshot(model, user, description); DB2.NewsHistory.Add(history); Mails.NewsChanged(model, description, root); //важно, сохранить после отправки уведомления иначе не будет работать вычисление изменений DB2.SaveChanges(); SuccessMessage("Изменения успешно сохранены"); } else { // добавляем новость news.DatePublication = DateTime.Now; news.Enabled = true; DB2.Newses.Add(news); DB2.SaveChanges(); // пишем в историю var history = new NewsSnapshot(news, user, "Добавлена новость"); DB2.NewsHistory.Add(history); DB2.SaveChanges(); Mails.NewsChanged(news, "Добавлена новость", root); SuccessMessage("Новость успешно добавлена"); } return(RedirectToAction("Index")); }
public ActionResult DeleteNews(long id) { // отправляем новость в архив var news = DB2.Newses.Find(id); news.Enabled = false; DB2.SaveChanges(); // добавляем историю изменений var history = new NewsSnapshot(news, DB2.Users.Find(CurrentUser.Id), "Новость отправлена в архив"); DB2.NewsHistory.Add(history); DB2.SaveChanges(); Mails.NewsChanged(news, "Новость отправлена в архив", root); SuccessMessage("Новость отправлена в архив"); return(RedirectToAction("Index")); }