public async Task <ApiResult <HateoasResponse <ItemResponse> > > Handle(GetAllItemsHateoasQuery request, CancellationToken cancellationToken) { IEnumerable <ItemResponse> itemList = await _itemService.GetItemsQuery().ToListAsync(); List <HateoasResponse <ItemResponse> > hateoasResults = new List <HateoasResponse <ItemResponse> >(); foreach (ItemResponse itemResponse in itemList) { HateoasResponse <ItemResponse> hateoasResult = new HateoasResponse <ItemResponse> { Data = itemResponse }; await _linksService.AddLinksAsync(hateoasResult); hateoasResults.Add(hateoasResult); } IQueryable <HateoasResponse <ItemResponse> > test = hateoasResults.AsQueryable(); ApiResult <HateoasResponse <ItemResponse> > pagedItems = await ApiResult <HateoasResponse <ItemResponse> > .CreateAsync( test, request.Data.PageIndex, request.Data.PageSize, request.Data.SortColumn, request.Data.SortOrder, request.Data.FilterColumn, request.Data.FilterQuery); return(pagedItems); }
public async Task <IActionResult> GetStepById(Guid stepId) { var step = await Mediator.Send(new GetStepNavigationByIdQuery(stepId)); var stepWithLinks = new HateoasResponse <StepNavigation>(step, GetLinksForStep(step.Id)); return(Ok(stepWithLinks)); }
public async Task <IActionResult> GetUserById(Guid userId) { var user = await Mediator.Send(new GetPublicUserByIdQuery(userId)); var userWithLinks = new HateoasResponse <PublicUser>(user, GetLinksForUser(user.Id)); return(Ok(userWithLinks)); }
public async Task <IActionResult> GetTeamById(Guid teamId) { var team = await Mediator.Send(new GetTeamNavigationByIdQuery(teamId)); var teamWithLinks = new HateoasResponse <TeamNavigation>(team, GetLinksForTeam(team.Id)); return(Ok(teamWithLinks)); }
public async Task <IActionResult> GetTestById(Guid testId) { var test = await Mediator.Send(new GetTestNavigationByIdQuery(testId)); var testWithLinks = new HateoasResponse <TestNavigation>(test, GetLinksForTest(test.StepId, testId)); return(Ok(testWithLinks)); }
public async Task <IActionResult> GetParticipationById(Guid participationId) { var participation = await Mediator.Send(new GetOneParticipationNavigationByIdQuery(participationId)); var participationWithLinks = new HateoasResponse <ParticipationNavigation>(participation, GetLinksForParticipation(participation.Id)); return(Ok(participationWithLinks)); }
public async Task <IActionResult> GetRightById(Guid rightId) { var right = await Mediator.Send(new GetRightByIdQuery(rightId)); var rightWithLinks = new HateoasResponse <RightNavigation>(right, GetLinksForRight(right.Id)); return(Ok(rightWithLinks)); }
public async Task <IActionResult> GetTournamentStepById(Guid tournamentId, Guid stepId) { var member = await Mediator.Send(new GetTournamentStepByIdQuery(tournamentId, stepId)); var memberWithLinks = new HateoasResponse <TournamentStepNavigation>(member, GetLinksForTournamentStep(tournamentId, stepId)); return(Ok(memberWithLinks)); }
public async Task <IActionResult> GetTournamentById(Guid tournamentId) { var tournament = await Mediator.Send(new GetTournamentNavigationByIdQuery(tournamentId)); var tournamentWithLinks = new HateoasResponse <TournamentNavigation>(tournament, GetLinksForTournament(tournament.Id)); return(Ok(tournamentWithLinks)); }
public async Task <IActionResult> GetLanguageById(Guid languageId) { var language = await Mediator.Send(new GetLanguageNavigationByIdQuery(languageId)); var languageWithLinks = new HateoasResponse <ProgrammingLanguageNavigation>(language, GetLinksForLanguage(language.Id)); return(Ok(languageWithLinks)); }
public async Task <IActionResult> GetTeamMemberById(Guid teamId, Guid memberId) { var member = await Mediator.Send(new GetMemberNavigationByIdQuery(teamId, memberId)); var memberWithLinks = new HateoasResponse <MemberNavigation>(member, GetLinksForMember(member.UserId, member.TeamId)); return(Ok(memberWithLinks)); }
public async Task <IActionResult> GetOneSuspectFunction(Guid functionId) { var function = await Mediator.Send(new GetOneSuspectFunctionQuery(functionId)); var functionWithLinks = new HateoasResponse <SuspectFunctionNavigation>(function, GetLinksForFunction(function.Id)); return(Ok(functionWithLinks)); }
public async Task <IActionResult> GetSessionUserById(Guid participationId, Guid userId) { var user = await Mediator.Send(new GetOneParticipationSessionUserQuery(participationId, userId)); var userWithLinks = new HateoasResponse <UserSessionNavigation>(user, GetLinksForUser(participationId, userId)); return(Ok(userWithLinks)); }
public async Task <IActionResult> GetSessionFunctionById(Guid participationId, Guid functionId) { var function = await Mediator.Send(new GetOneParticipationSessionFunctionQuery(participationId, functionId)); var functionWithLinks = new HateoasResponse <FunctionSessionNavigation>(function, GetLinksForFunction(participationId, functionId)); return(Ok(functionWithLinks)); }
public void HateoasResponse_Links_SetsLinks() { IEnumerable <HateoasLink> links = new[] { new HateoasLink(new Uri("https://www.example.com"), "rel1"), new HateoasLink(new Uri("https://www.example.com"), "rel2") }; var response = new HateoasResponse(links); Assert.Equal(links, response.Links); }
public async Task <IActionResult> Put(Guid id, EditItemRequest request) { request.Id = id; ItemResponse result = await _itemService.EditItemAsync(request); HateoasResponse <ItemResponse> hateoasResult = new HateoasResponse <ItemResponse> { Data = result }; await _linksService.AddLinksAsync(hateoasResult); return(Ok(hateoasResult)); }
public void HateoasResponse_SerializedJson_ContainsNecessaryData( string uri, string rel, string contains) { IEnumerable <HateoasLink> links = new[] { new HateoasLink(new Uri(uri), rel) }; var response = new HateoasResponse(links); var serialized = response.ToJson(); Assert.Contains(contains, serialized); }
public async Task <IActionResult> GetById(Guid id) { ItemResponse result = await _itemService.GetItemAsync(id); HateoasResponse <ItemResponse> hateoasResult = new HateoasResponse <ItemResponse> { Data = result }; await _linksService.AddLinksAsync(new HateoasResponse <ItemResponse> { Data = result }); return(Ok(hateoasResult)); }