Beispiel #1
0
        public async Task <ResponseHandler> AddPhotoForAsset(AssetPhotoDto assetPhotoDto)
        {
            var asset = await _context.LibraryAssets.Include(x => x.Photo).FirstOrDefaultAsync(x => x.Id == assetPhotoDto.LibraryAssetId);

            PhotoSettings settings = CloudinarySettings();

            if (asset.Photo != null)
            {
                await DeletePhoto(settings, asset.Photo);
            }

            var photoModel = new PhotoModel(assetPhotoDto.File)
            {
                Folder = "LMS/Assets",
                Width  = 500,
                Height = 500,
                Crop   = "fill"
            };

            var result = _photoLibrary.UploadPhoto(settings, photoModel);

            assetPhotoDto.Url      = result.Url;
            assetPhotoDto.PublicId = result.PublicId;

            var photo = _mapper.Map <AssetPhoto>(assetPhotoDto);

            asset.Photo = photo;

            await _context.SaveChangesAsync();

            var photoToreturn = _mapper.Map <PhotoForReturnDto>(photo);

            return(new ResponseHandler(photoToreturn, photo.Id));
        }
Beispiel #2
0
        public async Task <IActionResult> AddPhotoForAsset([FromForm] AssetPhotoDto assetPhotoDto)
        {
            var result = await _photoService.AddPhotoForAsset(assetPhotoDto);

            if (result.IsSuccessful)
            {
                return(Ok(result.Result));
            }

            //return CreatedAtAction("GetPhoto", new { id = photo.Id }, photo);
            return(BadRequest(result.Message));
        }