本文整理汇总了C#中IUserProfileService.Get方法的典型用法代码示例。如果您正苦于以下问题:C# IUserProfileService.Get方法的具体用法?C# IUserProfileService.Get怎么用?C# IUserProfileService.Get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IUserProfileService
的用法示例。
在下文中一共展示了IUserProfileService.Get方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UserLoggedIn
//TODO: this should be moved to some other type of business logic
public string UserLoggedIn(IUserProfileService _userService1, string openIdId, FetchResponse fetch)
{
UserProfile user = _userService1.Get().Where(x => x.OpenIdId == openIdId).SingleOrDefault();
if (user == null)
{
user = new UserProfile();
user.OpenIdId = openIdId;
}
if (fetch != null)
{
user.Name = (fetch.Attributes.Any(x => x.TypeUri == WellKnownAttributes.Name.FullName))
? fetch.Attributes[WellKnownAttributes.Name.FullName].Values[0] :
((fetch.Attributes.Any(x => x.TypeUri == WellKnownAttributes.Name.First))
? fetch.Attributes[WellKnownAttributes.Name.First].Values[0] : ""
+ " " + ((fetch.Attributes.Any(x => x.TypeUri == WellKnownAttributes.Name.Last))
? fetch.Attributes[WellKnownAttributes.Name.Last].Values[0] : ""));
user.Email = (fetch.Attributes.Any(x => x.TypeUri == WellKnownAttributes.Contact.Email))
? fetch.Attributes[WellKnownAttributes.Contact.Email].Values[0] : "";
//username should not include the email - it's creepy. Just use the name of the email
user.UserName = user.Email; //.Substring(0, user.Email.IndexOf('@'));
}
else
{
/*
http://username.myopenid.com/
http://openid.aol.com/username
*/
string http = "http://";
if (openIdId.Contains("myopenid"))
{
user.Name = openIdId.Substring(openIdId.IndexOf(http) + http.Length,
openIdId.IndexOf('.') - http.Length);
}
else if (openIdId.Contains("http://openid.aol.com/"))
{
user.Name = openIdId.Substring(openIdId.LastIndexOf("/"));
}
user.UserName = user.Email;
}
user.LastSignInDate = DateTime.Now; // Important
_userService1.Save(user);
return user.UserName;
}