Esempio n. 1
0
        public async Task <PictureDTO> AddPicture(CreatePictureDTO data)
        {
            string fileName = GenerateRandomFileName(data.Extension);
            await _storageService.AddAsync(fileName, data.Picture);

            Picture picData = new Picture()
            {
                Date        = DateTime.UtcNow,
                Description = data.Description,
                PicIdentity = fileName,
                UserId      = _userService.GetUserId()
            };

            await _pictureRepository.AddAsync(picData);

            return(_mapper.Map <Picture, PictureDTO>(picData));
        }
Esempio n. 2
0
        public async Task <PictureViewModel> Handle(AddPictureCommand command, CancellationToken cancellationToken)
        {
            var validator = new AddPictureCommand.Validator();
            await validator.ValidateAndThrowAsync(command, cancellationToken : cancellationToken);

            var picture = new Picture(Guid.NewGuid(),
                                      command.Filename,
                                      command.Description,
                                      command.Url,
                                      command.MimeTypeId);

            await _pictureRepository.AddAsync(picture);

            await _pictureRepository.UnitOfWork.SaveEntitiesAsync(_domainEventsService, _mediator, cancellationToken);

            return(_mapper.Map <PictureViewModel>(picture));
        }
Esempio n. 3
0
        public async Task <PictureDto> AddPictureToPostAsync(int postId, IFormFile file)
        {
            var post = await _postRepository.GetByIDAsync(postId);

            var existingPictures = await _pictureRepository.GetByPostIdAsync(postId);

            var picture = new Picture()
            {
                Posts = new List <Post> {
                    post
                },
                Name  = file.FileName,
                Image = file.GetBytes(),
                Main  = existingPictures.Count() == 0 ? true : false
            };

            var result = await _pictureRepository.AddAsync(picture);

            return(_mapper.Map <PictureDto>(result));
        }