public async Task <IActionResult> GetFilesByUser([FromQuery] FileDtoPagedQuery fileQuery) { var userId = GetUserIdFromClaim(); var result = await _fileService.GetFilesByUser(userId, fileQuery); return(Ok(result)); }
public async Task <FileDtoPaged> GetFilesByUser(int userId, FileDtoPagedQuery fileQuery) { var myUser = await _userRepository.GetOneByIdAsync(userId); if (myUser == null) { throw new UserNotFoundException("Files owner not found"); } var pagedEntity = await _fileRepository.GetAllPagedAsync(fileQuery.Page, fileQuery.Size, fileQuery.Filter, fileQuery.Order, x => x.user.Id == myUser.Id); var pagedResult = GetFilesPaged(pagedEntity, fileQuery); return(pagedResult); }
private FileDtoPaged GetFilesPaged(PagedEntity <File> pagedEntity, FileDtoPagedQuery fileQuery) { var result = new FileDtoPaged(); var entitiesDtoList = new List <FileDto>(); var files = pagedEntity.Entities; result.Size = fileQuery.Size; result.Count = pagedEntity.Count; result.Page = fileQuery.Page; foreach (var file in files) { var fileDto = _mapper.Map <File, FileDto>(file); entitiesDtoList.Add(fileDto); } result.Entities = entitiesDtoList; return(result); }