public static IEnumerable <FacebookAlbum> MapToAlbums(JsonArray albumData) { var albums = new List <FacebookAlbum>(); foreach (var album in albumData) { var albumDict = (IDictionary <string, object>)album; var facebookAlbum = new FacebookAlbum(); facebookAlbum.Id = albumDict.ToString("id"); facebookAlbum.Name = albumDict.ToString("name"); facebookAlbum.Description = albumDict.ToString("description"); facebookAlbum.Link = albumDict.ToString("link"); facebookAlbum.Privacy = albumDict.ToString("privacy"); facebookAlbum.Type = albumDict.ToString("type"); facebookAlbum.Created = albumDict.ToDateTime("created_time"); facebookAlbum.Updated = albumDict.ToDateTime("updated_time"); facebookAlbum.CanUpload = albumDict.ToBool("can_upload"); var from = (IDictionary <string, object>)albumDict["from"]; facebookAlbum.From = new FacebookUser(); facebookAlbum.From.Id = from.ToString("id"); facebookAlbum.From.Name = from.ToString("name"); albums.Add(facebookAlbum); } return(albums); }
public static FacebookAlbum Album(long id, JToken json) { FacebookAlbum fa; if ((fa = Data.FacebookAlbums.FirstOrDefault(x => x.Id == id)) == null) { fa = new FacebookAlbum { Id = id, TimeCreated = json.TryGetValue <DateTime>("created_time"), }; if (fa.TimeCreated == default(DateTime)) { return(null); } Data.FacebookAlbums.InsertOnSubmit(fa); } if (!json.Any()) { return(fa); } fa.Description = json.TryGetValue <string>("description"); fa.Name = json.TryGetValue <string>("name"); fa.TimeUpdated = json.TryGetValue <DateTime?>("updated_time"); fa.Type = json.TryGetValue <string>("type"); try { Data.SubmitChanges(); } catch (Exception ex) { Log.Error(string.Format("There was an error saving the album: {0} {1}", id, fa.Name), ex); return(null); } var fromId = json["from"].TryGetValue <long?>("id"); if (fromId != null) { var contact = Contact(fromId.Value, json["from"]); if (contact != null) { fa.Contact = contact.Id; } try { Data.SubmitChanges(); } catch (Exception ex) { Log.Error(string.Format("There was an error saving the album: {0} {1}", id, fa.Name), ex); } } var coverId = json.TryGetValue <long?>("cover_photo"); if (coverId != null) { var cover = Photo(coverId.Value, json["cover_photo"]); if (cover != null) { fa.Cover = cover.Id; } try { Data.SubmitChanges(); } catch (Exception ex) { Log.Error(string.Format("There was an error saving the album: {0} {1}", id, fa.Name), ex); } } var comments = json.TryGetValue <JObject>("comments"); if (comments != null) { Message(id, json); } return(fa); }
public AlbumCellViewModel(FacebookAlbum model, IViewStackService viewStackService = null) : base(viewStackService) { _model = model; }