예제 #1
0
 internal static GEDCOMAddressStructure CreateAddressStructure(GEDCOMRecord record)
 {
     return(new GEDCOMAddressStructure(record));
 }
예제 #2
0
 internal static GEDCOMSourceRepositoryCitationStructure CreateSourceRepositoryStructure(GEDCOMRecord record)
 {
     return(new GEDCOMSourceRepositoryCitationStructure(record));
 }
예제 #3
0
 /// <summary>
 ///   Constructs a GEDCOMRepositoryRecord from a GEDCOMRecord
 /// </summary>
 /// <param name = "record">a GEDCOMRecord</param>
 public GEDCOMRepositoryRecord(GEDCOMRecord record) : base(record)
 {
 }
예제 #4
0
 internal static GEDCOMHeaderSourceStructure CreateHeaderSourceStructure(GEDCOMRecord record)
 {
     return(new GEDCOMHeaderSourceStructure(record));
 }
예제 #5
0
        internal static GEDCOMRecord Create(GEDCOMRecord record)
        {
            switch (record.TagName)
            {
            case GEDCOMTag.ADDR:
                return(CreateAddressStructure(record));

            case GEDCOMTag.ASSO:
                return(CreateAssociationStructure(record));

            case GEDCOMTag.CHAN:
                return(CreateChangeDateStructure(record));

            case GEDCOMTag.CALN:
                return(CreateCallNumberStructure(record));

            case GEDCOMTag.AFN:
            case GEDCOMTag.RIN:
            case GEDCOMTag.RFN:
            case GEDCOMTag.REFN:
                return(CreateExternalIDStructure(record));

            case GEDCOMTag.FAM:
                return(CreateFamilyRecord(record));

            case GEDCOMTag.FAMC:
            case GEDCOMTag.FAMS:
                return(CreateLinkStructure(record));

            case GEDCOMTag.HEAD:
                return(CreateHeaderRecord(record));

            case GEDCOMTag.INDI:
                return(CreateIndividualRecord(record));

            case GEDCOMTag.OBJE:
                if (record.Level == 0)
                {
                    return(CreateMultimediaRecord(record));
                }

                return(CreateMultimediaStructure(record));

            case GEDCOMTag.NAME:
                return(CreateNameStructure(record));

            case GEDCOMTag.NOTE:
                if (record.Level == 0)
                {
                    return(CreateNoteRecord(record));
                }

                return(CreateNoteStructure(record));

            case GEDCOMTag.PLAC:
                return(CreatePlaceStructure(record));

            case GEDCOMTag.REPO:
                if (record.Level == 0)
                {
                    return(CreateRepositoryRecord(record));
                }

                return(CreateSourceRepositoryStructure(record));

            case GEDCOMTag.SOUR:
                if (record.Level == 0)
                {
                    return(CreateSourceRecord(record));
                }

                if (String.IsNullOrEmpty(record.XRefId))
                {
                    return(CreateHeaderSourceStructure(record));
                }

                return(CreateSourceStructure(record));

            case GEDCOMTag.SUBM:
                return(CreateSubmitterRecord(record));

            case GEDCOMTag.SUBN:
                return(CreateSubmissionRecord(record));

            default:
                //Check if the tag is an Fact type tag
                EventClass eventClass = GEDCOMUtil.GetEventClass(record.Tag);
                if (eventClass != EventClass.Unknown)
                {
                    return(CreateEventStructure(record, eventClass));
                }

                return(record);
            }
        }
예제 #6
0
 internal static GEDCOMChangeDateStructure CreateChangeDateStructure(GEDCOMRecord record)
 {
     return(new GEDCOMChangeDateStructure(record));
 }
예제 #7
0
 internal static GEDCOMEventStructure CreateEventStructure(GEDCOMRecord record, EventClass eventClass)
 {
     return(new GEDCOMEventStructure(record, eventClass));
 }
예제 #8
0
 internal static GEDCOMFamilyRecord CreateFamilyRecord(GEDCOMRecord record)
 {
     return(new GEDCOMFamilyRecord(record));
 }
예제 #9
0
 internal static GEDCOMHeaderRecord CreateHeaderRecord(GEDCOMRecord record)
 {
     return(new GEDCOMHeaderRecord(record));
 }
 /// <summary>
 ///   Constructs a GEDCOMHeaderRecord from a GEDCOMRecord
 /// </summary>
 /// <param name = "record">a GEDCOMRecord</param>
 public GEDCOMHeaderRecord(GEDCOMRecord record) : base(record)
 {
 }
 /// <summary>
 ///   Constructs a GEDCOMIndividualRecord from a GEDCOMRecord
 /// </summary>
 /// <param name = "record">a GEDCOMRecord</param>
 public GEDCOMIndividualRecord(GEDCOMRecord record) : base(record)
 {
 }
예제 #12
0
 /// <summary>
 ///   Constructs a GEDCOMBaseRecord from a GEDCOMRecord
 /// </summary>
 /// <param name = "record">a GEDCOMRecord</param>
 public GEDCOMBaseRecord(GEDCOMRecord record) : base(record)
 {
 }
예제 #13
0
 /// <summary>
 ///   Constructs a GEDCOMMultimediaRecord from a GEDCOMRecord
 /// </summary>
 /// <param name = "record">a GEDCOMRecord</param>
 public GEDCOMMultimediaRecord(GEDCOMRecord record) : base(record)
 {
 }
 /// <summary>
 ///   Constructs a GEDCOMFamilyRecord from a GEDCOMRecord
 /// </summary>
 /// <param name = "record">a GEDCOMRecord</param>
 public GEDCOMFamilyRecord(GEDCOMRecord record) : base(record)
 {
 }
예제 #15
0
 internal static GEDCOMAssociationStructure CreateAssociationStructure(GEDCOMRecord record)
 {
     return(new GEDCOMAssociationStructure(record));
 }
예제 #16
0
 internal static GEDCOMIndividualRecord CreateIndividualRecord(GEDCOMRecord record)
 {
     return(new GEDCOMIndividualRecord(record));
 }
예제 #17
0
 internal static GEDCOMCallNumberStructure CreateCallNumberStructure(GEDCOMRecord record)
 {
     return(new GEDCOMCallNumberStructure(record));
 }
예제 #18
0
 internal static GEDCOMMultimediaRecord CreateMultimediaRecord(GEDCOMRecord record)
 {
     return(new GEDCOMMultimediaRecord(record));
 }
예제 #19
0
 internal static GEDCOMExternalIDStructure CreateExternalIDStructure(GEDCOMRecord record)
 {
     return(new GEDCOMExternalIDStructure(record));
 }
예제 #20
0
 internal static GEDCOMNoteRecord CreateNoteRecord(GEDCOMRecord record)
 {
     return(new GEDCOMNoteRecord(record));
 }
예제 #21
0
 internal static GEDCOMFamilyLinkStructure CreateLinkStructure(GEDCOMRecord record)
 {
     return(new GEDCOMFamilyLinkStructure(record));
 }
예제 #22
0
 internal static GEDCOMRepositoryRecord CreateRepositoryRecord(GEDCOMRecord record)
 {
     return(new GEDCOMRepositoryRecord(record));
 }
예제 #23
0
 internal static GEDCOMMultimediaStructure CreateMultimediaStructure(GEDCOMRecord record)
 {
     return(new GEDCOMMultimediaStructure(record));
 }
예제 #24
0
 internal static GEDCOMSourceRecord CreateSourceRecord(GEDCOMRecord record)
 {
     return(new GEDCOMSourceRecord(record));
 }
예제 #25
0
 internal static GEDCOMPlaceStructure CreatePlaceStructure(GEDCOMRecord record)
 {
     return(new GEDCOMPlaceStructure(record));
 }
예제 #26
0
 internal static GEDCOMSubmissionRecord CreateSubmissionRecord(GEDCOMRecord record)
 {
     return(new GEDCOMSubmissionRecord(record));
 }
예제 #27
0
 /// <summary>
 ///   Constructs a GEDCOMSourceRecord from a GEDCOMRecord
 /// </summary>
 /// <param name = "record">a GEDCOMRecord</param>
 public GEDCOMSourceRecord(GEDCOMRecord record) : base(record)
 {
 }
예제 #28
0
 /// <summary>
 ///   Constructs a GEDCOMSubmitterRecord from a GEDCOMRecord
 /// </summary>
 /// <param name = "record">a GEDCOMRecord</param>
 public GEDCOMSubmitterRecord(GEDCOMRecord record) : base(record)
 {
 }