private static int EventsCompare(PedigreeEvent item1, PedigreeEvent item2) { return(item1.Date.CompareTo(item2.Date)); }
private void WriteEventList(PedigreePerson person, ExtList <PedigreeEvent> evList) { evList.QuickSort(EventsCompare); int num3 = evList.Count; for (int i = 0; i < num3; i++) { GEDCOMCustomEvent evt = evList[i].Event; if (evt != null && Equals(evList[i].IRec, person.IRec)) { if (evt.Name == "BIRT") { evList.Exchange(i, 0); } else if (evt.Name == "DEAT") { evList.Exchange(i, evList.Count - 1); } } } fWriter.beginList(); int num4 = evList.Count; for (int i = 0; i < num4; i++) { PedigreeEvent evObj = evList[i]; GEDCOMCustomEvent evt = evObj.Event; string li; if (evObj.IRec == person.IRec) { int ev = GKUtils.GetPersonEventIndex(evt.Name); string st; if (ev == 0) { st = evt.Classification; } else { st = (ev > 0) ? LangMan.LS(GKData.PersonEvents[ev].Name) : evt.Name; } string dt = GKUtils.GEDCOMEventToDateStr(evt, DateFormat.dfDD_MM_YYYY, false); li = dt + ": " + st + "."; if (evt.Place.StringValue != "") { li = li + " " + LangMan.LS(LSID.LSID_Place) + ": " + evt.Place.StringValue; } fWriter.addListItem(" " + li, fTextFont); } else { string dt = (evt == null) ? "?" : GKUtils.GEDCOMEventToDateStr(evt, DateFormat.dfDD_MM_YYYY, false); string st = (evObj.IRec.Sex == GEDCOMSex.svMale) ? ": Родился " : ": Родилась "; li = dt + st + GKUtils.GetNameString(evObj.IRec, true, false); PedigreePerson prs = FindPerson(evObj.IRec); string id = (prs != null) ? prs.Id : ""; fWriter.addListItemLink(" " + li + " ", fTextFont, id, fLinkFont); } } fWriter.endList(); }
private void WriteEventList(PedigreePerson person, ExtList <PedigreeEvent> evList) { evList.QuickSort(EventsCompare); int evtNum = evList.Count; for (int i = 0; i < evtNum; i++) { GDMCustomEvent evt = evList[i].Event; if (evt != null && Equals(evList[i].IRec, person.IRec)) { var evtType = evt.GetTagType(); if (evtType == GEDCOMTagType.BIRT) { evList.Exchange(i, 0); } else if (evtType == GEDCOMTagType.DEAT) { evList.Exchange(i, evtNum - 1); } } } fWriter.BeginList(); var dateFormat = GlobalOptions.Instance.DefDateFormat; for (int i = 0; i < evtNum; i++) { PedigreeEvent evObj = evList[i]; GDMCustomEvent evt = evObj.Event; string li; if (evObj.IRec == person.IRec) { var evtName = evt.GetTagName(); int ev = GKUtils.GetPersonEventIndex(evtName); string st; if (ev == 0) { st = evt.Classification; } else { st = (ev > 0) ? LangMan.LS(GKData.PersonEvents[ev].Name) : evtName; } string dt = GKUtils.GEDCOMEventToDateStr(evt, dateFormat, false); li = dt + ": " + st + "."; if (evt.Place.StringValue != "") { li = li + " " + LangMan.LS(LSID.LSID_Place) + ": " + evt.Place.StringValue; } fWriter.AddListItem(" " + li, fTextFont); } else { string dt = (evt == null) ? "?" : GKUtils.GEDCOMEventToDateStr(evt, dateFormat, false); string st = (evObj.IRec.Sex == GDMSex.svMale) ? LangMan.LS(LSID.LSID_HeWasBorn) : LangMan.LS(LSID.LSID_SheWasBorn); li = string.Format("{0}: {1} {2}", dt, st, GKUtils.GetNameString(evObj.IRec, true, false)); PedigreePerson prs = FindPerson(evObj.IRec); string id = (prs != null) ? prs.Id : ""; fWriter.AddListItemLink(" " + li + " ", fTextFont, id, fLinkFont); } } fWriter.EndList(); }