Ejemplo n.º 1
0
        public async Task <IActionResult> Get(int id)
        {
            var images = _imageRepository.Query().Where(a => a.Id == id)
                         .Include(a => a.Category)
                         .Include(a => a.User)
                         .Include(a => a.ImageTag).
                         ThenInclude(tg => tg.Tag)
                         .FirstOrDefault();

            if (images == null)
            {
                return(NotFound("No images Found"));
            }
            var mapped = _mapper.Map <GetImageDto>(images);
            await _imageRepository.AddImageViews(new ImageView()
            {
                ImageId = mapped.Id
            });

            await _imageRepository.Save();

            var colors = _imageColorRepository.Query()
                         .Where(a => a.ImageId == mapped.Id)
                         .Select(a => a.Color)
                         .ToList();
            var fileInfo = await _fileInfoRepository.Query().FirstOrDefaultAsync(a => a.ImageId == mapped.Id);

            mapped.Colors   = _mapper.Map <List <ColorDto> >(colors);
            mapped.FileInfo = _mapper.Map <GetFileInfoDto>(fileInfo);
            return(Ok(mapped));
        }