Esempio n. 1
0
 /**
  * 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);
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 /**
  * 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();
        }
Esempio n. 7
0
            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;
 }
Esempio n. 9
0
 /**
  * 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 };
        }
Esempio n. 11
0
 /**
  * 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);
 }
Esempio n. 14
0
 /**
  * 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));
 }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
 /// <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);
     }
 }
Esempio n. 17
0
 /**
  * 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);
 }