public async Task <IActionResult> Edit(string id)
        {
            try
            {
                var user = await _userManager.FindByIdAsync(id);

                if (user == null)
                {
                    ViewBag.ErrorMessage = $"User with Id = {id} cannot be found";
                    return(View("NotFound"));
                }



                var model = new PersoInformationViewModel
                {
                    UserName       = user.UserName,
                    FirstName      = user.FirstName,
                    LastName       = user.LastName,
                    Email          = user.Email,
                    EmailConfirmed = user.EmailConfirmed,
                    PhoneNumber    = user.PhoneNumber,
                    Address        = user.Address
                };

                return(View(model));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"When retrieving to edit your profile.");
                throw;
            }
        }
        public async Task <IActionResult> Edit(PersoInformationViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var user = await _userManager.FindByIdAsync(model.Id);

                    if (user == null)
                    {
                        ViewBag.ErrorMessage = $"User with Id = {model.Id} cannot be found";
                        return(View("NotFound"));
                    }

                    user.FirstName   = model.FirstName;
                    user.LastName    = model.LastName;
                    user.Email       = model.Email;
                    user.PhoneNumber = model.PhoneNumber;
                    user.Address     = model.Address;



                    var result = await _userManager.UpdateAsync(user);

                    if (result.Succeeded)
                    {
                        return(RedirectToAction("Index", "Home"));
                    }

                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError(string.Empty, error.Description);
                    }
                }

                return(View(model));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"When retrieving to edit your profile.");
                throw;
            }
        }