Пример #1
0
        public async Task <IActionResult> GetListing(Guid listingId)
        {
            var result = await _findListingCoordinator.Find(listingId);

            if (result == null)
            {
                return(NotFound());
            }

            var response = MapListingResponse(result);

            return(Ok(response));
        }
        public async Task <ListingImage> AddImage(Guid listingId, byte[] imageContent, string imageMediaType)
        {
            if (imageContent == null)
            {
                throw new ArgumentNullException(nameof(imageContent));
            }
            if (string.IsNullOrWhiteSpace(imageMediaType))
            {
                throw new ArgumentException("Value cannot be null or whitespace.", nameof(imageMediaType));
            }

            var listing = await _findListingCoordinator.Find(listingId);

            if (listing == null)
            {
                return(null);
            }

            var imageFileName = $"{Guid.NewGuid()}";
            var url           = await _imageStore.PersistArticleEntryMedia(imageFileName, imageContent, imageMediaType);

            var image = new ListingImage()
            {
                Listing   = listing,
                ListingId = listingId,
                Url       = url
            };

            await _dbContext.Add(image);

            await _dbContext.SaveChanges();

            return(image);
        }