Load() public static method

public static Load ( string domain, string name ) : User
domain string
name string
return User
Example #1
0
        public static User RegisterUser(string fullUserName)
        {
            if (string.IsNullOrEmpty(fullUserName))
            {
                return(null);
            }

            var slashIndex = fullUserName.IndexOf('\\');
            var domain     = fullUserName.Substring(0, slashIndex);
            var username   = fullUserName.Substring(slashIndex + 1);

            var user = User.Load(domain, username);

            if (user != null)
            {
                return(user);
            }

            try
            {
                AccessProvider.Current.SetCurrentUser(User.Administrator);

                var dom = Node.Load <Domain>(RepositoryPath.Combine(RepositoryStructure.ImsFolderPath, domain));

                if (dom == null)
                {
                    // create domain
                    dom = new Domain(Repository.ImsFolder)
                    {
                        Name = domain
                    };
                    dom.Save();
                }

                // create user
                user = new User(dom)
                {
                    Name = username, Enabled = true, FullName = username
                };
                user.Save();

                Group.Administrators.AddMember(user);
            }
            finally
            {
                if (user != null)
                {
                    AccessProvider.Current.SetCurrentUser(user);
                }
            }

            return(user);
        }