public MembershipApplicationSearchResultsResource SearchMembershipApplications(IPrincipal principle, MembershipApplicationSearchRequest request) { var user = _dependencies.UserService.GetGuaranteedAuthenticatedUser(principle); var organisation = _dependencies.OrganisationService.GetOrganisation(request.OrganisationId); _dependencies.OrganisationService.GuaranteeUserHasPermission(user, organisation, ShurahOrganisationPermission.AcceptMembershipApplication); return(new MembershipApplicationSearchResultsResource { OrganisationId = request.OrganisationId, Results = organisation.MembershipApplications.Where( x => x.Acceptances.Count(a => !a.AcceptingMember.Removed) < organisation.RequiredNumbersOfAcceptingMembers) .OrderBy(x => x.DateAppliedUtc) .Skip((request.Page - 1) * 10).Take(10).ToList() .Select(BuildMembershipApplicationResource) .ToList() }); }
public MembershipApplicationSearchResultsResource Post([FromBody] MembershipApplicationSearchRequest request) { return(_service.SearchMembershipApplications(User, request)); }
public HttpResponseMessage Post(MembershipApplicationSearchRequest request) { return(Request.CreateResponse(HttpStatusCode.OK, _service.SearchMembershipApplications(User, request))); }