示例#1
0
        public async void ChangeProfilePicture(ProfilePictureUpdate update)
        {
            var uriString = _apiConfig.ImagesApiUrl + "/api/images/profile";
            var response  = await _apiClient.PostAsync(uriString, update);

            response.EnsureSuccessStatusCode();
        }
示例#2
0
        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());
        }
示例#3
0
        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));
            }
        }