/// <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 Task <PendingSubmission[]> Handle(QueryPending request, CancellationToken cancellationToken) { var results = submissions.Query() .Where(x => x.Pending) .Select(PendingSubmission.Create) .ToArray(); return(Task.FromResult(results)); }
public Task <SubmissionAudit[]> Handle(QueryAudits request, CancellationToken cancellationToken) { var results = submissions.Query() .Where(x => !x.Pending) .Select(SubmissionAudit.Create) .ToArray(); return(Task.FromResult(results)); }
public Task <Unit> Handle(ApproveAllSubmissions request, CancellationToken cancellationToken) { var pending = submissions.Query().Where(x => x.Pending); foreach (var submission in pending.ToList()) { submission.ApproveBy(request.ApproverId); publisher.PublishAllDomainEvents(submission); } return(Unit.Task); }