public async Task <IActionResult> Details(int?id, int?pageNumber) { if (id == null) { return(NotFound()); } var user = _userService.GetUsers(id).Select(p => new UserViewModel { FacebookId = p.FacebookId, DisplayName = p.DisplayName }).FirstOrDefault(); var commentsQuery = _ICommentService.GetCommentsByUserId(id).GroupBy(cP => new { cP.StreamSessonId }).Select(p => new StreamSessonViewModel { CreatedDate = p.FirstOrDefault().CreatedDate, Comments = p.Select(pC => new CommentViewModel { DisplayName = pC.DisplayName, CreatedDate = pC.CreatedDate, Message = pC.Message }).ToList() }); commentsQuery.OrderBy(p => p.CreatedDate); int pageSize = 5; var comments = await PaginatedList <StreamSessonViewModel> .CreateAsync(commentsQuery.AsNoTracking(), pageNumber ?? 1, pageSize); var result = new UserViewDetailModel(user, comments); return(View(result)); }
public ActionResult ViewDetail(UserViewDetailModel model) { if (!Request.IsAjaxRequest()) { IUser user = _service.GetUserByUsername(Request.QueryString["userName"]); UserModel userModel = new UserModel(user); IList <IRole> roleList = _service.GetRoles(string.Empty); userModel.Roles = roleList.Where(r => user.RoleIds.Contains(r.Id)).Select(r => r.Name).ToList(); return(View(userModel)); } IPagedList <UserActivity> list = _service.GetUserActivities(model.PageIndex, model.PageSize, model.UserId); List <UserActivityModel> modelList = new List <UserActivityModel>(); foreach (UserActivity ua in list) { UserActivityModel uaModel = new UserActivityModel(); uaModel.CreatedOn = ua.CreatedOn; uaModel.Activity = _resourceManager.GetString("UserActivityType_" + ua.UserActivityType.ToString()); modelList.Add(uaModel); } return(DataTableResult(modelList, list.TotalCount, model.Draw)); }