public MvcMailMessage SignupMailMessage(SignupModel model) { ViewBag.Data = model; return Populate(x => { x.From = new MailAddress("*****@*****.**"); x.Subject = model.Username + " Just Signed Up"; x.ViewName = "SignupMailMessage"; //EmailsToArray(content.GetPropertyValue<string>("emailAddress")).ForEach(email => x.To.Add(email)); x.To.Add(model.Email); }); }
/// <summary> /// add new Member to DB without approval /// </summary> /// <param name="model"></param> /// <returns>true/false</returns> protected bool ValidateMember(SignupModel model) { try { var memberService = Services.MemberService; // create a GUID for the email validation string newUserGuid = Guid.NewGuid().ToString("N"); // Member is the member type var newmember = memberService.CreateMember(model.Username.ToLower(), model.Email.ToLower(), model.Username, "MyMember"); if (newmember == null) { LogHelper.Info<UmbracoMembershipProviderBase>(string.Format("CreateMember for username {0}, email {1}, name {2} failed", model.Username.ToLower(), model.Email.ToLower(), model.Username)); return false; } newmember.SetValue("activationguid", newUserGuid); // Not yet allowed to log in! newmember.IsApproved = false; // Don't forget to save all these things memberService.Save(newmember); // save their password memberService.SavePassword(newmember, model.Password); // "regular" is the member group memberService.AssignRole(newmember.Id, "regular"); // Link for email validattion string host = HttpContext.Request.Url.Authority; string validateUrl = "http://" + host + "/umbraco/surface/MemberSurface/MemberActivation?pageid=" + CurrentPage.Id + "&email=" + model.Email + "&guid=" + newUserGuid; Session["validateUrl"] = validateUrl; _eventPublisher.Publish(new Event<SignupModel> { Entity = model }); return true; } catch (Exception) { LogHelper.Info<UmbracoMembershipProviderBase>(string.Format("CreateMember for username {0}, email {1}, name {2} failed", model.Username.ToLower(), model.Email.ToLower(), model.Username)); return false; } }
public JsonResult SubmitSignupForm(SignupModel model) { if (!ModelState.IsValid) return Json(new { success = false, value = "Form did not passed validation" }); if (Members.GetByUsername(model.Username.ToLower()) != null) { return Json(new { success = false, value = "usernotvalid", message = string.Format( "{0} is already in use",@model.Username.ToLower()) }); } if (Members.GetByEmail(model.Email.ToLower()) != null) { return Json(new { success = false, value = "emailnotvalid", message = string.Format( "{0} is already in use",@model.Email.ToLower() )}); } if (!ValidateMember(model)) { //LogHelper.Info<UmbracoMembershipProviderBase>(string.Format("RegisterMember for username {0} failed", model.Username.ToLower())); return Json(new { success = false, value = "notcreated", message = "user did not passed validation" }); } return Json(new { success = true, message = "We’ve received your request to create a new account. Soon you'll receve an email with instructions on how to activate your account" }); }