public async Task <IActionResult> SearchAsync([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "myapp/music/artist")] HttpRequest request) { var correlationId = request.GetHeaderValue("correlationId"); var artistName = request.GetQueryStringValue("name"); var searchArtistRequest = new SearchArtistByNameRequestDto { CorrelationId = correlationId, ArtistName = artistName }; var artistSearchOperation = await _mediator.Send(searchArtistRequest); if (!artistSearchOperation.Status) { return(_artistResponseFormatter.GetActionResult(artistSearchOperation)); } var artists = artistSearchOperation.Data.Artists; if (artists.Count > 1) { return(_artistResponseFormatter.GetActionResult(artistSearchOperation)); } var artistId = artists.First().ArtistId; var getRecordsForArtist = new SearchRecordsForArtistByIdRequestDto { CorrelationId = correlationId, ArtistId = artistId }; var getRecordsForArtistOperation = await _mediator.Send(getRecordsForArtist); var records = getRecordsForArtistOperation.Status ? getRecordsForArtistOperation.Data.Records : new List <RecordDto>(); var response = new SearchArtistByNameResponse { ArtistId = artistId, ArtistName = artistName, Records = records }; return(new OkObjectResult(response)); }
public async Task <IActionResult> SearchAsync([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "music/search/records/artist/{artistId}")] HttpRequest request, string artistId) { var correlationId = request.GetHeaderValue("correlationId"); var searchArtistRequestDto = new SearchRecordsForArtistByIdRequestDto { CorrelationId = correlationId, ArtistId = artistId }; var operation = await _mediator.Send(searchArtistRequestDto); return(_responseFormatter.GetActionResult(operation)); }
public async Task <IActionResult> SearchAsync([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "music/search/artist")] HttpRequest request) { var correlationId = request.GetHeaderValue("correlationId"); var artistName = request.GetQueryStringValue("name"); var searchArtistRequestDto = new SearchArtistByNameRequestDto { CorrelationId = correlationId, ArtistName = artistName }; var operation = await _mediator.Send(searchArtistRequestDto); return(_responseFormatter.GetActionResult(operation)); }