public ActionResult Create(NewsItemCreatePageView pageView) { var userdata = new UserDataContainer(); if (!ModelState.IsValid) return View(pageView); var newNewsItem = pageView.NewNewsItem; newNewsItem.PrapareToPosting(userdata.CurrentUser.Id); newsManager.Create(Mapper.Map<NewsItem, NewsItemViewModel>(newNewsItem)); return RedirectToRoute("Home"); }
public ActionResult Index() { if (Request.Cookies.AllKeys.Contains(CookiesNames.LandingVisited)) { var userInfo = new UserDataContainer(); var news = newsManager.GetListMatchingUserGroups(userInfo, "PostingDate"); var result = new NewsListPageView(Mapper.Map<NewsItemViewModel, NewsItem>(news)); return View(result); } return RedirectToRoute("Landing"); }
public ActionResult Edit(string id) { var userdata = new UserDataContainer(); var newsItem = newsManager.GetById(id); if (newsItem == null || !userdata.IsAuthorized) return RedirectToRoute("NotFound"); if (userdata.CurrentUser.Id == newsItem.AuthorId || userdata.CurrentUser.Role == Roles.Admin || userdata.CurrentUser.Role == Roles.Moderator || (userdata.CurrentUser.Role == Roles.Praepostor && userdata.CurrentUser.GroupId == newsItem.GroupId)) { var mapped = Mapper.Map<NewsItemEditViewModel, NewsItem>(newsItem); return View(new NewsItemEditPageView() { NewsItem = mapped }); } else { return RedirectToRoute("NotFound"); } }
public NewsItemCreatePageView() : base() { NewNewsItem = new NewsItemViewModel(); var userData = new UserDataContainer(); groups = new List<Group>(); if (userData.IsAuthorized) { if (userData.CurrentUser.Role == Roles.Admin || userData.CurrentUser.Role == Roles.Moderator) { foreach (var item in Resolver.GetInstance<IGroupsManager>().GetList()) { groups.Add(item); } } else if (userData.CurrentUser.Role == Roles.Praepostor) { var group = Resolver.GetInstance<IGroupsManager>().GetById(userData.CurrentUser.GroupId.ToString()); groups.Add(group); } } }
public ActionResult Delete(string id) { var userdata = new UserDataContainer(); var newsItem = newsManager.GetById(id); if (newsItem == null || !userdata.IsAuthorized) return RedirectToRoute("NotFound"); if (userdata.CurrentUser.Id == newsItem.AuthorId || userdata.CurrentUser.Role == Roles.Admin || userdata.CurrentUser.Role == Roles.Moderator || (userdata.CurrentUser.Role == Roles.Praepostor && userdata.CurrentUser.GroupId == newsItem.GroupId)) { newsManager.Delete(newsItem); return Json(true); } else { return RedirectToRoute("NotFound"); } }
public ActionResult GetList(string groupName) { var userdata = new UserDataContainer(); IEnumerable<NewsItemViewModel> news; if (groupName != "All") news = Mapper.Map<NewsItemViewModel, NewsItem>(newsManager.GetListForGroup(groupName)); else news = Mapper.Map<NewsItemViewModel, NewsItem>(newsManager.GetListMatchingUserGroups(userdata)); var result = new NewsListPageView(news); return PartialView("NewsList", result); }