// GET: /member/validate public virtual ActionResult ValidateEmail(string key) { ProviderCurrentMember currentMember = ProviderCurrentMember.Instance; List<string> errorList = new List<string>(); ProviderIssuedKey nonceKey = new ProviderIssuedKey(); MessageVM returnMessageVM = new MessageVM { Image = ImageLibrary.Alert, CssClassContainer = "failure", Message = "Failed to validate e-mail. Please <a href=\"" + Url.Action(MVC.Info.ContactUs()) + "\">contact us</a> to resolve the issue.", Title = "E-mail Validation Failure", LinkText = "Continue", LinkHref = Url.Action(MVC.Home.Index()), Details = errorList }; if (nonceKey.Load(key)) { ProviderEmail anEmail = new ProviderEmail(); if (anEmail.Load(nonceKey.Data)) { anEmail.IsValidated = true; anEmail.EditDate = DateTime.UtcNow; anEmail.Save(); if (currentMember.IsLoggedOn && currentMember.IsActive) { returnMessageVM = new MessageVM { Image = ImageLibrary.Success, CssClassContainer = "info", Message = "Your e-mail has been validated", Title = "E-mail validated" }; } else if (currentMember.Login(key, null, false, ref errorList) == ProviderCurrentMember.LoginEnum.success) { returnMessageVM = new MessageVM { Image = ImageLibrary.Success, CssClassContainer = "info", Message = "Welcome! Your account has been activated. Explore our site:", Title = "Account Activated", Details = new List<string> { "<a href='" + Url.Action( MVC.Home.Index(null, null) ) + "' class='button'>Home Page</a> Go back to the main page.", "<a href='" + Url.Action( MVC.Article.ArticleEdit(null, null) ) + "' class='button'>Publish</a> Become an author! Publish an article.", "<a href='" + Url.Action( MVC.Member.Profile(currentMember.Id.Value, null) ) + "' class='button'>Profile</a> Check out your new member profile " + "where you can review your published articles and add details to show others who you are." } }; } } } return View("Message", returnMessageVM); }
// GET: /member/ChangePassword public virtual ActionResult ChangePassword(string issuedKey) { ActionResult returnValue = null; ProviderCurrentMember currentMember = ProviderCurrentMember.Instance; if (!string.IsNullOrWhiteSpace(issuedKey)) { ProviderIssuedKey aKey = new ProviderIssuedKey(); if (!aKey.Load(issuedKey)) { MessageVM returnMessageVM = new MessageVM { Image = ImageLibrary.Alert, CssClassContainer = "failure", Message = "Invalid key provided. Please <a href=\"" + Url.Action(MVC.Info.ContactUs()) + "\">contact us</a> to resolve the issue.", Title = "Login failure", LinkText = "Continue", LinkHref = Url.Action(MVC.Home.Index()) }; returnValue = View(MVC.Shared.Views.Message, returnMessageVM); } else { // validate the e-mail if it wasn't already. ProviderEmail anEmail = new ProviderEmail(); if (anEmail.Load(aKey.Data) && !anEmail.IsValidated) { anEmail.IsValidated = true; anEmail.EditDate = DateTime.UtcNow; anEmail.Save(); } List<string> errorList = new List<string>(); if (currentMember.Login(issuedKey, null, false, ref errorList) == ProviderCurrentMember.LoginEnum.success) { MessageVM returnMessageVM = new MessageVM { Image = ImageLibrary.Alert, CssClassContainer = "failure", Message = "Failed to login. Please <a href=\"" + Url.Action(MVC.Info.ContactUs()) + "\">contact us</a> to resolve the issue.", Title = "Login failure", LinkText = "Continue", LinkHref = Url.Action(MVC.Home.Index()), Details = errorList }; returnValue = View(MVC.Shared.Views.Message, returnMessageVM); } } } if(currentMember.IsLoggedOn) { ChangePasswordVM viewModel = new ChangePasswordVM { CurrentMemberId = currentMember.Id.Value }; returnValue = View(viewModel); } return returnValue; }
// POST: /member/delete public virtual ActionResult Delete(string key) { MessageVM returnMessageVM; ProviderIssuedKey issuedKey = new ProviderIssuedKey(); if (issuedKey.Load(key) && !issuedKey.HasExpired && issuedKey.IsValidated) { ProviderMember aMember = new ProviderMember(issuedKey.MemberId); ProviderCurrentMember currentMember = ProviderCurrentMember.Instance; // if the person is currently logged on with the account that is being deleted then log them off if (currentMember.Id == aMember.Id) { currentMember.LogOff(); } aMember.Delete(); returnMessageVM = new MessageVM { Image = ImageLibrary.Success, CssClassContainer = "success", Message = "Success! Member Acount deleted.", Title = "Acount Deleted", LinkText = "Continue", LinkHref = Url.Action(MVC.Home.Index()) }; } else { returnMessageVM = new MessageVM { Image = ImageLibrary.Alert, CssClassContainer = "failure", Message = "Failed to delete member account. Please <a href=\"" + Url.Action(MVC.Info.ContactUs()) + "\">contact us</a> to resolve the issue.", Title = "Account Deletion Failure", LinkText = "Continue", LinkHref = Url.Action( MVC.Home.Index() ) }; } return View("Message", returnMessageVM); }