public async void ChangeProfilePicture(ProfilePictureUpdate update) { var uriString = _apiConfig.ImagesApiUrl + "/api/images/profile"; var response = await _apiClient.PostAsync(uriString, update); response.EnsureSuccessStatusCode(); }
public async Task <IActionResult> ChangeProfilePicture([FromBody] ProfilePictureUpdate profilePicture) { var newProfilePicture = await _images.Include("Author").Where(i => i.Id == profilePicture.ImageId).FirstOrDefaultAsync(); var currentProfilePicture = await _images.Include("Author") .Where(i => i.Author.Id == newProfilePicture.Author.Id) .Where(i => i.IsProfilePicture == true) .FirstOrDefaultAsync(); if (newProfilePicture != null) { newProfilePicture.IsProfilePicture = true; _images.Update(newProfilePicture); } else { return(NotFound()); } if (currentProfilePicture != null) { currentProfilePicture.IsProfilePicture = false; _images.Update(currentProfilePicture); } await _context.SaveChangesAsync(); await _bus.Publish(new ProfilePictureChangedEvent { UserId = newProfilePicture.Author.Id, ProfilePictureUrl = newProfilePicture.MediaUrl }); return(Ok()); }
public async Task <IActionResult> SetProfilePicture([FromBody] ProfilePictureUpdate update) { try { var user = await HttpContext.GetUser(); var result = await UserService.SetProfilePicture(user.Id, update.MediaId); return(Ok(result)); } catch (Exception ex) { Logger.LogWarning(ex, "An error occured: " + ex.Message ?? "undefined"); return(ExceptionHandlerService.Handle(ex, Request)); } }