public async Task <IActionResult> EditProfile(ViewModel.EditProfile model)
        {
            model.ClearMessages();

            if (ModelState.IsValid)
            {
                try
                {
                    var result = await _service.UpdateUserProfileAsync(model.Email, model.Name);

                    if (result)
                    {
                        model.SuccessMessage = "Profile updated successfully";
                    }
                    else
                    {
                        model.ErrorMessage = "Error updating user profile";
                    }
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex, $"Error saving profile changes for {model.Email}");
                    model.ErrorMessage = "Error updating user profile";
                }
            }

            return(View(model));
        }
        public async Task <IActionResult> EditProfile()
        {
            var loggedInUser = await _userProvider.GetLoggedInUserAsync();

            var editProfile = new ViewModel.EditProfile
            {
                Name  = loggedInUser.Name,
                Email = loggedInUser.Email
            };

            return(View(editProfile));
        }
Exemple #3
0
        public async Task AccountController_EditProfile_Unsuccessful()
        {
            var mockLogger         = Mock.Of <ILogger <AccountController> >();
            var mockUserProvider   = Mock.Of <IUserProvider>();
            var mockAccountService = new MockAccountService().MockUpdateUserProfileAsync(false);

            var accountController = new AccountController(mockUserProvider, mockAccountService.Object, mockLogger);

            var editProfileViewModel = new ViewModel.EditProfile
            {
                Name  = "James Doe",
                Email = "*****@*****.**"
            };

            var result = await accountController.EditProfile(editProfileViewModel);

            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsType <ViewModel.EditProfile>(viewResult.ViewData.Model);

            Assert.IsType <ViewModel.EditProfile>(model);
            Assert.Equal("Error updating user profile", model.ErrorMessage);
            Assert.Equal("", model.SuccessMessage);
        }