private void ApplyFields(FacebookObject obj, dynamic values)
        {
            var          facebookFields = GetObjectFields(obj.GetType());
            PropertyInfo userProperty;
            string       fieldName;
            object       fieldValue;

            foreach (var field in facebookFields)
            {
                if (field.Value != null && field.Value.Ignore)
                {
                    continue;
                }
                userProperty = field.Key;
                fieldName    = field.Value != null ? field.Value.JsonField : String.Empty;
                if (!String.IsNullOrEmpty(fieldName))
                {
                    fieldValue = GetFacebookFieldValue(values, fieldName.Split('.'));
                }
                else
                {
                    fieldValue = GetFacebookFieldValue(values, new[] { userProperty.Name });
                }
                if (fieldValue != null)
                {
                    userProperty.SetValue(obj, fieldValue, null);
                }
            }
        }
 public void AddObject(FacebookObject obj)
 {
     if (objects.ContainsKey(obj.FacebookUserId))
     {
         var o = objects[obj.FacebookUserId];
         var foundObject = o.FirstOrDefault(oo => oo.FacebookId == obj.FacebookId);
         if (foundObject == null)
         {
             o.Add(obj);
         }
     }
 }
        public int UpdateObject(FacebookObject obj)
        {
            if (objects.ContainsKey(obj.FacebookUserId))
            {
                var o = objects[obj.FacebookUserId];
                if (o != null)
                {
                    var foundObject = o.FirstOrDefault(oo => oo.FacebookId == obj.FacebookId);
                    if (foundObject != null)
                    {
                        o.Remove(foundObject);
                    }
                    o.Add(obj);

                    return 1;
                }
            }

            return 0;
        }
 private void ApplyFields(FacebookObject obj, dynamic values)
 {
     var facebookFields = GetObjectFields(obj.GetType());
     PropertyInfo userProperty;
     string fieldName;
     object fieldValue;
     foreach (var field in facebookFields)
     {
         if (field.Value != null && field.Value.Ignore)
         {
             continue;
         }
         userProperty = field.Key;
         fieldName = field.Value != null ? field.Value.JsonField : String.Empty;
         if (!String.IsNullOrEmpty(fieldName))
         {
             fieldValue = GetFacebookFieldValue(values, fieldName.Split('.'));
         }
         else
         {
             fieldValue = GetFacebookFieldValue(values, new[] { userProperty.Name });
         }
         if (fieldValue != null)
         {
             userProperty.SetValue(obj, fieldValue, null);
         }
     }
 }