private void AddPhotos(PicasaWebAlbum album) { PicasaWebReader reader = null; WebProxy myProxy = CreateProxy(); var query = from photoRow in ((DataTable)this.mDatabase.Photo).AsEnumerable() where photoRow.Field<ulong>("AlbumId") == album.Id select photoRow; foreach (PhotoDataSet.PhotoRow photoRow in query) { try { photoRow.Keep = false; } catch { } } try { reader = new PicasaWebReader(this.mUserName, "WebAlbum",album.Id.ToString()/* album.AlbumName.Replace(" ", "")*/, myProxy,this.mToken); } catch (Exception e) { this.ev_ExceptionThrown(e, "Collecting photos from: " + album.AlbumName + " " + this.mUserName); if (reader != null) { reader.Dispose(); } reader = null; } string[] tags = this.mTag.Split(" ".ToCharArray()); List<PicasaWebPhoto> photos = null; foreach (string tag in tags) { photos = reader.QueryPhoto(tag); try { foreach (PicasaWebPhoto webphoto in photos) { this.CreatePhotoElement(webphoto, album); webphoto.Dispose(); } } catch (Exception ex) { this.ev_ExceptionThrown(ex, "Adding Photos to the data file"); if (reader != null) { reader.Dispose(); } reader = null; photos.Clear(); photos = null; } } if (reader != null) { reader.Dispose(); } reader = null; photos.Clear(); photos = null; }
private void CreatePhotoElement(PicasaWebPhoto photo,PicasaWebAlbum album) { bool update = false; var query = from photoRow in ((DataTable)this.mDatabase.Photo).AsEnumerable() where photoRow.Field<string>("ID") == photo.Id select photoRow; foreach (PhotoDataSet.PhotoRow photoRow in query) { if(photoRow.PhotoID != Convert.ToUInt64(photo.AccessId)) photoRow.PhotoID = Convert.ToUInt64(photo.AccessId); if(photoRow.Title != photo.Title) photoRow.Title = photo.Title; if(photoRow.Album != photo.AlbumName) photoRow.Album = photo.AlbumName; if(photoRow.Height != Convert.ToUInt16(photo.Height)) photoRow.Height = Convert.ToUInt16(photo.Height); if(photoRow.Width != Convert.ToUInt16(photo.Width.ToString())) photoRow.Width = Convert.ToUInt16(photo.Width.ToString()); if(photoRow.Uploaded!= photo.Uploaded) photoRow.Uploaded= photo.Uploaded; if(photoRow.Location != photo.Location) photoRow.Location = photo.Location; photoRow.Keep = true; update = true; } if(!update) this.mDatabase.Photo.AddPhotoRow(photo.Id, Convert.ToUInt64(photo.AccessId), photo.Title, photo.AlbumName, Convert.ToUInt16(photo.Height), Convert.ToUInt16(photo.Width.ToString()), photo.Uploaded, photo.Location,true,album.Id); }