public void SortContents(int sortColumn, bool sortAscending) { try { int num = fContentList.Count; for (int i = 0; i < num; i++) { ValItem valItem = fContentList[i]; GDMRecord rec = valItem.Record; if (sortColumn == 0) { valItem.ColumnValue = rec.GetId(); } else { Fetch(rec); valItem.ColumnValue = GetColumnInternalValue(sortColumn); } } fXSortFactor = (sortAscending ? 1 : -1); ListTimSort <ValItem> .Sort(fContentList, CompareItems); } catch (Exception ex) { Logger.LogWrite("ListManager.SortContents(): " + ex.Message); } }
private static bool CheckRecordXRef(GDMRecord record) { string stdSign = GEDCOMUtils.GetSignByRecord(record); string xrefNum = record.GetXRefNum(); string recXRef = record.XRef; return((recXRef == stdSign + xrefNum) && record.GetId() >= 0); }
public static bool DeleteRecord(IBaseWindow baseWin, GDMRecord record, bool confirm) { bool result = false; if (record != null) { string msg = ""; switch (record.RecordType) { case GDMRecordType.rtIndividual: msg = string.Format(LangMan.LS(LSID.LSID_PersonDeleteQuery), GKUtils.GetNameString(((GDMIndividualRecord)record), true, false)); break; case GDMRecordType.rtFamily: msg = string.Format(LangMan.LS(LSID.LSID_FamilyDeleteQuery), GKUtils.GetFamilyString((GDMFamilyRecord)record)); break; case GDMRecordType.rtNote: { string value = GKUtils.TruncateStrings(((GDMNoteRecord)(record)).Lines, GKData.NOTE_NAME_MAX_LENGTH); if (string.IsNullOrEmpty(value)) { value = string.Format("#{0}", record.GetId().ToString()); } msg = string.Format(LangMan.LS(LSID.LSID_NoteDeleteQuery), value); break; } case GDMRecordType.rtMultimedia: msg = string.Format(LangMan.LS(LSID.LSID_MediaDeleteQuery), ((GDMMultimediaRecord)record).GetFileTitle()); break; case GDMRecordType.rtSource: msg = string.Format(LangMan.LS(LSID.LSID_SourceDeleteQuery), ((GDMSourceRecord)record).ShortTitle); break; case GDMRecordType.rtRepository: msg = string.Format(LangMan.LS(LSID.LSID_RepositoryDeleteQuery), ((GDMRepositoryRecord)record).RepositoryName); break; case GDMRecordType.rtGroup: msg = string.Format(LangMan.LS(LSID.LSID_GroupDeleteQuery), ((GDMGroupRecord)record).GroupName); break; case GDMRecordType.rtResearch: msg = string.Format(LangMan.LS(LSID.LSID_ResearchDeleteQuery), ((GDMResearchRecord)record).ResearchName); break; case GDMRecordType.rtTask: msg = string.Format(LangMan.LS(LSID.LSID_TaskDeleteQuery), GKUtils.GetTaskGoalStr((GDMTaskRecord)record)); break; case GDMRecordType.rtCommunication: msg = string.Format(LangMan.LS(LSID.LSID_CommunicationDeleteQuery), ((GDMCommunicationRecord)record).CommName); break; case GDMRecordType.rtLocation: msg = string.Format(LangMan.LS(LSID.LSID_LocationDeleteQuery), ((GDMLocationRecord)record).LocationName); break; } if (confirm && AppHost.StdDialogs.ShowQuestionYN(msg)) { result = baseWin.Context.DeleteRecord(record); } } return(result); }