// deletes user from user table and membership tables. public static void DeleteUser(User user) { var simpleRoles = (SimpleRoleProvider)Roles.Provider; var simpleMembership = (SimpleMembershipProvider)Membership.Provider; List<string> roles = new List<string>(); if (simpleRoles.IsUserInRole(user.Email, "Admin")) roles.Add("Admin"); if (simpleRoles.IsUserInRole(user.Email, "Member")) roles.Add("Member"); // possible OAuth account var oAuths = OAuthWebSecurity.GetAccountsFromUserName(user.Email); var oAuth = oAuths.Count > 0 ? oAuths.ToList()[0] : null; // ** Unit of Work Pattern using (var uow = new UnitOfWorkDistributed()) { simpleRoles.RemoveUsersFromRoles(new string[] { user.Email }, roles.ToArray()); if (oAuth != null) OAuthWebSecurity.DeleteAccount(oAuth.Provider, oAuth.ProviderUserId); else simpleMembership.DeleteAccount(user.Email); simpleMembership.DeleteUser(user.Email, false); uow.Complete(); } }
// add a user to user table, oauth membership table and role table public static void InsertOAuthUser(User user, string provider, string providerUserId, string role) { // ** Unit of Work Pattern using (var uow = new UnitOfWorkDistributed()) { BikeShopContext.Users.Insert(user); OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, user.Email); Roles.AddUserToRole(user.Email, role); uow.Complete(); } }
// add a user to user table, simplemembership table, and roles table public static void InsertUser(User user, string password, string role) { // ** Unit of Work Pattern using (var uow = new UnitOfWorkDistributed()) { BikeShopContext.Users.Insert(user); WebSecurity.CreateAccount(user.Email, password); Roles.AddUserToRole(user.Email, role); uow.Complete(); } }
// deletes user from user table and membership tables. public static void DeleteUser(User user) { var simpleRoles = (SimpleRoleProvider)Roles.Provider; var simpleMembership = (SimpleMembershipProvider)Membership.Provider; List <string> roles = new List <string>(); if (simpleRoles.IsUserInRole(user.Email, "Admin")) { roles.Add("Admin"); } if (simpleRoles.IsUserInRole(user.Email, "Member")) { roles.Add("Member"); } // possible OAuth account var oAuths = OAuthWebSecurity.GetAccountsFromUserName(user.Email); var oAuth = oAuths.Count > 0 ? oAuths.ToList()[0] : null; // ** Unit of Work Pattern using (var uow = new UnitOfWorkDistributed()) { simpleRoles.RemoveUsersFromRoles(new string[] { user.Email }, roles.ToArray()); if (oAuth != null) { OAuthWebSecurity.DeleteAccount(oAuth.Provider, oAuth.ProviderUserId); } else { simpleMembership.DeleteAccount(user.Email); } simpleMembership.DeleteUser(user.Email, false); uow.Complete(); } }