예제 #1
0
 public async Task <IEnumerable <FileDto> > Handle(GetFilesQuery request, CancellationToken cancellationToken)
 {
     return(await _context.Files
            .OrderBy(o => o.CreationDateTime)
            .ProjectTo <FileDto>(_mapper.ConfigurationProvider)
            .ToListAsync(cancellationToken));
 }
예제 #2
0
        public async Task <PagingResult <FileItemExtended> > Handle(GetFilesQuery request, CancellationToken cancellationToken)
        {
            PagingResult <FileItemExtended> Result = new PagingResult <FileItemExtended>();

            Expression <Func <FileItem, bool> > criteria = s => s.Status != ItemStatus.To_Be_Deleted;

            if (request.PageSearch.Start != null && request.PageSearch.End != null)
            {
                criteria = criteria.And(s => s.CreatedAt > request.PageSearch.Start && s.CreatedAt < request.PageSearch.End);
            }
            if (request.PageSearch.UserId != null && request.PageSearch.UserId != Guid.Empty)
            {
                criteria = criteria.And(s => s.UserId == request.PageSearch.UserId.ToString());
            }
            if (request.PageSearch.FileExtension != null)
            {
                criteria = criteria.And(s => s.Extension == request.PageSearch.FileExtension);
            }

            Result.TotalItems = await _unitOfWork.Files.CountAsync(criteria);

            Result.Items = await _unitOfWork.Files.GetFiles(request.PageSearch, criteria);

            return(Result);
        }
        public override async Task <List <FileDto> > AfterValidation(GetFilesQuery request)
        {
            var(hasError, files, error) = await _fileService.GetAllFiles();

            if (hasError)
            {
                NotifyError(error);

                return(null);
            }

            return(files);
        }
예제 #4
0
 public List <FileManagement> Handle(GetFilesQuery query)
 {
     return(_fileQueryRepository.GetAll());
 }