public static void Initialize()
        {

            if (WebSecurity.Initialized)
            {
                return;
            }

  //          try
    //        {

                WebSecurity.InitializeDatabaseConnection("ULTRA_TGZ", "Users", "ID", "Email", true);

                // Create DefaultSuperUser and DefaultRoles

                if (!WebSecurity.UserExists("TGZ_ROOT"))
                {

                    WebSecurity.CreateUserAndAccount("TGZ_ROOT", "cegth.pthTGZ2016");
                }

                SimpleRoleProvider role = new SimpleRoleProvider();
                if (!role.RoleExists("TGZ_ADMIN_STORE"))
                {
                    role.CreateRole("TGZ_ADMIN_STORE");
                }

                role.AddUsersToRoles(new[] { "TGZ_ROOT" }, new[] { "TGZ_ADMIN_STORE" });


//            }

           /* catch (Exception e)
            {
                Logger.Instance.Error("System Error: Ошибка инициализации хранилища SimpleMembershipProvider - " + e);
                return;
            }*/

            Logger.Instance.Debug("Service SimpleMembershipProvider проинициализирован... ");

        }
        /// <summary>
        /// Sets up the account of the provided username in the role provided
        /// </summary>
        /// <param name="membership">instance of the simple membership provider</param>
        /// <param name="roleProvider">instance of the simple roleprovider</param>
        /// <param name="role">Role type to be assigned</param>
        /// <param name="userName">Username</param>
        private static void SetUpUserInRole(SimpleMembershipProvider membership,SimpleRoleProvider roleProvider,string role,string userName)
        {
            var user = membership.GetUser(userName, false);

            // test if user exists and if the membership details also exist.  If not the date returned is 01/01/0001
            if (user != null && membership.GetCreateDate(userName) == default(DateTime))
            {
                membership.CreateAccount(userName, "password");

            }

            IList rolesforuser = roleProvider.GetRolesForUser(userName);

            if (!rolesforuser.Contains(role))
            {
                roleProvider.AddUsersToRoles(new[] { userName }, new[] { role });
            }
        }
        /// <summary>
        /// Checks if account and role of super user needs to be setup
        /// </summary>
        /// <param name="membershipProvider">instance of the simplemembership provider</param>
        /// <param name="roleProvider">instance of the simpleroleprovider</param>
        private static void SetUpSuperUser(SimpleMembershipProvider membershipProvider, SimpleRoleProvider roleProvider)
        {
            if (membershipProvider.GetUser("admin", false) == null)
            {
                membershipProvider.CreateUserAndAccount("admin", "password");
            }

            IList rolesforuser = roleProvider.GetRolesForUser("admin");

            if (!rolesforuser.Contains("Admin"))
            {
                roleProvider.AddUsersToRoles(new[] {"admin"}, new[] {"Admin"});
            }
        }
 public void RegisterUser(string emailAddress, string password, string firstName, string lastName, string userType)
 {
     WebSecurity.CreateUserAndAccount(emailAddress, password, new { FirstName = firstName, LastName = lastName });
     var roleProvider = new SimpleRoleProvider(Roles.Provider);
     roleProvider.AddUsersToRoles(new string[] { emailAddress }, new string[] { userType });
 }