コード例 #1
0
        private void RequestEmailChange(UserModel viewModel, UrlHelper helper, User user)
        {
            string originalPendingEmail = user.PendingEmail;

            if (viewModel.PendingEmail != user.EmailAddress)
            {
                viewModel.CopyTo(user);
                string actionEndpoint       = helper.AbsoluteAction("ConfirmEmail", "Account");
                Uri    confirmationEndpoint = new Uri(actionEndpoint);
                EmailConfirmationManager.Request(user, confirmationEndpoint);
            }
            else
            {
                viewModel.CopyTo(user);
            }
        }
コード例 #2
0
        public ConfirmEmailModel GenerateConfirmEmailViewModel(Guid confirmationIdentifier)
        {
            ConfirmEmailModel viewModel;
            User user = UserRepository.Items.SingleOrDefault(u => u.ConfirmationGuid == confirmationIdentifier);

            if (user == null || UserRepository.Items.Any(u => u.Id != user.Id && u.EmailAddress == user.PendingEmail))
            {
                return(new ConfirmEmailModel {
                    Success = false
                });
            }
            viewModel = new ConfirmEmailModel {
                Success = true, UserDisplayName = user.DisplayName, UserEmailAddress = user.PendingEmail
            };
            EmailConfirmationManager.Process(user);
            UserRepository.Update(user);
            RepositoryContainer.Save();
            return(viewModel);
        }