public bool Execute(PhotoStore store, Photo photo, Gtk.Window parent_window) { VersionNameRequest request = new VersionNameRequest(VersionNameRequest.RequestType.Create, photo, parent_window); string name; ResponseType response = request.Run(out name); if (response != ResponseType.Ok) { return(false); } try { photo.DefaultVersionId = photo.CreateVersion(name, photo.DefaultVersionId, true); store.Commit(photo); } catch (Exception e) { string msg = Catalog.GetString("Could not create a new version"); string desc = String.Format(Catalog.GetString("Received exception \"{0}\". Unable to create version \"{1}\""), e.Message, name); HigMessageDialog md = new HigMessageDialog(parent_window, DialogFlags.DestroyWithParent, Gtk.MessageType.Error, ButtonsType.Ok, msg, desc); md.Run(); md.Destroy(); return(false); } return(true); }
public bool Execute(PhotoStore store, Photo photo, Gtk.Window parent_window) { VersionNameRequest request = new VersionNameRequest (VersionNameRequest.RequestType.Create, photo, parent_window); string name; ResponseType response = request.Run (out name); if (response != ResponseType.Ok) return false; try { photo.DefaultVersionId = photo.CreateVersion (name, photo.DefaultVersionId, true); store.Commit (photo); } catch (Exception e) { string msg = Catalog.GetString ("Could not create a new version"); string desc = String.Format (Catalog.GetString ("Received exception \"{0}\". Unable to create version \"{1}\""), e.Message, name); HigMessageDialog md = new HigMessageDialog (parent_window, DialogFlags.DestroyWithParent, Gtk.MessageType.Error, ButtonsType.Ok, msg, desc); md.Run (); md.Destroy (); return false; } return true; }
public bool Execute(PhotoStore store, Photo photo, Gtk.Window parent_window) { VersionNameRequest request = new VersionNameRequest (VersionNameRequest.RequestType.Create, photo, parent_window); string name; ResponseType response = request.Run (out name); if (response != ResponseType.Ok) return false; try { photo.DefaultVersionId = photo.CreateVersion (name, photo.DefaultVersionId, true); store.Commit (photo); return true; } catch (Exception e) { HandleException ("Could not create a new version", e, parent_window); return false; } }
public bool Execute(PhotoStore store, Photo photo, Gtk.Window parent_window) { var request = new VersionNameDialog(VersionNameDialog.RequestType.Create, photo, parent_window); var response = request.Run(out var name); if (response != ResponseType.Ok) { return(false); } try { photo.DefaultVersionId = photo.CreateVersion(name, photo.DefaultVersionId, true); store.Commit(photo); return(true); } catch (Exception e) { HandleException("Could not create a new version", e, parent_window); return(false); } }
static void Main(string [] args) { Program program = new Program("PhotoStoreTest", "0.0", Modules.UI, args); const string path = "/tmp/PhotoStoreTest.db"; try { File.Delete(path); } catch {} Db db = new Db(path, true); Tag portraits_tag = db.Tags.CreateTag(null, "Portraits"); Tag landscapes_tag = db.Tags.CreateTag(null, "Landscapes"); Tag favorites_tag = db.Tags.CreateTag(null, "Street"); uint portraits_tag_id = portraits_tag.Id; uint landscapes_tag_id = landscapes_tag.Id; uint favorites_tag_id = favorites_tag.Id; Pixbuf unused_thumbnail; Photo ny_landscape = db.Photos.Create(DateTime.Now.ToUniversalTime(), 1, "/home/ettore/Photos/ny_landscape.jpg", out unused_thumbnail); ny_landscape.Description = "Pretty NY skyline"; ny_landscape.AddTag(landscapes_tag); ny_landscape.AddTag(favorites_tag); db.Photos.Commit(ny_landscape); Photo me_in_sf = db.Photos.Create(DateTime.Now.ToUniversalTime(), 2, "/home/ettore/Photos/me_in_sf.jpg", out unused_thumbnail); me_in_sf.AddTag(landscapes_tag); me_in_sf.AddTag(portraits_tag); me_in_sf.AddTag(favorites_tag); db.Photos.Commit(me_in_sf); me_in_sf.RemoveTag(favorites_tag); me_in_sf.Description = "Myself and the SF skyline"; me_in_sf.CreateVersion("cropped", Photo.OriginalVersionId); me_in_sf.CreateVersion("UM-ed", Photo.OriginalVersionId); db.Photos.Commit(me_in_sf); Photo macro_shot = db.Photos.Create(DateTime.Now.ToUniversalTime(), 2, "/home/ettore/Photos/macro_shot.jpg", out unused_thumbnail); db.Dispose(); db = new Db(path, false); DumpAll(db); portraits_tag = db.Tags.Get(portraits_tag_id) as Tag; landscapes_tag = db.Tags.Get(landscapes_tag_id) as Tag; favorites_tag = db.Tags.Get(favorites_tag_id) as Tag; ArrayList query_tags = new ArrayList(); query_tags.Add(portraits_tag); query_tags.Add(landscapes_tag); DumpForTags(db, query_tags); query_tags.Clear(); query_tags.Add(favorites_tag); DumpForTags(db, query_tags); }