Exemplo n.º 1
0
        /// <summary>
        /// Should return parsed <see cref="UserInfo"/> using content of callback issued by service.
        /// </summary>
        protected override UserInfo ParseUserInfo(string content)
        {
            var users = JsonConvert.DeserializeObject<UserContainer>(content);
            var userInfo = new UserInfo();

            if (users != null && users.Users != null && users.Users.Count > 0)
            {
                userInfo.Id = users.Users[0].Id;
                userInfo.FirstName = users.Users[0].FirstName;
                userInfo.LastName = users.Users[0].LastName;
                userInfo.Email = users.Users[0].Email;
                if (users.Users[0].PhotoUrls != null)
                {
                    userInfo.AvatarUri.Small = users.Users[0].PhotoUrls.Small;
                    userInfo.AvatarUri.Normal = users.Users[0].PhotoUrls.Normal;
                    userInfo.AvatarUri.Large = users.Users[0].PhotoUrls.Large;
                }
            }

            return userInfo;
        }
Exemplo n.º 2
0
 /// <summary>
 /// Should return parsed <see cref="UserInfo"/> using content received from provider.
 /// </summary>
 /// <param name="content">The content which is received from provider.</param>
 /// <returns>The found user information</returns>
 protected override UserInfo ParseUserInfo(string content)
 {
     var cnt = JObject.Parse(content);
     var names = cnt["name"].Value<string>().Split(' ').ToList();
     const string avatarUriTemplate = "{0}&s={1}";
     var avatarUri = cnt["avatar_url"].Value<string>();
     var result = new UserInfo
         {
             Email = cnt["email"].SafeGet(x => x.Value<string>()),
             ProviderName = Name,
             Id = cnt["id"].Value<string>(),
             FirstName = names.Count > 0 ? names.First() : cnt["login"].Value<string>(),
             LastName = names.Count > 1 ? names.Last() : string.Empty,
             AvatarUri =
                 {
                     Small = !string.IsNullOrWhiteSpace(avatarUri) ? string.Format(avatarUriTemplate, avatarUri, AvatarInfo.SmallSize) : string.Empty,
                     Normal = avatarUri,
                     Large = !string.IsNullOrWhiteSpace(avatarUri) ? string.Format(avatarUriTemplate, avatarUri, AvatarInfo.LargeSize) : string.Empty
                 }
         };
     return result;
 }