/** * Build up this source reference with a description reference. * * @param description The description. * @return this. */ public SourceReference SetDescription(SourceDescription description) { if (description.Id == null) { throw new ArgumentException("Cannot reference description: no id."); } return(SetDescriptionRef("#" + description.Id)); }
/// <summary> /// Visits the source description. /// </summary> /// <param name="sourceDescription">The source description to visit.</param> public override void VisitSourceDescription(Gx.Source.SourceDescription sourceDescription) { if (sourceDescription.Id != null) { this.dictionary.Add(sourceDescription.Id, sourceDescription); } base.VisitSourceDescription(sourceDescription); }
public void TestUploadMultiplePhotoMemories() { var converter = new ImageConverter(); var bytes1 = (Byte[])converter.ConvertTo(TestBacking.GetCreatePhoto(), typeof(Byte[])); var bytes2 = (Byte[])converter.ConvertTo(TestBacking.GetCreatePhoto(), typeof(Byte[])); var dataSource1 = new BasicDataSource(Guid.NewGuid().ToString("n") + ".jpg", "image/jpeg", bytes1); var dataSource2 = new BasicDataSource(Guid.NewGuid().ToString("n") + ".jpg", "image/jpeg", bytes2); var description = new SourceDescription().SetTitle(new TextValue().SetValue("PersonImage")).SetCitation("Citation for PersonImage"); var artifacts = new List<IDataSource>(); artifacts.Add(dataSource1); artifacts.Add(dataSource2); IRestRequest request = new RedirectableRestRequest() .AddHeader("Authorization", "Bearer " + tree.CurrentAccessToken) .Accept(MediaTypes.GEDCOMX_JSON_MEDIA_TYPE) .ContentType(MediaTypes.MULTIPART_FORM_DATA_TYPE) .Build("https://sandbox.familysearch.org/platform/memories/memories", Method.POST); foreach (var artifact in artifacts) { String mediaType = artifact.ContentType; foreach (TextValue value in description.Titles) { request.AddFile("title", Encoding.UTF8.GetBytes(value.Value), null, MediaTypes.TEXT_PLAIN_TYPE); } foreach (SourceCitation citation in description.Citations) { request.AddFile("citation", Encoding.UTF8.GetBytes(citation.Value), null, MediaTypes.TEXT_PLAIN_TYPE); } if (artifact.Name != null) { request.Files.Add(new FileParameter() { Name = "artifact", FileName = artifact.Name, ContentType = artifact.ContentType, Writer = new Action<Stream>(s => { artifact.InputStream.Seek(0, SeekOrigin.Begin); using (var ms = new MemoryStream(artifact.InputStream.ReadAsBytes())) using (var reader = new StreamReader(ms)) { reader.BaseStream.CopyTo(s); } }) }); } } var state = tree.Client.Handle(request); Assert.IsNotNull(state); Assert.AreEqual(HttpStatusCode.Created, state.StatusCode); }
public void TestReadMemoryPersonas() { var converter = new ImageConverter(); var bytes = (Byte[])converter.ConvertTo(TestBacking.GetCreatePhoto(), typeof(Byte[])); var dataSource = new BasicDataSource(Guid.NewGuid().ToString("n") + ".jpg", "image/jpeg", bytes); var description = new SourceDescription().SetTitle("PersonImage").SetCitation("Citation for PersonImage").SetDescription("Description"); var image = (SourceDescriptionState)tree.AddArtifact(description, dataSource).Get(); cleanup.Add(image); image.AddPersona(new Person().SetName("John Smith")); var state = image.ReadPersonas(); Assert.DoesNotThrow(() => state.IfSuccessful()); Assert.AreEqual(HttpStatusCode.OK, state.Response.StatusCode); Assert.IsNotNull(state.Persons); Assert.AreEqual(1, state.Persons.Count); }
/** * Build out this source description with a component of. * @param componentOf The component of. * @return this. */ public SourceDescription SetComponentOf(SourceDescription componentOf) { ComponentOf = new SourceReference().SetDescription(componentOf); return(this); }
public virtual void VisitSourceDescription(SourceDescription sourceDescription) { this.contextStack.Push(sourceDescription); List<SourceReference> sources = sourceDescription.Sources; if (sources != null) { foreach (SourceReference source in sources) { source.Accept(this); } } List<Note> notes = sourceDescription.Notes; if (notes != null) { foreach (Note note in notes) { note.Accept(this); } } List<SourceCitation> citations = sourceDescription.Citations; if (citations != null) { foreach (SourceCitation citation in citations) { citation.Accept(this); } } this.contextStack.Pop(); }
public override void VisitSourceDescription(SourceDescription sourceDescription) { if ((sourceDescription.KnownResourceType == ResourceType.DigitalArtifact) && (sourceDescription.About != null)) { _columnNames.Add("IMAGE_URI"); _currentRecord["IMAGE_URI"] = sourceDescription.About; } base.VisitSourceDescription(sourceDescription); }
/** * Build out this source description with a component of. * @param componentOf The component of. * @return this. */ public SourceDescription SetComponentOf(SourceDescription componentOf) { ComponentOf = new SourceReference().SetDescription(componentOf); return this; }
/** * Build this out with a source description. * @param sourceDescription The source description. * @return this. */ public Gedcomx SetSourceDescription(SourceDescription sourceDescription) { AddSourceDescription(sourceDescription); return this; }
private List<SourceDescription> CiteGeorgeMarthaAndMarriage(Person george, Person martha, Relationship relationship) { SourceDescription georgeSource = new SourceDescription(); georgeSource.SetId("EEE-EEEE"); georgeSource.SetAbout("http://en.wikipedia.org/wiki/George_washington"); SourceCitation georgeCitation = new SourceCitation(); georgeCitation.SetValue("\"George Washington.\" Wikipedia, The Free Encyclopedia. Wikimedia Foundation, Inc. 24 October 2012."); georgeSource.SetCitation(georgeCitation); SourceDescription marthaSource = new SourceDescription(); marthaSource.SetId("FFF-FFFF"); marthaSource.SetAbout("http://en.wikipedia.org/wiki/Martha_washington"); SourceCitation marthaCitation = new SourceCitation(); marthaCitation.SetValue("\"Martha Washington.\" Wikipedia, The Free Encyclopedia. Wikimedia Foundation, Inc. 24 October 2012."); marthaSource.SetCitation(marthaCitation); SourceReference reference = new SourceReference(); reference.SetDescriptionRef("#" + georgeSource.Id); george.SetSource(reference); reference = new SourceReference(); reference.SetDescriptionRef("#" + marthaSource.Id); martha.SetSource(reference); relationship.SetSource(reference); return new List<SourceDescription>() { georgeSource, marthaSource }; }
/** * Build up this subject with a media reference. * * @param media The media reference. * @return this. */ public Subject SetMedia(SourceDescription media) { AddMedia(new SourceReference().SetDescription(media)); return this; }
/// <summary> /// Visits the source description. /// </summary> /// <param name="sourceDescription">The source description to visit.</param> public virtual void VisitSourceDescription(SourceDescription sourceDescription) { this.contextStack.Push(sourceDescription); if (sourceDescription.Sources != null) { foreach (SourceReference source in sourceDescription.Sources) { VisitSourceReference(source); } } if (sourceDescription.Notes != null) { foreach (Note note in sourceDescription.Notes) { VisitNote(note); } } if (sourceDescription.Citations != null) { foreach (SourceCitation citation in sourceDescription.Citations) { VisitSourceCitation(citation); } } this.contextStack.Pop(); }
public override void VisitSourceDescription(SourceDescription sourceDescription) { BindIfNeeded(sourceDescription); base.VisitSourceDescription(sourceDescription); }
/** * Build up this conclusion with a source reference. * * @param source The source description being referenced. * @return this. */ public Conclusion SetSource(SourceDescription source) { return SetSource(new SourceReference().SetDescription(source)); }
public void TestDeleteMemoryPersona() { var converter = new ImageConverter(); var bytes = (Byte[])converter.ConvertTo(TestBacking.GetCreatePhoto(), typeof(Byte[])); var dataSource = new BasicDataSource(Guid.NewGuid().ToString("n") + ".jpg", "image/jpeg", bytes); var description = new SourceDescription().SetTitle("PersonImage").SetCitation("Citation for PersonImage").SetDescription("Description"); var image = (SourceDescriptionState)tree.AddArtifact(description, dataSource).Get(); cleanup.Add(image); var person = (FamilyTreePersonState)tree.AddPerson(TestBacking.GetCreateMalePerson()).Get(); cleanup.Add(person); var persona = (PersonState)image.AddPersona(new Person().SetName("John Smith")).Get(); person.AddPersonaReference(persona); var personas = person.LoadPersonaReferences(); var state = personas.DeletePersonaReference(personas.GetPersonaReference()); Assert.DoesNotThrow(() => state.IfSuccessful()); Assert.AreEqual(HttpStatusCode.NoContent, state.Response.StatusCode); }
/// <summary> /// Add a source description to the data set. /// </summary> /// <param name="sourceDescription">The source description to be added.</param> public void AddSourceDescription(SourceDescription sourceDescription) { if (sourceDescription != null) { if (SourceDescriptions == null) SourceDescriptions = new List<SourceDescription>(); SourceDescriptions.Add(sourceDescription); } }
/** * Build up this source reference with a description reference. * * @param description The description. * @return this. */ public SourceReference SetDescription(SourceDescription description) { if (description.Id == null) { throw new ArgumentException("Cannot reference description: no id."); } return SetDescriptionRef("#" + description.Id); }