//This method runs when the button is clicked void runQueryButton_Click(object sender, EventArgs e) { //Get the My Sites site collection, ensuring proper disposal using (SPSite mySitesCollection = new SPSite("http://intranet.contoso.com/my")) { //Get the user profile manager SPServiceContext context = SPServiceContext.GetContext(mySitesCollection); UserProfileManager profileManager = new UserProfileManager(context); //How many user profiles are there? resultsLabel.Text = "There are " + profileManager.Count + " user profiles. The following users have set a picture:<br /><br />"; //Loop through all the user profiles foreach (UserProfile currentProfile in profileManager) { ProfileValueCollectionBase profileValueCollection = currentProfile.GetProfileValueCollection("PictureURL"); //Only display something if the user has set their picture. if ((profileValueCollection != null) && (profileValueCollection.Value != null)) { //There is always a display name resultsLabel.Text += "User: "******"<br />"; //There is a picture so display it resultsLabel.Text += "Picture: <br /><img src=\"" + profileValueCollection.Value.ToString() + "\"><br /><br />"; } } } }
protected override void Fill() { try { if (SPA.User.Count() == 0) { UserProfileManager userProfileManager = new UserProfileManager(SPServiceContext.GetContext(SPContext.Current.Site)); ProfilePropertyManager profilePropMgr = new UserProfileConfigManager(SPServiceContext.GetContext(SPContext.Current.Site)).ProfilePropertyManager; ProfileSubtypePropertyManager subtypePropMgr = profilePropMgr.GetProfileSubtypeProperties("UserProfile"); UserProfile userProfile = userProfileManager.GetUserProfile(Context.User.Identity.Name.Replace("i:0#.w|", "").Replace("0#.w|", "")); hfUserProfileRecordID.Value = (userProfile.RecordId.ToString()); IEnumerator<ProfileSubtypeProperty> userProfileSubtypeProperties = subtypePropMgr.GetEnumerator(); while (userProfileSubtypeProperties.MoveNext()) { string propName = userProfileSubtypeProperties.Current.Name; ProfileValueCollectionBase values = userProfile.GetProfileValueCollection(propName); if (values.Count > 0) { // Handle multivalue properties. foreach (var value in values) { switch (propName) { case "AccountName": lblAccountNameView.Text = value.ToString(); break; case "FirstName": lblFirstNameView.Text = value.ToString(); break; case "LastName": lblLastNameView.Text = value.ToString(); break; case "PreferredName": lblPreferredNameView.Text = value.ToString(); break; case "UserProfile_GUID": lblUserProfileGuidView.Text = value.ToString(); break; case "SPS-UserPrincipalName": lblUserPrincipalNameView.Text = value.ToString(); break; case "SPS-DistinguishedName": lblDistinguishedNameView.Text = value.ToString(); break; } if (ShowDebug) lblErrorMessage.Text += string.Format("Name: {0} Value: {1}</br>", propName, value.ToString()); } } } } else { trAccountName.Visible = false; trLastName.Visible = false; trFirstName.Visible = false; trPreferredName.Visible = false; trUserProfile_GUID.Visible = false; trUserPrincipalName.Visible = false; trDistinguishedName.Visible = false; lblMessageView.CssClass = "ms-error"; lblMessageView.Text = "There are already users in the data system. This option is only available when no user records exist."; btnSave.Visible = false; } } catch (Exception ex) { SPA.Error.WriteError(ex); lblErrorMessage.Text += string.Format("ERROR: {0}", ex.ToString()); } }
static void Main(string[] args) { try { using (SPSite Sitecollection = new SPSite("<Site URL>")) { using (SPWeb site = Sitecollection.OpenWeb()) { #region To get the User Information // To get the User Information SPServiceContext serviceContext = SPServiceContext.GetContext(Sitecollection); UserProfileManager profileManager = new UserProfileManager(serviceContext); UserProfile currentProfile = profileManager.GetUserProfile("<username>"); // 1 ProfileValueCollectionBase profileValueCollection = currentProfile.GetProfileValueCollection(PropertyConstants.PreferredName); if ((profileValueCollection != null) && (profileValueCollection.Value != null)) { Console.WriteLine("Name: " + profileValueCollection.Value); } profileValueCollection = currentProfile.GetProfileValueCollection(PropertyConstants.AboutMe); if ((profileValueCollection != null) && (profileValueCollection.Value != null)) { Console.WriteLine("About Me: " + profileValueCollection.Value); } profileValueCollection = currentProfile.GetProfileValueCollection(PropertyConstants.Department); if ((profileValueCollection != null) && (profileValueCollection.Value != null)) { Console.WriteLine("Department: " + profileValueCollection.Value); } // 2 if (((ProfileValueCollectionBase)(currentProfile["PreferredName"])).Value != null) { Console.WriteLine("Name: " + currentProfile["PreferredName"].ToString()); } if (((ProfileValueCollectionBase)(currentProfile["AboutMe"])).Value != null) { Console.WriteLine("About Me: " + currentProfile["AboutMe"].ToString()); } if (((ProfileValueCollectionBase)(currentProfile["PreferredName"])).Value != null) { Console.WriteLine("Department: " + currentProfile["PreferredName"].ToString()); } // To get all the User Profiles IEnumerator profileCollection = profileManager.GetEnumerator(); while (profileCollection.MoveNext()) { UserProfile Profile = (UserProfile)profileCollection.Current; ProfileValueCollectionBase profileValueColl = Profile.GetProfileValueCollection(PropertyConstants.PreferredName); if ((profileValueColl != null) && (profileValueColl.Value != null)) { Console.WriteLine("Name: " + profileValueColl.Value); } profileValueColl = Profile.GetProfileValueCollection(PropertyConstants.AboutMe); if ((profileValueColl != null) && (profileValueColl.Value != null)) { Console.WriteLine("About Me: " + profileValueColl.Value); } profileValueColl = Profile.GetProfileValueCollection(PropertyConstants.Department); if ((profileValueColl != null) && (profileValueColl.Value != null)) { Console.WriteLine("Department: " + profileValueColl.Value); } Console.WriteLine(""); } #endregion } } Console.ReadLine(); } catch (Exception ex) { throw ex; } }
protected override void Page_Load(object sender, EventArgs e) { try { base.Page_Load(sender, e); SetupContribute(); ReadParameters(); btnSave.OnClientClick = jsActionSave; jsActionCancel = string.Format("rbnCancelClick('{0}/{1}?filter={2}'); return false;", SPContext.Current.Web.Url, Pages.Users.PAGE_URL, Filter); btnCancel.OnClientClick = jsActionCancel; ibtnRibbonCancel.OnClientClick = jsActionCancel; lbtnRibbonCancel.OnClientClick = jsActionCancel; if (spePickUser.ResolvedEntities.Count > 0) { foreach (PickerEntity entity in spePickUser.ResolvedEntities) { lblUserNameView.Text = entity.Claim.Value; UserProfileManager userProfileManager = new UserProfileManager(SPServiceContext.GetContext(SPContext.Current.Site)); ProfilePropertyManager profilePropMgr = new UserProfileConfigManager(SPServiceContext.GetContext(SPContext.Current.Site)).ProfilePropertyManager; ProfileSubtypePropertyManager subtypePropMgr = profilePropMgr.GetProfileSubtypeProperties("UserProfile"); UserProfile userProfile = userProfileManager.GetUserProfile(entity.Claim.Value); hfUserProfileRecordID.Value = (userProfile.RecordId.ToString()); try { IEnumerator <ProfileSubtypeProperty> userProfileSubtypeProperties = subtypePropMgr.GetEnumerator(); while (userProfileSubtypeProperties.MoveNext()) { string propName = userProfileSubtypeProperties.Current.Name; ProfileValueCollectionBase values = userProfile.GetProfileValueCollection(propName); if (values.Count > 0) { // Handle multivalue properties. foreach (var value in values) { switch (propName) { case "FirstName": txtFirstName.Text = value.ToString(); break; case "LastName": txtLastName.Text = value.ToString(); break; case "PreferredName": txtPreferredName.Text = value.ToString(); break; case "UserProfile_GUID": lblSPObjectGuidView.Text = value.ToString(); break; //case "SPS-UserPrincipalName": // lblUserPrincipalNameView.Text = value.ToString(); // break; //case "SPS-DistinguishedName": // lblDistinguishedNameView.Text = value.ToString(); // break; } if (ShowDebug) { lblErrorMessage.Text += string.Format("Name: {0} Value: {1}</br>", propName, value.ToString()); } } } } } catch { txtLastName.Text = "Profile Not Found"; txtFirstName.Text = "Profile Not Found"; } } } if (!IsPostBack) { ibtnRibbonDelete.OnClientClick = "return confirm('Are you sure you want to delete this item?');"; lbtnRibbonDelete.OnClientClick = "return confirm('Are you sure you want to delete this item?');"; Fill(); } else { HandlePostBack(); } } catch (Exception ex) { SPA.Error.WriteError(ex); if (ShowDebug) { lblErrorMessage.Text = ex.ToString(); } } }