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; }