コード例 #1
0
            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");
            }
コード例 #2
0
            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.");
            }