private DataModel.Photo CreatePhotoModel(Command request, PhotoDto photoUploadResult) { DataModel.Photo photo = _mapperHelper.Map <Command, DataModel.Photo>(request); photo.Id = photoUploadResult.Id; photo.AppUserId = _userAccessor.GetCurrentUserId(); photo.CloudFileName = photoUploadResult.CloudFileName; return(photo); }
public async Task <PhotoDto> Handle(Command request, CancellationToken cancellationToken) { PhotoDto photoUploadResult = await _photoAccessor.AddPhotoAsync(request.File, cancellationToken); DataModel.Photo photo = CreatePhotoModel(request, photoUploadResult); _unitOfWork.PhotoRepo.Add(photo); int insertCnt = await _unitOfWork.SaveAsync(cancellationToken); if (insertCnt > 0) { photoUploadResult.Id = photo.Id; return(photoUploadResult); } throw new Exception("Problem saving uploaded file entry into database."); }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { DataModel.Photo photo = await _unitOfWork.PhotoRepo.FindFirstAsync(request.PhotoId, cancellationToken); if (photo == null) { throw new CustomException(HttpStatusCode.NotFound, new { PhotoId = "Invalid photo id" }); } await _photoAccessor.DeletePhotoAsync(photo.CloudFileName, cancellationToken); _unitOfWork.PhotoRepo.Delete(photo); int cnt = await _unitOfWork.SaveAsync(cancellationToken); if (cnt > 0) { return(Unit.Value); } throw new Exception("Problem saving changes to database"); }