Advertisement
Guest User

Untitled

a guest
Dec 5th, 2015
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web.Security.
  5. using Umbraco.Core.Services;
  6. using Umbraco.Web.Models;
  7. using Umbraco.Web.PublishedCache;
  8.  
  9. /*
  10. *
  11. * MembershipHelper
  12. *
  13. */
  14.  
  15. // Creates a new register model. Will be constructed with member properties defined on the "MyMemberTypeAlias" within Umbraco.
  16. var newMember = this.Members.CreateRegistrationModel("MyMemberTypeAlias");
  17.  
  18. /*
  19. * Other ways of creating a RegisterModel. Avoid!
  20. */
  21.  
  22. // Nay! Assumes that a default member type for a baked in alias exists!
  23. newMember = this.Members.CreateRegistrationModel();
  24.  
  25. // Yay for mutability! >_>
  26.  
  27. /* Nay! Attempts to manually construct an instance of MembershipHelper based off the
  28. * current context and also assumes that a default member type for a baked in alias exists! */
  29. newMember = new RegisterModel();
  30.  
  31. /* Nay! Creates a completely vanilla instance of the model and also assumes that a default
  32. * member type for a baked in alias exists! */
  33. newMember = RegisterModel.CreateModel();
  34.  
  35. /*
  36. * Standard properties that are required to be set for the registration to succeed.
  37. */
  38.  
  39. newMember.Name = "Mike Bowen";
  40. newMember.Email = "milquetoastable@gmail.com";
  41. newMember.Password = "24DaysInUmbraco";
  42.  
  43. // UsernameIsEmail needs to be set to false in order for the Username property to be persisted.
  44. newMember.UsernameIsEmail = false;
  45. newMember.Username = "mike";
  46.  
  47. newMember.LoginOnSuccess = false;
  48.  
  49. /*
  50. * Setting custom properties defined on the member type. The property must be set as "Member can edit" within the Umbraco interface.
  51. */
  52.  
  53. UmbracoProperty favouriteLanguage = newMember.MemberProperties.Single(p => p.Alias == "favouriteLanguage");
  54. favouriteLanguage.Value = "Crystal";
  55.  
  56. /*
  57. * Saving the member.
  58. */
  59.  
  60. MembershipCreateStatus status = new MembershipCreateStatus();
  61. MembershipUser member = this.Members.RegisterMember(newMember, out status);
  62.  
  63. // Check the status of the registration.
  64. if (status == MembershipCreateStatus.Success)
  65. {
  66. // Add a role ("member group" in Umbraco) to the newly created member.
  67. Roles.AddUserToRole(newMember.Username, "MyMemberGroup");
  68.  
  69. // Members are automatically approved.
  70. member.IsApproved = false;
  71.  
  72. // Re-save the member.
  73. Membership.UpdateUser(member);
  74. }
  75.  
  76. /*
  77. *
  78. * MemberService
  79. *
  80. */
  81.  
  82. IMemberService service = ApplicationContext.Current.Services.MemberService;
  83.  
  84. // Creates a new member object to persist later on.
  85. IMember newMember = service.CreateMember("milquetoastable@gmail.com", "milquetoastable@gmail.com", "Mike Bowen", "MyMemberType");
  86.  
  87. // Ostensibly the same methods. Creates and immediately persists a new member.
  88. newMember = service.CreateMemberWithIdentity("milquetoastable@gmail.com", "milquetoastable@gmail.com", "Mike Bowen", "MyMemberType");
  89. newMember = service.CreateWithIdentity("milquetoastable@gmail.com", "milquetoastable@gmail.com", "Mike Bowen", "MyMemberType");
  90.  
  91. // Setting custom properties.
  92. newMember.SetValue("favouriteLanguage", "Ruby");
  93.  
  94. // Setting standard membership properties. Requires less hoop jumping than using MembershipHelper.
  95. newMember.Comments = "Here's an member";
  96. newMember.IsApproved = false;
  97. newMember.PasswordQuestion = "Awesome?";
  98. newMember.RawPasswordAnswerValue = "AWESOME";
  99.  
  100. service.Save(newMember);
  101. service.SavePassword(newMember, "24DaysInUmbraco");
  102.  
  103. // Assigning roles.
  104. service.AssignRoles(new [] { newMember.Id }, new [] { "MyMemberGroup", "MyOtherMemberGroup" });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement