internal static string ToLocalAccount()

in LinuxCommunicator/Credentials.cs [565:613]


        internal static string ToLocalAccount(string domainAccount)
        {
            if (string.IsNullOrWhiteSpace(domainAccount))
            {
                throw new ArgumentNullException("domainAccount");
            }

            string domainname = null;
            string username = null;

            if (domainAccount.Contains("\\"))
            {
                if (domainAccount.StartsWith("NT AUTHORITY\\", StringComparison.InvariantCultureIgnoreCase))
                {
                    return domainAccount;
                }

                try
                {
                    string[] strs = domainAccount.Split(new char[] { '\\' }, StringSplitOptions.None);
                    domainname = strs[0];
                    username = strs[1];
                }
                catch
                {
                    throw new ArgumentException();
                }
            }
            else if (domainAccount.Contains("@"))
            {
                try
                {
                    string[] strs = domainAccount.Split(new char[] { '@' }, StringSplitOptions.None);
                    username = strs[0];
                    domainname = strs[1];
                }
                catch
                {
                    throw new ArgumentException();
                }
            }
            else
            {
                return domainAccount;
            }


            return username;
        }