/// <summary> /// Get a List of 100 submissions made by user with id /// </summary> /// <param name="id">Id of the user</param> /// <param name="skipNrOfSubmissions">Nr of submissions to skip (pagination)</param> /// <returns>The ViewModel with the user's information and his submissions</returns> public UserSubmissionsViewModel Get100UserSubmissionsById(Guid id, int skipNrOfSubmissions) { User userEntity = _userRepository.GetUserById(id); UserSubmissionsViewModel userModel = new UserSubmissionsViewModel { Name = userEntity.Name, Id = userEntity.Id }; List <SubmissionListViewModel> Submissions = _submissionRepository.Query() .Where(sub => sub.Author.Id == id) .OrderBy(sub => Math.Abs(sub.Upvotes - sub.Downvotes)) .Skip(skipNrOfSubmissions) .Take(100) .Select(subEntity => new SubmissionListViewModel { Id = subEntity.Id, Title = subEntity.Title, Content = subEntity.Content, AuthorId = subEntity.Author.Id, AuthorName = subEntity.Author.Name, Upvotes = subEntity.Upvotes, Downvotes = subEntity.Downvotes }).ToList(); userModel.Submissions = Submissions; return(userModel); }
public UserSubmissionsPage() { viewModel = new UserSubmissionsViewModel(); BindingContext = viewModel; InitializeComponent(); }
public ActionResult UserSubmissions(Guid id, int skipNrOfSubmissions) { UserSubmissionsViewModel submissions = this._userService.Get100UserSubmissionsById(id, skipNrOfSubmissions); if (User.Identity.IsAuthenticated) { ViewBag.userName = this._userService.GetUserById(Guid.Parse(User.Identity.GetUserId())).Name; } ViewBag.skipNrOfSubmission = skipNrOfSubmissions; return(View(submissions)); }