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)); }
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)); }