本文整理汇总了C#中IFactory.CreateUserProfile方法的典型用法代码示例。如果您正苦于以下问题:C# IFactory.CreateUserProfile方法的具体用法?C# IFactory.CreateUserProfile怎么用?C# IFactory.CreateUserProfile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IFactory
的用法示例。
在下文中一共展示了IFactory.CreateUserProfile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Profile_GetUserProfile
/// <summary>
/// Gets the profile for the specified user. Guaranteed to not return null. Guaranteed to not return null.
/// </summary>
/// <param name="userName">The user name that uniquely identifies the user.</param>
/// <param name="factory">An instance of <see cref="IFactory"/>. It is used to instantiate the necessary object(s).</param>
/// <returns>
/// Returns an <see cref="IUserProfile"/> object containing the profile for the user.
/// </returns>
/// <exception cref="ArgumentNullException">Thrown when <paramref name="factory" /> is null.</exception>
public override IUserProfile Profile_GetUserProfile(string userName, IFactory factory)
{
if (factory == null)
throw new ArgumentNullException("factory");
IUserProfile profile = factory.CreateUserProfile();
profile.UserName = userName;
IUserGalleryProfile gs = null;
int prevGalleryId = int.MinValue;
using (GspContext ctx = new GspContext())
{
foreach (var profileDto in (from p in ctx.UserGalleryProfiles where p.UserName == userName orderby p.FKGalleryId select p))
{
// Loop through each user profile setting and assign to the relevant property. When we encounter a record with a new gallery ID,
// automatically create a new UserGalleryProfile instance and start populating that one. When we are done with the loop we will
// have created one UserGalleryProfile instance for each gallery the user has a profile for.
#region Check for new gallery
int currGalleryId = profileDto.FKGalleryId;
if ((gs == null) || (!currGalleryId.Equals(prevGalleryId)))
{
// We have encountered settings for a new user gallery profile. Create a new object and add it to our collection.
gs = profile.GalleryProfiles.CreateNewUserGalleryProfile(currGalleryId);
gs.UserName = userName;
profile.GalleryProfiles.Add(gs);
prevGalleryId = currGalleryId;
}
#endregion
#region Assign property
// For each setting in the data store, find the matching property and assign the value to it.
switch (profileDto.SettingName.Trim())
{
case ProfileNameShowMediaObjectMetadata:
gs.ShowMediaObjectMetadata = Convert.ToBoolean(profileDto.SettingValue.Trim(), CultureInfo.InvariantCulture);
break;
case ProfileNameEnableUserAlbum:
gs.EnableUserAlbum = Convert.ToBoolean(profileDto.SettingValue.Trim(), CultureInfo.InvariantCulture);
break;
case ProfileNameUserAlbumId:
gs.UserAlbumId = Convert.ToInt32(profileDto.SettingValue.Trim(), CultureInfo.InvariantCulture);
break;
}
#endregion
}
}
return profile;
}