public ViewResult ChangeEmail(UserFull userModification)
        {
            UserEmail userEmail = new UserEmail(userModification);
            var       errors    = userEmail.Validate();

            if (errors == null)
            {
                if (registeredUserRepository.GetByMail(userModification.Email) == null)
                {
                    MembershipUser mu = Membership.GetUser();
                    PublicUser     ru = (PublicUser)registeredUserRepository.GetByMembershipId(Convert.ToInt32(mu.ProviderUserKey));
                    mu.Email        = userModification.Email;
                    ru.EmailAddress = userModification.Email;
                    registeredUserRepository.SaveOrUpdate(ru);
                    userModification.Alert = "User email updated successfully";
                }
                else
                {
                    errors = new ErrorSummary();
                    errors.RegisterErrorMessage("Email", "That email already exist in our database");
                }
            }

            if (errors != null)
            {
                Session["Errors"] = errors.ErrorMessages;
            }

            userModification.Tab = 1;
            userModification     = GetAccountData(userModification);
            return(View("Index", userModification));
        }