コード例 #1
0
        public void RefreshUserFields(FacebookUser user, dynamic userFields, params string[] fields)
        {
            var          facebookFields = GetActualFields(user.GetType());
            PropertyInfo userProperty;
            string       facebookFieldName;
            object       fieldValue;

            foreach (var facebookField in facebookFields)
            {
                userProperty      = facebookField.Key;
                facebookFieldName = facebookField.Value != null ? facebookField.Value.JsonField : String.Empty;
                if (!String.IsNullOrEmpty(facebookFieldName))
                {
                    fieldValue = GetFBFieldValue(userFields, facebookFieldName.Split('.'));
                }
                else
                {
                    fieldValue = GetFBFieldValue(userFields, new[] { userProperty.Name });
                }
                if (fieldValue != null)
                {
                    userProperty.SetValue(user, fieldValue, null);
                }
            }
        }