internal static void UpdateStatus(string url, string fqnUsername, string newStatusMessage)
        {
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
            binding.AllowCookies = true;
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
            binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.Ntlm;

            EndpointAddress address = new EndpointAddress(url);

            SPUMProfileService.UserProfileServiceSoapClient client = new SPUMProfileService.UserProfileServiceSoapClient(binding, address);
            client.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;
            
            var data = client.GetUserProfileByName(fqnUsername);

            var statusProp = (from d in data
                              where d.Name == "SPS-StatusNotes"
                              select d).FirstOrDefault();

            statusProp.Values[0].Value = newStatusMessage;
            statusProp.IsValueChanged = true;
            client.ModifyUserPropertyByAccountName(fqnUsername, new SPUMProfileService.PropertyData[] { statusProp });
        }
        internal static void UpdateStatus(string url, string fqnUsername, string newStatusMessage)
        {
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);

            binding.AllowCookies = true;
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
            binding.Security.Transport.ProxyCredentialType  = HttpProxyCredentialType.Ntlm;

            EndpointAddress address = new EndpointAddress(url);

            SPUMProfileService.UserProfileServiceSoapClient client = new SPUMProfileService.UserProfileServiceSoapClient(binding, address);
            client.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;

            var data = client.GetUserProfileByName(fqnUsername);

            var statusProp = (from d in data
                              where d.Name == "SPS-StatusNotes"
                              select d).FirstOrDefault();

            statusProp.Values[0].Value = newStatusMessage;
            statusProp.IsValueChanged  = true;
            client.ModifyUserPropertyByAccountName(fqnUsername, new SPUMProfileService.PropertyData[] { statusProp });
        }