コード例 #1
0
        public async Task <IActionResult> GetFilesByUser([FromQuery] FileDtoPagedQuery fileQuery)
        {
            var userId = GetUserIdFromClaim();
            var result = await _fileService.GetFilesByUser(userId, fileQuery);

            return(Ok(result));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }