Esempio n. 1
0
 //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 />";
             }
         }
     }
 }
Esempio n. 2
0
        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());
            }
        }
Esempio n. 3
0
        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; }
        }
Esempio n. 4
0
        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();
                }
            }
        }