Exemplo n.º 1
0
        public static GDMSourceCitation AddSource(this IGDMStructWithSourceCitations _struct, GDMSourceRecord sourceRec, string page, int quality)
        {
            GDMSourceCitation cit = null;

            if (sourceRec != null)
            {
                cit      = new GDMSourceCitation();
                cit.XRef = sourceRec.XRef;
                cit.Page = page;
                cit.CertaintyAssessment = quality;
                _struct.SourceCitations.Add(cit);
            }

            return(cit);
        }
Exemplo n.º 2
0
 public static GDMSourceCitation FindSourceCitation(this IGDMStructWithSourceCitations _struct, GDMSourceRecord sourceRec)
 {
     if (sourceRec != null && _struct.HasSourceCitations)
     {
         int num = _struct.SourceCitations.Count;
         for (int i = 0; i < num; i++)
         {
             var sourCit = _struct.SourceCitations[i];
             if (sourCit.XRef == sourceRec.XRef)
             {
                 return(sourCit);
             }
         }
     }
     return(null);
 }
Exemplo n.º 3
0
 private void CheckTagWithSourceCitations(IGDMStructWithSourceCitations tag)
 {
     for (int i = tag.SourceCitations.Count - 1; i >= 0; i--)
     {
         GDMSourceCitation sourCit = tag.SourceCitations[i];
         if (!sourCit.IsPointer)
         {
             TransformSourceCitation(sourCit);
         }
         else
         {
             var sourRec = fTree.GetPtrValue <GDMSourceRecord>(sourCit);
             if (sourRec == null)
             {
                 tag.SourceCitations.DeleteAt(i);
             }
         }
     }
 }
Exemplo n.º 4
0
        public static bool ModifySourceCitation(IBaseWindow baseWin, ChangeTracker undoman,
                                                IGDMStructWithSourceCitations _struct, ref GDMSourceCitation cit)
        {
            bool result;

            try {
                baseWin.Context.BeginUpdate();
                GDMTree tree = baseWin.Context.Tree;

                using (var dlg = AppHost.ResolveDialog <ISourceCitEditDlg>(baseWin)) {
                    bool exists = cit != null;
                    if (!exists)
                    {
                        cit = new GDMSourceCitation();
                    }

                    dlg.SourceCitation = cit;
                    result             = AppHost.Instance.ShowModalX(dlg, false);

                    if (!exists)
                    {
                        if (result)
                        {
                            result = undoman.DoOrdinaryOperation(OperationType.otRecordSourceCitAdd, (GDMObject)_struct, cit);
                        }
                        else
                        {
                            cit.Dispose();
                        }
                    }
                }
            } finally {
                baseWin.Context.EndUpdate();
            }

            return(result);
        }
Exemplo n.º 5
0
 private static void CheckTagWithSourceCitations(GDMTree tree, GEDCOMFormat format, IGDMStructWithSourceCitations tag)
 {
     for (int i = tag.SourceCitations.Count - 1; i >= 0; i--)
     {
         GDMSourceCitation sourCit = tag.SourceCitations[i];
         if (!sourCit.IsPointer)
         {
             TransformSourceCitation(tree, sourCit);
         }
         else
         {
             if (sourCit.Value == null)
             {
                 tag.SourceCitations.DeleteAt(i);
             }
         }
     }
 }