private async Task <IEnumerable <JobSummary> > GetFilteredOpenJobsForUser(User user, CancellationToken cancellationToken)
        {
            var openRequests = await _requestService.GetOpenJobsAsync(user, false, cancellationToken);

            if (openRequests == null)
            {
                return(null);
            }

            var filterSet = await _filterService.GetDefaultSortAndFilterSet(JobSet.UserOpenRequests_NotMatchingCriteria, null, new List <JobStatuses> {
                JobStatuses.Open
            }, user, cancellationToken);

            var filterRequest = new JobFilterRequest()
            {
                JobSet = JobSet.UserOpenRequests_NotMatchingCriteria, ResultsToShow = 1000, ResultsToShowIncrement = 20
            };

            filterRequest.UpdateFromFilterSet(filterSet);

            return(_filterService.SortAndFilterJobs(openRequests, filterRequest));
        }
示例#2
0
 public async Task <BaseResponse> GetWithFilter(JobFilterRequest filter)
 {
     if (filter.State == 0)
     {
         if (filter.Type == -1)
         {
             return(await GetAll());
         }
         else
         {
             return(await GetWithType(filter.Type));
         }
     }
     else if (filter.State == 1)
     {
         return(await GetActive(filter.Type));
     }
     else
     {
         return(await GetIsDone(filter.Type));
     }
 }
        public async Task <IViewComponentResult> InvokeAsync(JobFilterRequest jobFilterRequest, Action hideFilterPanelCallback, Action noJobsCallback, CancellationToken cancellationToken)
        {
            var user = await _authService.GetCurrentUser(HttpContext, cancellationToken);

            if (user == null)
            {
                throw new UnauthorizedAccessException("No user in session");
            }

            if (jobFilterRequest.JobSet.GroupAdminView())
            {
                if (!(await _groupMemberService.GetUserHasRole(user.ID, jobFilterRequest.GroupId.Value, GroupRoles.TaskAdmin, true, cancellationToken)))
                {
                    throw new UnauthorizedAccessException("User not authorized to view group tasks");
                }
            }

            string viewName;
            object viewModel;

            // TODO: Consolidate 3 methods
            switch (jobFilterRequest.JobSet.RequestType(), jobFilterRequest.JobSet)
            {
示例#4
0
 public IActionResult GetFilteredJobs([FromBody] JobFilterRequest jobFilterRequest)
 {
     return(ViewComponent("JobList", new { jobFilterRequest }));
 }
示例#5
0
        public async Task <IActionResult> GetWithFilter(JobFilterRequest filter)
        {
            var result = await _jobService.GetWithFilter(filter);

            return(Ok(result));
        }