public async Task <IActionResult> EditPost(IndexPostViewModel model) { ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User); User u = _repository.GetUser(Guid.Parse(user.Id)); if (!ModelState.IsValid) { return(View(model)); } //Todo permission if (!u.Posts.Contains(new Post() { Id = Guid.Parse(model.Id) })) { return(Forbid()); } Post post = new Post(model.Title, model.Text) { Id = Guid.Parse(model.Id) }; _repository.UpdatePost(post); post = _repository.GetPost(post.Id); if (post.Event != null) { return(Redirect("/event/Details?eventId=" + post.Event.Id)); } return(Redirect("/home")); }
public async Task <IActionResult> EditPost(string postId) { ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User); User u = _repository.GetUser(Guid.Parse(user.Id)); Post post = _repository.GetPosts(u.ActiveGroup.Id) .FirstOrDefault(p => p.Id == Guid.Parse(postId)); if (post == null) { return(NoContent()); } if (post.User.Id != u.Id) { return(Forbid()); } IndexPostViewModel model = new IndexPostViewModel() { Id = post.Id.ToString(), Text = post.Text, Title = post.Title, TimeModified = post.ModifiedOn, TimePosted = post.CreatedOn, User = post.User.Email }; return(View(model)); }
public async Task <IActionResult> IndexAsync(int?page) { if (User.Identity.IsAuthenticated) { ViewData["HeaderText"] = $"Dear {(await _userManager.GetUserAsync(User)).GivenName}"; } else { ViewData["HeaderText"] = "Dear Coder"; } ViewData["SubheaderText"] = "Tech letters from Kasey"; var pageNumber = page ?? 1; var pageSize = 5; //Load the view with all blog data var allBlogs = await _context.Blogs.OrderByDescending(b => b.Created) .ToPagedListAsync(pageNumber, pageSize); var viewModel = new IndexPostViewModel() { LatestPost = await _context.Posts.OrderByDescending(p => p.Created).FirstOrDefaultAsync(p => p.Created != null && p.PublishState == Enums.PublishState.ProductionReady), Blogs = allBlogs }; return(View(viewModel)); }
public ActionResult Index() { var model = new IndexPostViewModel() { ID = Guid.NewGuid(), DisplayUserName = this.User.Identity.GetUserId() }; return(View(model)); }
public ActionResult Index() { var viewModel = new IndexPostViewModel { Posts = postService.GetPosts().ProjectTo <SingleDetailsPostViewModel>(), RecentComments = Data.Comments.All.OrderByDescending(c => c.CreatedOn).Take(6).ProjectTo <IndexCommentViewModel>() }; return(View(viewModel)); }
public async Task <IActionResult> Index(string sourceName, CancellationToken cancellationToken, int page = 1, SortState sortOrder = SortState.DateOrder) { var records = await _recordService.GetAsync(cancellationToken); var sourceViewModel = new SourceViewModel(); var index = 1; foreach (var source in records.Select(i => i.NameSource).GroupBy(i => i)) { sourceViewModel.Sources.Add(new Source { Id = index, Name = source.Key }); index++; } if (!string.IsNullOrEmpty(sourceName) && !sourceName.Equals("Все")) { records = records.Where(i => i.NameSource == sourceName).ToList(); sourceViewModel.Select(sourceName); } switch (sortOrder) { case SortState.SourceOrder: records = records.OrderByDescending(i => i.NameSource).ToList(); break; default: records = records.OrderByDescending(i => i.PublishDate).ToList(); break; } var count = records.Count; var news = records.Skip((page - 1) * _pageSize).Take(_pageSize).ToList(); var viewModel = new IndexPostViewModel { PageViewModel = new PageViewModel(count, page, _pageSize), News = news.Select(i => new News { Source = i.NameSource, PublishDate = i.PublishDate, Tittle = i.Title, Description = i.Description }).ToList(), SourceViewModel = sourceViewModel, SortViewModel = new SortViewModel(sortOrder) }; return(View("IndexPost", viewModel)); }
public ActionResult Index() { var postService = new PostService(); var model = new IndexPostViewModel(); model.Posts = postService.SearchPostsByUserId(new SearchPostsByUserIdRequest { AspNetUserId = User.Identity.GetUserId() }).Posts.OrderByDescending(x => x.EffectDate).ToList(); return(View(model)); }
public ActionResult Index(IndexPostViewModel model) { string authorId = this.User.Identity.GetUserId(); if (!this.ModelState.IsValid) { return(this.View(model)); } this.postService.CreatePost(model.Title, model.ImageTarget, model.ImageUrl, model.ImageInfo, model.Location, model.Time, authorId); return(this.RedirectToRoute("default", null)); }