PropertyDataTypeCollection PropertyDataTypeCollection PropertyDataTypeCollection Class

Definition

Represents a collection of PropertyDataType objects.

public ref class PropertyDataTypeCollection sealed : System::Collections::ICollection
public sealed class PropertyDataTypeCollection : System.Collections.ICollection
Public NotInheritable Class PropertyDataTypeCollection
Implements ICollection
Inheritance
PropertyDataTypeCollectionPropertyDataTypeCollectionPropertyDataTypeCollection
Implements

Examples

<p>The following code example shows the use of the <xref data-throw-if-not-resolved="true" uid="Microsoft.Office.Server.UserProfiles.PropertyDataTypeCollection"></xref> class.</p>
<pre><code>static public void PropertyTypeAndMappingSample()

{

using (SPSite site = new SPSite("<span class="placeholder">site url</span>")) { SPServiceContext context = SPServiceContext.GetContext(site); //Initialize user profile config manager object. UserProfileConfigManager upcm = new UserProfileConfigManager(context); ConnectionManager cm = upcm.ConnectionManager;

//Sample to get a property type. PropertyDataTypeCollection pdtc = upcm.GetPropertyDataTypes(); PropertyDataType ptype = null;

foreach (PropertyDataType datatype in pdtc)
{
  if (datatype.Name.Equals("string"))
  {
    ptype = datatype;
    break;
  }
}

//Sample to create a new custom property. ProfilePropertyManager ppm = upcm.ProfilePropertyManager; CorePropertyManager cpm = ppm.GetCoreProperties(); ProfileTypePropertyManager ptpm = ppm.GetProfileTypeProperties(ProfileType.User); ProfileSubtypeManager psm = ProfileSubtypeManager.Get(context); ProfileSubtype ps = psm.GetProfileSubtype(ProfileSubtypeManager.GetDefaultProfileName(ProfileType.User)); ProfileSubtypePropertyManager pspm = ps.Properties;

CoreProperty coreProp = cpm.Create(false);
coreProp.Name = "division";
coreProp.DisplayName = "my custom division";
coreProp.Type = ptype.Name;
coreProp.Length = ptype.MaxCharCount;
coreProp.Commit();
ProfileTypeProperty profileTypeProp = ptpm.Create(coreProp);
profileTypeProp.IsVisibleOnEditor = true;
profileTypeProp.IsVisibleOnViewer = true;
profileTypeProp.Commit();
ProfileSubtypeProperty profileSubTypeProp = pspm.Create(profileTypeProp);
profileSubTypeProp.DefaultPrivacy = Privacy.Private;
profileSubTypeProp.IsUserEditable = true;
profileSubTypeProp.Commit();
pspm.SetDisplayOrderByPropertyName(profileSubTypeProp.Name, 1);
pspm.CommitDisplayOrder();

//Edit property sample. CoreProperty ptitle = cpm.GetPropertyByName(PropertyConstants.Title); // Or get property by URI. ptitle = cpm.GetPropertyByURI(Property.URI_Title); ptitle.DisplayName = "Designation"; ptitle.Commit(); //Property map sample. string connectionName = "Test Connection"; Connection connection = cm[connectionName]; PropertyMapCollection pmc = connection.PropertyMapping; pmc.AddNewMapping(ProfileType.User, profileSubTypeProp.Name, "division");

//Remove property sample. cpm.RemovePropertyByName("division"); ptpm.RemovePropertyByName("division"); pspm.RemovePropertyByName("division"); } }

Remarks

The PropertyDataTypeCollection object is within the site context and stores supported property data types in the user profile database for a specific site.

Properties

Count Count Count

Gets the number of PropertyDataType objects.

IsSynchronized IsSynchronized IsSynchronized

Gets a value indicating whether access to the PropertyDataTypeCollection class is synchronized (thread safe).

Item[String] Item[String] Item[String]

Gets the PropertyDataType object specified by the data type name.

SyncRoot SyncRoot SyncRoot

Gets an object that can be used to synchronize access to this collection.

Methods

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

Copies the elements of the PropertyDataTypeCollection class to an array, starting at a particular array index.

GetEnumerator() GetEnumerator() GetEnumerator()

Gets the enumerator for the PropertyDataType objects.

Extension Methods

ToJson(Object) ToJson(Object) ToJson(Object)

Applies to