public ActionResult AccountInfo(AccountInfoModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    //get the currently logged in user
                    MembershipUser currentUser = Membership.GetUser(User.Identity.Name, userIsOnline: true);

                    //if it is not the same Email as before
                    if (!currentUser.Email.Equals(model.Email))
                    {
                        //check to see if there is another user with the same email address 
                        //and throw an exception in case it does
                        var userName = Membership.GetUserNameByEmail(model.Email);
                        if (!String.IsNullOrEmpty(userName) && !currentUser.UserName.Equals(userName))
                            throw new ApplicationException("There's another user with the same Email address. Please provide a different Email address.");

                        //set the Email and update the user
                        currentUser.Email = model.Email;
                        Membership.UpdateUser(currentUser);
                    }

                    //set the Success message
                    TempData["PageMessage"] = new PageMessageModel
                    {
                        Type = PageMessageModel.MessageType.Success,
                        Message = "User " + User.Identity.Name + " has been updated successfully!"
                    };

                    return RedirectToAction("AccountInfo", "Account");
                }
                catch (Exception ex)
                {
                    //provide an error message in case of an Exception
                    model.PageMessage = new PageMessageModel
                    {
                        Type = PageMessageModel.MessageType.Error,
                        Message = ex.Message
                    };
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
 public ActionResult AccountInfo()
 {
     //get the currently logged in user and set the Email and UserName fields in the model
     //also get the message from the TampData object
     MembershipUser currentUser = Membership.GetUser(User.Identity.Name, userIsOnline: true);
     AccountInfoModel model = new AccountInfoModel()
     {
         Email = currentUser.Email,
         PageMessage = TempData["PageMessage"] as PageMessageModel ?? new PageMessageModel()
     };
     return View(model);
 }