public async Task <IEnumerable <PictureDto> > Handle(GetPicturesQuery request, CancellationToken cancellationToken) { Uri requestUrl = new Uri(_httpClient.BaseAddress, ApiConstants.GetPicturesUrl); AuthenticationHeaderValue authHeader = await _localStorage.GetAuthHeaderValueAsync(); return(await _httpClient.PostAsJsonAsync <GetPicturesQuery, IEnumerable <PictureDto> >(requestUrl, request, authHeader)); }
public async Task <IEnumerable <PictureDto> > Handle(GetPicturesQuery request, CancellationToken cancellationToken) { Album album = await _dbContext.Albums.FindAsync(request.AlbumId); Guid userId = _httpContextAccessor.HttpContext.GetUserId(); if (!album.IsPrivate || userId == album.OwnerId) { return(album.Pictures.Skip(request.Offset).Take(request.Count).Select(p => p.ToPictureDto(_pictureService.GetBigPictureUrl(p.Id, p.Extension), _pictureService.GetSmallPictureUrl(p.Id, p.Extension))) .ToArray()); } else { return(new PictureDto[0]); } }
public async Task <ActionResult <IEnumerable <PictureDto> > > GetPictures(GetPicturesQuery query) => Ok(await _mediator.Send(query));