Ejemplo n.º 1
0
        public async Task <IActionResult> UserSettingsPost([FromRoute] string userId,
                                                           [FromForm] UserSettingsUpdate userSettingsUpdate)
        {
            string viewingUserId = this.GetViewerUserId();

            if (viewingUserId != userId)
            {
                return(Unauthorized());
            }

            if (!ModelState.IsValid)
            {
                return(View("UserSettings", new UserSettingsViewModel
                {
                    Id = userId,
                    Bio = userSettingsUpdate.Bio,
                    DateCreated = userSettingsUpdate.DateCreated,
                    Name = userSettingsUpdate.Name
                }));
            }

            await _userService.Update(userId, userSettingsUpdate).CAF();

            _logger.LogInformation("User: {UserId} has updated user settings", viewingUserId);

            return(RedirectToAction("UserView", "User", new { userId }));
        }
Ejemplo n.º 2
0
        public async Task Update(string id, UserSettingsUpdate settingsViewModel)
        {
            var user = await _context.User.FirstOrDefaultAsync(x => x.Id == id).ConfigureAwait(false);

            using var scope = _serviceScopeFactory.CreateScope();
            var mapper = scope.ServiceProvider.GetService <IMapper>();

            mapper.Map(settingsViewModel, user);

            await _context.SaveChangesAsync().ConfigureAwait(false);
        }
Ejemplo n.º 3
0
        public async Task Update(string id, UserSettingsUpdate settingsViewModel)
        {
            var user = await(await _client.User().FindAsync(x => x.Id == id).CAF()).FirstOrDefaultAsync().CAF();

            using var scope = _serviceScopeFactory.CreateScope();
            var mapper = scope.ServiceProvider.GetService <IMapper>();

            mapper.Map(settingsViewModel, user);

            await _client.User().FindOneAndReplaceAsync(x => x.Id == user.Id, user).CAF();
        }