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)); }
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)); }
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)); }