Exemple #1
0
        /// <summary>
        /// 根据图集参数查询图片列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<ServiceResult<IEnumerable<ImageDto>>> QueryImagesAsync(QueryImagesInput input)
        {
            return await _galleryCacheService.QueryImagesAsync(input, async () =>
            {
                var result = new ServiceResult<IEnumerable<ImageDto>>();

                var albums = await _albumRepository.FindAsync(input.Id);

                if (albums.IsNull())
                {
                    result.IsFailed(ResponseText.WHAT_NOT_EXIST.FormatWith("Id", input.Id));
                    return result;
                }

                if (albums.Password != (input.Password ?? ""))
                {
                    result.IsFailed(ResponseText.PASSWORD_WRONG);
                    return result;
                }

                var images = _imageRepository.Where(x => x.AlbumId == albums.Id)
                                             .OrderByDescending(x => x.CreateTime)
                                             .ToList();

                var list = ObjectMapper.Map<IEnumerable<Image>, IEnumerable<ImageDto>>(images);

                result.IsSuccess(list);
                return result;
            });
        }
Exemple #2
0
 /// <summary>
 /// 根据图集参数查询图片列表
 /// </summary>
 /// <param name="input"></param>
 /// <param name="factory"></param>
 /// <returns></returns>
 public async Task <ServiceResult <IEnumerable <ImageDto> > > QueryImagesAsync(QueryImagesInput input, Func <Task <ServiceResult <IEnumerable <ImageDto> > > > factory)
 {
     return(await Cache.GetOrAddAsync(KEY_QueryImages.FormatWith((input.Id + input.Password).EncodeMd5String()), factory, CacheStrategy.ONE_DAY));
 }
Exemple #3
0
 public async Task <ServiceResult <IEnumerable <ImageDto> > > QueryImagesAsync([FromQuery] QueryImagesInput input)
 {
     return(await _galleryService.QueryImagesAsync(input));
 }