public UsersController(IUserRepository userRepository, UserRegister userRegister, UserChangePassword userChangePassword, PhotoUser photoUser) { _userRepository = userRepository; _userRegister = userRegister; _userChangePassword = userChangePassword; _photoUser = photoUser; }
public async Task <PhotoUser> CreatePhotoUserAsync(Photo photo, User user) { var photoUser = new PhotoUser { Photo = photo, User = user }; await _context.PhotoUsers.AddAsync(photoUser); return(photoUser); }
public PhotoUser CreatePhotoUser(Photo photo, User user) { var photoUser = new PhotoUser { Photo = photo, User = user }; _context.PhotoUsers.Add(photoUser); return(photoUser); }
public async Task <ActionResult <PhotoUserDto> > AddPhotoUser([FromForm] PhotoUploadDto uploadDto) { var file = uploadDto.Avatar; var currentUser = await _userManager.Users .Include(p => p.PhotoUsers) .SingleOrDefaultAsync(u => u.Id == User.GetUserId()); var result = await _photoService.AddPhotoAsync(file); if (result.Error != null) { return(BadRequest(result.Error.Message)); } var photo = new PhotoUser { PhotoUserUrl = result.SecureUrl.AbsoluteUri, PublicId = result.PublicId }; if (currentUser.PhotoUsers.Count == 0) { photo.IsMain = true; } currentUser.PhotoUsers.Add(photo); var resultUser = await _userManager.UpdateAsync(currentUser); if (resultUser.Succeeded) { return(CreatedAtRoute("GetUser", new { id = currentUser.Id }, _mapper.Map <PhotoUserDto>(photo))); } return(BadRequest("Problem addding photo")); }
public async Task <ActionResult <PhotoUserDto> > AddPhoto(IFormFile file, int userId) { var user = await _unitOfWork.UserRepository.GetUserByIdAsync(userId); if (user == null) { return(NotFound()); } var result = await _photoService.AddPhotoAsync(file); if (result.Error != null) { return(BadRequest(result.Error.Message)); } var photo = new PhotoUser { PhotoUserUrl = result.SecureUrl.AbsoluteUri, PublicId = result.PublicId }; if (user.PhotoUsers.Count == 0) { photo.IsMain = true; } user.PhotoUsers.Add(photo); if (await _unitOfWork.Complete()) { return(_mapper.Map <PhotoUserDto>(photo)); } return(BadRequest("Problem addding photo")); }
public async Task <ActionResult <PhotoUserDto> > EditPhotoUser([FromForm] PhotoUploadDto uploadDto, int photoId) { //remove old photo var user = await _userManager.Users .Include(p => p.PhotoUsers) .SingleOrDefaultAsync(u => u.Id == User.GetUserId()); var photo = user.PhotoUsers.FirstOrDefault(x => x.Id == photoId); if (photo == null) { return(NotFound()); } if (photo.PublicId != null) { var result = await _photoService.DeletePhotoAsync(photo.PublicId); if (result.Error != null) { return(BadRequest(result.Error.Message)); } } user.PhotoUsers.Remove(photo); var resultDelete = await _userManager.UpdateAsync(user); if (resultDelete.Succeeded) { //add new photo var file = uploadDto.Avatar; var afterAdding = await _photoService.AddPhotoAsync(file); if (afterAdding.Error != null) { return(BadRequest(afterAdding.Error.Message)); } var newPhoto = new PhotoUser { PhotoUserUrl = afterAdding.SecureUrl.AbsoluteUri, PublicId = afterAdding.PublicId }; if (user.PhotoUsers.Count == 0) { newPhoto.IsMain = true; } user.PhotoUsers.Add(newPhoto); var resultUser = await _userManager.UpdateAsync(user); if (resultUser.Succeeded) { return(new PhotoUserDto { Id = newPhoto.Id, PhotoUserUrl = newPhoto.PhotoUserUrl, IsMain = newPhoto.IsMain }); } return(BadRequest("Problem editding photo")); } return(BadRequest("Failed to delete the photo")); }