public Task <IEnumerable <MinimalLinkApplicationModel> > Handle(GetRequestLinksByUUIDQuery query, CancellationToken cancellationToken) { var requestPersistenceModel = _requestRepository .FindAll(x => x.UUID == query.UUID) .FirstOrDefault(); if (requestPersistenceModel == null) { return(Task.FromResult <IEnumerable <MinimalLinkApplicationModel> >(null)); } IEnumerable <MinimalLinkApplicationModel> linksApplicationModels = _linkRepository .Include(x => x.RedirectsTo) .Where(x => x.RequestID == requestPersistenceModel.ID) .ProjectTo <MinimalLinkApplicationModel>(_mapper.ConfigurationProvider); return(Task.FromResult(linksApplicationModels)); }
public async Task <IActionResult> DownloadJobAsCSV(Guid userUUID, Guid requestUUID) { var links = await _mediator.Send(GetRequestLinksByUUIDQuery.Build(requestUUID)); if (links == null) { return(NotFound()); } return(new FileCallbackResult(new MediaTypeHeaderValue("text/csv"), async(outputStream, _) => { var writer = new StreamWriter(HttpContext.Response.Body); var csv = new CsvWriter(writer); csv.Configuration.RegisterClassMap <MinimalLinkApplicationModelCSVMap>(); csv.WriteRecords(links); await writer.FlushAsync(); }) { FileDownloadName = "links.csv" }); }