Beispiel #1
0
        /// <summary>
        /// Gets the type of the linkage.
        /// </summary>
        /// <param name="childXrefID">The child xref identifier.</param>
        /// <returns>
        /// Pedigree linkage type.
        /// </returns>
        public PedigreeLinkageType GetLinkageType(string childXrefID)
        {
            PedigreeLinkageType ret = PedigreeLinkageType.Unknown;

            if (linkageTypes != null && linkageTypes.ContainsKey(childXrefID))
            {
                ret = linkageTypes[childXrefID];
            }
            else
            {
                GedcomIndividualRecord child = (GedcomIndividualRecord)Database[childXrefID];
                if (child != null)
                {
                    GedcomFamilyLink link = null;
                    if (child.ChildInFamily(XrefId, out link))
                    {
                        ret = link.Pedigree;
                    }
                    else
                    {
                        System.Diagnostics.Debug.WriteLine("Child " + childXrefID + " is not in family " +
                                                           XrefId + " in GetLinkageType");
                    }
                }
                else
                {
                    System.Diagnostics.Debug.WriteLine("Attempt to GetLinkageType of unknown child " +
                                                       childXrefID + " in " + XrefId);
                }
            }

            return(ret);
        }
Beispiel #2
0
        /// <summary>
        /// Sets the type of the linkage.
        /// </summary>
        /// <param name="childXrefID">The child xref identifier.</param>
        /// <param name="type">The pedigree linkage type.</param>
        /// <param name="to">The adoption type.</param>
        public void SetLinkageType(string childXrefID, PedigreeLinkageType type, GedcomAdoptionType to)
        {
            Dictionary <string, PedigreeLinkageType> dict;

            switch (to)
            {
            case GedcomAdoptionType.Husband:
                if (husbLinkageTypes == null)
                {
                    husbLinkageTypes = new Dictionary <string, PedigreeLinkageType>();
                }

                dict = husbLinkageTypes;
                break;

            case GedcomAdoptionType.Wife:
                if (wifeLinkageTypes == null)
                {
                    wifeLinkageTypes = new Dictionary <string, PedigreeLinkageType>();
                }

                dict = wifeLinkageTypes;
                break;

            case GedcomAdoptionType.HusbandAndWife:
            default:
                if (linkageTypes == null)
                {
                    linkageTypes = new Dictionary <string, PedigreeLinkageType>();
                }

                dict = linkageTypes;
                break;
            }

            if (dict.ContainsKey(childXrefID))
            {
                dict[childXrefID] = type;
            }
            else
            {
                dict.Add(childXrefID, type);
            }
        }
Beispiel #3
0
 /// <summary>
 /// Sets the type of the linkage.
 /// </summary>
 /// <param name="childXrefID">The child xref identifier.</param>
 /// <param name="type">The pedigree linkage type.</param>
 public void SetLinkageType(string childXrefID, PedigreeLinkageType type)
 {
     SetLinkageType(childXrefID, type, GedcomAdoptionType.HusbandAndWife);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="GedcomFamilyLink"/> class.
 /// </summary>
 public GedcomFamilyLink()
 {
     pedigree = PedigreeLinkageType.Unknown;
 }