public async Task <Photo> Handle(Command request, CancellationToken cancellationToken) { var photoUploadResult = await _photoAccessor.AddPhotoAsync(request.File); var user = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _userAccessor.GetCurrentUsername()); var photo = new Photo { Url = photoUploadResult.Url, Id = photoUploadResult.PublicId }; if (!user.Photos.Any(p => p.IsMain)) { photo.IsMain = true; } user.Photos.Add(photo); var success = await _context.SaveChangesAsync() > 0; if (success) { return(photo); } throw new Exception("Problem saving changes"); }
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."); }