public async Task <ActionResult> ModifyAccountDetails(ModifyAccountDetailsViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = UserManager.FindById(User.Identity.GetUserId());
                if (user == null)
                {
                    return(View("Error"));
                }

                user.Name                         = model.Name;
                user.PhoneNumber                  = model.PrimaryPhoneNumber;
                user.SecondaryPhoneNumber         = model.SecondaryPhoneNumber;
                user.PreferredCommunicationMethod = model.PreferredCommunicationMethod;
                user.DefaultAddress               = model.DefaultAddress;

                var result = await UserManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    AuditUser.LogAudit(2, "", user.Id);

                    TempData["message"] = string.Format
                                              ("Your account details have been updated.");

                    return(RedirectToAction("Index"));
                }
            }

            return(View(model));
        }
        public ActionResult ModifyAccountDetails()
        {
            var user = UserManager.FindById(User.Identity.GetUserId());

            if (user == null)
            {
                return(View("Error"));
            }

            ModifyAccountDetailsViewModel model = new ModifyAccountDetailsViewModel()
            {
                Name = user.Name,
                PrimaryPhoneNumber           = user.PhoneNumber,
                SecondaryPhoneNumber         = user.SecondaryPhoneNumber,
                PreferredCommunicationMethod = user.PreferredCommunicationMethod,
                DefaultAddress = user.DefaultAddress
            };

            return(View(model));
        }