Commerce Foundation User Profile
This Commerce Server 2009 commerce entity stores basic user related information, including the user’s login credentials.
Model
This commerce entity can be modified, as required. This model, taken from the out-of-the-box site, is provided as an example.
<CommerceEntity name="UserProfile">
<DisplayName value="User Profile">
<LanguageSpecific value="fr: User Profile" language="fr-CA"/>
</DisplayName>
<Description value="Commerce Entity that defines the User Profile">
<LanguageSpecific value="fr: Commerce Entity that defines the User Profile" language="fr-CA"/>
</Description>
<EntityMappings>
<EntityMapping csType="Microsoft.CommerceServer.Runtime.Profiles.Profile" csAssembly="Microsoft.CommerceServer.Runtime, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" csDefinitionName="UserObject">
<PropertyMappings>
<PropertyMapping property="Id" csProperty="GeneralInfo.user_id" />
<PropertyMapping property="DateCreated" csProperty="ProfileSystem.date_created" />
<PropertyMapping property="DateModified" csProperty="ProfileSystem.date_last_changed" />
<PropertyMapping property="ModifiedBy" csProperty="ProfileSystem.user_id_changed_by" />
<PropertyMapping property="AccountStatus" csProperty="AccountInfo.account_status" />
<PropertyMapping property="Email" csProperty="GeneralInfo.email_address" />
<PropertyMapping property="FirstName" csProperty="GeneralInfo.first_name" />
<PropertyMapping property="LastName" csProperty="GeneralInfo.last_name" />
<PropertyMapping property="Password" csProperty="GeneralInfo.user_security_password" />
</PropertyMappings>
</EntityMapping>
</EntityMappings>
<Properties>
<Property name="Email" dataType="String">
<DisplayName value="e-mail">
<LanguageSpecific value="fr-CA: e-mail" language="fr-CA"/>
<LanguageSpecific value="fr: e-mail" language="fr"/>
</DisplayName>
<Description value="User's e-mail address">
<LanguageSpecific value="fr-CA: User's e-mail address" language="fr-CA"/>
<LanguageSpecific value="fr: User's e-mail address" language="fr"/>
</Description>
<Constraints>
<RequiredProperty>
<Message value="E-mail address is required">
<LanguageSpecific value="fr: E-mail address is required" language="fr-CA"/>
</Message>
</RequiredProperty>
<RegularExpression>
<Message value="E-mail address must follow the format somthing@someserver.com | firstname.lastname@mailserver.domain.com | username-something@some-server.">
<LanguageSpecific value="fr: E-mail address must follow the format somthing@someserver.com | firstname.lastname@mailserver.domain.com | username-something@some-server." language="fr-CA"/>
</Message>
<Pattern value="^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$" />
</RegularExpression>
</Constraints>
</Property>
<Property name="AccountStatus" dataType="Integer" isMultilingual="true">
<DisplayName value="Account Status">
<LanguageSpecific value="fr: Account Status" language="fr-CA"/>
</DisplayName>
<Description value="Account Status">
<LanguageSpecific value="fr: Account Status" language="fr-CA"/>
</Description>
<DefaultValue value="1" />
<EnumeratedValues>
<EnumerationEntry value="0" >
<DisplayName value="Inactive Account">
<LanguageSpecific value="fr: Inactive Account" language="fr-CA"/>
</DisplayName>
</EnumerationEntry>
<EnumerationEntry value="1" >
<DisplayName value="Active Account">
<LanguageSpecific value="fr: Active Account" language="fr-CA"/>
</DisplayName>
</EnumerationEntry>
<EnumerationEntry value="2" >
<DisplayName value="Requires Approval">
<LanguageSpecific value="fr: Requires Approval" language="fr-CA"/>
</DisplayName>
</EnumerationEntry>
</EnumeratedValues>
</Property>
</Properties>
<Relationships>
<Relationship name="Addresses" type="Relationship" modelName="Address" isMultipleItems="true">
<DisplayName value="Addresses">
<LanguageSpecific value="fr: Addresses" language="fr-CA"/>
</DisplayName>
<Description value="User's Addresses">
<LanguageSpecific value="fr: User's Addresses" language="fr-CA"/>
</Description>
</Relationship>
<Relationship name="CreditCards" type="Relationship" modelName="CreditCard" isMultipleItems="true" >
<DisplayName value="Credit Cards">
<LanguageSpecific value="fr: Credit Cards" language="fr-CA"/>
</DisplayName>
<Description value="User's Credit Cards">
<LanguageSpecific value="fr: User's Credit Cards" language="fr-CA"/>
</Description>
</Relationship>
<Relationship name="OrderHistory" type="Relationship" modelName="Basket" isMultipleItems="true" >
<DisplayName value="Order History">
<LanguageSpecific value="fr: Order History" language="fr-CA"/>
</DisplayName>
<Description value="User's Order History">
<LanguageSpecific value="fr: User's Order History" language="fr-CA"/>
</Description>
</Relationship>
</Relationships>
</CommerceEntity>
Properties
Property |
Type |
Description |
---|---|---|
AccountStatus |
String |
Indicates the status of this account. This will be an element defined in the SiteTerm by the same name. |
DefaultShopperList |
String |
The Id of the default shopping list for this user. |
DirectMailOptOut |
bool? |
A value indicating whether the user wishes to opt out of direct mail advertising campaigns. |
String |
Specifies the e-mail address of the user. |
|
FirstName |
String |
Specifies the first name of the user. |
GeneralInfo.password_answer |
String |
The answer to the security question. The value of this property is hashed for security purposes. To validate the answer entered by the user, the ASP.NET Membership.ResetPassword should be used. |
GeneralInfo.password_question |
String |
The security question that will be presented to the user when requesting a password reset. |
LastDatePasswordCahgned |
DateTime? |
The date/time at which this user's password was last changed. |
LastName |
String |
Specifies the last name of the user. |
Password |
String |
Specifies the password for the user.
Note:
The service will never return this value during a query. You cannot update it through an Update operation. the ChangePassword commerce entity handles changing the password.
|
LiveID |
String |
Gets or sets the user's unique identifier for Windows Live ID. |
Id |
String |
Specifies the unique ID of the user. |
DateCreated |
DateTime? |
Indicates the date/time that this record was created. |
DateModified |
DateTime? |
Indicates the date/time that this record was last modified. |
ModifiedBy |
String |
Indicates the user that last changed this record. |
ShouldChangePassword |
bool? |
A value indicating whether the user's password should be changed. |
Relationships
Property |
Description |
---|---|
Addresses |
Relationship list that contains the Address commerce entities for this user. |
CreditCards |
Relationship list that contains the CreditCard commerce entities for this user. |
PreferredAddress |
The preferred address for this user. |
PreferredCreditCard |
The preferred credit card for this user. |
PreferredShippingMethod |
The preferred shipping method for this user. |
OrderHistory |
Relationship list that contains the order history for this user. |
Supported Operations
The User Profile commerce entity supports the following operations:
Commerce Foundation UserProfile CommerceCreate
Commerce Foundation UserProfile CommerceDelete
Commerce Foundation UserProfile CommerceQuery
Commerce Foundation UserProfile CommerceUpdate
See Also
Other Resources
Developing with the Commerce Foundation Profiles System
Commerce Foundation UserProfile CommerceCreate
Commerce Foundation UserProfile CommerceDelete