Exemplo n.º 1
0
        public async Task <string> Handle(UploadPhotoCommand request, CancellationToken cancellationToken)
        {
            var photo = request.Photo;

            ValidatePhoto(photo);

            var fileName = await _photoStorage.StorePhotoAsync(photo);

            return(fileName);
        }
Exemplo n.º 2
0
        public async Task <Photo> UploadPhoto(Vehicle vehicle, IFormFile file, string uploadFolderPath)
        {
            var fileName = await photoStorage.StorePhotoAsync(uploadFolderPath, file);


            var photo = new Photo {
                FileName = fileName
            };

            vehicle.Photos.Add(photo);
            await unitOfWork.CompleteAsyc();

            return(photo);
        }
Exemplo n.º 3
0
        public async Task<Photo> UploadPhotoAsync(Vehicle vehicle, IFormFile file, string uploadFolderPath)
        {
            // if (!Directory.Exists(uploadFolderPath))
            //     Directory.CreateDirectory(uploadFolderPath);

            // var fileName = Guid.NewGuid().ToString() + Path.GetExtension(file.FileName);
            // var filePath = Path.Combine(uploadFolderPath, fileName);

            // using (var stream = new FileStream(filePath, FileMode.Create))
            // {
            //     await file.CopyToAsync(stream);
            // }

            var fileName = await photoStorage.StorePhotoAsync(file, uploadFolderPath);

            var photo = new Photo { FileName = fileName };
            vehicle.Photos.Add(photo);
            await unitOfWork.CompleteAsync();

            return photo;
        }
Exemplo n.º 4
0
        public async Task <Result <UserProfileDto> > Handle(EditAvatarCommand request, CancellationToken cancellationToken)
        {
            var profile = await _forumDbContext.Profiles
                          .IncludeUser()
                          .SingleAsync(p => p.UserId == request.UserId);

            var validationResult = _photoValidator.ValidatePhoto(request.Avatar);

            if (!validationResult.Succeeded)
            {
                return(Result <UserProfileDto> .Failure(validationResult.Field, validationResult.Message));
            }

            var oldAvatar = profile.Avatar;

            if (oldAvatar != null)
            {
                _forumDbContext.Photos.Remove(oldAvatar);
                await _photoStorage.DeletePhotoAsync(oldAvatar.FileName);
            }

            var newAvatar = request.Avatar;

            var resizedAvatar = await _imageProcessor.ResizeImage(newAvatar);

            var fileName = await _photoStorage.StorePhotoAsync(resizedAvatar, ".png");

            profile.Avatar = new Photo {
                FileName = fileName
            };
            await _forumDbContext.SaveChangesAsync();

            var result = _mapper.Map <UserProfileDto>(profile);

            return(Result <UserProfileDto> .Success(result));
        }