public async Task <IActionResult> AboutFanficView(int id, int page = 1) { int pagesize = 12; var model = await _unitOfWork.Fanfic.GetByIdAsync(id); var viewmodel = new FanficTagViewModel() { ApplicationUser = model.ApplicationUser, DateTimePublish = model.DateTimePublish, FanficId = model.FanficId, FanficsTags = model.FanficsTags, ApplicationUserId = model.ApplicationUserId, NameFanfic = model.NameFanfic, Description = model.Description }; var comme = _a.Comments.Include(f => f.Fanfics) .Include(a => a.ApplicationUsers).Where(fi => fi.FanficId == id); int countElement = await comme.CountAsync(); PaginationPageViewModel paginationPageViewModel = new PaginationPageViewModel(countElement, page, pagesize); var items = await comme.Skip((page - 1) *pagesize).Take(pagesize).ToListAsync(); viewmodel.PaginationPageViewModel = paginationPageViewModel; viewmodel.Comments = items; return(View(viewmodel)); }
public async Task <IActionResult> AboutFanfic(FanficTagViewModel fanficTagViewModel, int id) { try { var model = await _unitOfWork.Fanfic.GetByIdAsync(id); var user = _userManager.GetUserId(HttpContext.User); var userName = await _userManager.FindByEmailAsync(User.Identity.Name); #region LikeAction if (fanficTagViewModel.CommentContent == null) { var like = new Like() { ApplicationUserId = user, FanficId = model.FanficId }; var modellike = _unitOfWork.Like.FindLike(model.FanficId, user); if (modellike == null) { _unitOfWork.Like.AddLike(like); await _unitOfWork.SaveAsync(); return(Json(new { isValid = true })); } _unitOfWork.Like.RemoveLike(modellike); await _unitOfWork.SaveAsync(); return(Json(new { isValid = true })); } #endregion //#region CommentAction else { var comment = new Comment() { ApplicationUserId = user, FanficId = model.FanficId, CommentContent = fanficTagViewModel.CommentContent }; _unitOfWork.Comment.AddComment(comment); await _unitOfWork.SaveAsync(); return(Json(new { isValid = true })); } //#endregion } catch { return(View("FanficList")); } }
// GET: TagController public async Task <IActionResult> TagList(int page = 1) { int pageSize = 12; // количество элементов на странице IQueryable <Tag> tag = _unitOfWork.Tag.GetTagsAsync(); int countElement = await tag.CountAsync(); var items = await tag.Skip((page - 1) *pageSize).Take(pageSize).ToListAsync(); PaginationPageViewModel paginationPageViewModel = new PaginationPageViewModel(countElement, page, pageSize); FanficTagViewModel fanficTagViewModel = new FanficTagViewModel() { PaginationPageViewModel = paginationPageViewModel, Tags = items }; return(View(fanficTagViewModel)); }
public async Task <IActionResult> UsersList(int page = 1) { IQueryable <ApplicationUser> users = _applicationUserDbContext.ApplicationUsers.Include(p => p.Fanfics); int pageSize = 12; int countElement = await users.CountAsync(); var items = await users.Skip((page - 1) *pageSize).Take(pageSize).ToListAsync(); PaginationPageViewModel paginationPageViewModel = new PaginationPageViewModel(countElement, page, pageSize); FanficTagViewModel fanficTagViewModel = new FanficTagViewModel() { PaginationPageViewModel = paginationPageViewModel, ApplicationUsers = items }; return(View(fanficTagViewModel)); }