public async Task <PhotoInsertedDto> AddPhoto(PhotoToInsertDto photoToInsertDto)
        {
            var photoToAdd = _mapper.Map <Photo>(photoToInsertDto);
            await _photoRepository.Add(photoToAdd);

            return(_mapper.Map <PhotoInsertedDto>(photoToAdd));
        }
        public PhotoToInsertDto UploadPhoto(PhotoToUploadDto photoToUploadDto)
        {
            PhotoToInsertDto photoToInsertDto = null;

            if (photoToUploadDto.File == null || photoToUploadDto.File.Length < 1)
            {
                throw new PhotoUploadFileEmptyException();
            }
            var uploadedPhotoToReturn = _photoUploader.UploadPhoto(photoToUploadDto.File);

            if (uploadedPhotoToReturn.UploadSucceeded)
            {
                photoToInsertDto          = this._mapper.Map <PhotoToInsertDto>(photoToUploadDto);
                photoToInsertDto.Url      = uploadedPhotoToReturn?.Uri?.ToString();
                photoToInsertDto.PublicId = uploadedPhotoToReturn?.PublicId;
            }

            return(photoToInsertDto);
        }