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); }
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); }
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); } } } }
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); }
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); } } } }