protected static object GetDateValue(GEDCOMCustomDate date, bool isVisible) { object result; if (date == null) { result = (isVisible) ? null : (object)UDN.CreateEmpty(); } else { if (isVisible) { GlobalOptions glob = GlobalOptions.Instance; result = date.GetDisplayStringExt(glob.DefDateFormat, glob.ShowDatesSign, glob.ShowDatesCalendar); } else { result = date.GetUDN(); } } return(result); }
public GEDCOMDateItem(GEDCOMCustomDate date) { fDate = date; }
private void SetEvent(GEDCOMCustomEvent value) { fEvent = value; if (fEvent is GEDCOMFamilyEvent) { int num = GKData.FamilyEvents.Length; for (int i = 0; i < num; i++) { cmbEventType.Items.Add(LangMan.LS(GKData.FamilyEvents[i].Name)); } int idx = GKUtils.GetFamilyEventIndex(fEvent.Name); if (idx < 0) { idx = 0; } cmbEventType.SelectedIndex = idx; } else { int num = GKData.PersonEvents.Length; for (int i = 0; i < num; i++) { cmbEventType.Items.Add(LangMan.LS(GKData.PersonEvents[i].Name)); } int idx = GKUtils.GetPersonEventIndex(fEvent.Name); if (idx < 0) { idx = 0; } cmbEventType.SelectedIndex = idx; if (idx >= 0 && GKData.PersonEvents[idx].Kind == PersonEventKind.ekFact) { txtAttribute.Text = fEvent.StringValue; } } EditEventType_SelectedIndexChanged(null, null); GEDCOMCustomDate date = fEvent.Date.Value; if (date is GEDCOMDateRange) { GEDCOMDateRange dtRange = date as GEDCOMDateRange; if (dtRange.After.StringValue == "" && dtRange.Before.StringValue != "") { cmbEventDateType.SelectedIndex = 1; } else if (dtRange.After.StringValue != "" && dtRange.Before.StringValue == "") { cmbEventDateType.SelectedIndex = 2; } else if (dtRange.After.StringValue != "" && dtRange.Before.StringValue != "") { cmbEventDateType.SelectedIndex = 3; } txtEventDate1.Text = dtRange.After.GetDisplayString(DateFormat.dfDD_MM_YYYY); txtEventDate2.Text = dtRange.Before.GetDisplayString(DateFormat.dfDD_MM_YYYY); SetComboCalendar(cmbDate1Calendar, dtRange.After.DateCalendar); SetComboCalendar(cmbDate2Calendar, dtRange.Before.DateCalendar); btnBC1.Checked = dtRange.After.YearBC; btnBC2.Checked = dtRange.Before.YearBC; } else if (date is GEDCOMDatePeriod) { GEDCOMDatePeriod dtPeriod = date as GEDCOMDatePeriod; if (dtPeriod.DateFrom.StringValue != "" && dtPeriod.DateTo.StringValue == "") { cmbEventDateType.SelectedIndex = 4; } else if (dtPeriod.DateFrom.StringValue == "" && dtPeriod.DateTo.StringValue != "") { cmbEventDateType.SelectedIndex = 5; } else if (dtPeriod.DateFrom.StringValue != "" && dtPeriod.DateTo.StringValue != "") { cmbEventDateType.SelectedIndex = 6; } txtEventDate1.Text = dtPeriod.DateFrom.GetDisplayString(DateFormat.dfDD_MM_YYYY); txtEventDate2.Text = dtPeriod.DateTo.GetDisplayString(DateFormat.dfDD_MM_YYYY); SetComboCalendar(cmbDate1Calendar, dtPeriod.DateFrom.DateCalendar); SetComboCalendar(cmbDate2Calendar, dtPeriod.DateTo.DateCalendar); btnBC1.Checked = dtPeriod.DateFrom.YearBC; btnBC2.Checked = dtPeriod.DateTo.YearBC; } else if (date is GEDCOMDate) { GEDCOMApproximated approximated = (date as GEDCOMDate).Approximated; switch (approximated) { case GEDCOMApproximated.daExact: cmbEventDateType.SelectedIndex = 0; break; case GEDCOMApproximated.daAbout: cmbEventDateType.SelectedIndex = 7; break; case GEDCOMApproximated.daCalculated: cmbEventDateType.SelectedIndex = 8; break; case GEDCOMApproximated.daEstimated: cmbEventDateType.SelectedIndex = 9; break; } txtEventDate1.Text = (date as GEDCOMDate).GetDisplayString(DateFormat.dfDD_MM_YYYY); SetComboCalendar(cmbDate1Calendar, (date as GEDCOMDate).DateCalendar); btnBC1.Checked = (date as GEDCOMDate).YearBC; } else { cmbEventDateType.SelectedIndex = 0; txtEventDate1.Text = ""; cmbDate1Calendar.SelectedIndex = 0; btnBC1.Checked = false; } EditEventDateType_SelectedIndexChanged(null, null); txtEventName.Text = fEvent.Classification; txtEventCause.Text = fEvent.Cause; txtEventOrg.Text = fEvent.Agency; fLocation = (fEvent.Place.Location.Value as GEDCOMLocationRecord); fNotesList.ListModel.DataOwner = fEvent; fMediaList.ListModel.DataOwner = fEvent; fSourcesList.ListModel.DataOwner = fEvent; ControlsRefresh(); ActiveControl = cmbEventType; }
private GEDCOMCustomDate AssembleDate() { GEDCOMCustomDate result = null; GEDCOMCalendar cal1 = GetComboCalendar(cmbDate1Calendar); GEDCOMCalendar cal2 = GetComboCalendar(cmbDate2Calendar); GEDCOMDate gcd1 = GEDCOMDate.CreateByFormattedStr(txtEventDate1.Text, cal1, true); if (gcd1 == null) { throw new ArgumentNullException("gcd1"); } GEDCOMDate gcd2 = GEDCOMDate.CreateByFormattedStr(txtEventDate2.Text, cal2, true); if (gcd2 == null) { throw new ArgumentNullException("gcd2"); } gcd1.YearBC = btnBC1.Checked; gcd2.YearBC = btnBC2.Checked; switch (cmbEventDateType.SelectedIndex) { case 0: result = gcd1; break; case 1: // BEF gcd2 result = GEDCOMCustomDate.CreateRange(null, null, null, gcd2); break; case 2: // AFT gcd1 result = GEDCOMCustomDate.CreateRange(null, null, gcd1, null); break; case 3: // "BET " + gcd1 + " AND " + gcd2 result = GEDCOMCustomDate.CreateRange(null, null, gcd1, gcd2); break; case 4: // FROM gcd1 result = GEDCOMCustomDate.CreatePeriod(null, null, gcd1, null); break; case 5: // TO gcd2 result = GEDCOMCustomDate.CreatePeriod(null, null, null, gcd2); break; case 6: // FROM gcd1 TO gcd2 result = GEDCOMCustomDate.CreatePeriod(null, null, gcd1, gcd2); break; case 7: // ABT gcd1 result = GEDCOMCustomDate.CreateApproximated(null, null, gcd1, GEDCOMApproximated.daAbout); break; case 8: // CAL gcd1 result = GEDCOMCustomDate.CreateApproximated(null, null, gcd1, GEDCOMApproximated.daCalculated); break; case 9: // EST gcd1 result = GEDCOMCustomDate.CreateApproximated(null, null, gcd1, GEDCOMApproximated.daEstimated); break; } return(result); }
public void Test_GetMarriageDate() { GEDCOMCustomDate dtx = GKUtils.GetMarriageDate(null); Assert.IsNull(dtx); }
public override void UpdateView() { fView.NotesList.ListModel.DataOwner = fEvent; fView.MediaList.ListModel.DataOwner = fEvent; fView.SourcesList.ListModel.DataOwner = fEvent; if (fEvent is GEDCOMFamilyEvent) { SetEventTypes(GKData.FamilyEvents); int idx = GKUtils.GetFamilyEventIndex(fEvent.Name); if (idx < 0) { idx = 0; } fView.EventType.SelectedIndex = idx; } else { SetEventTypes(GKData.PersonEvents); int idx = GKUtils.GetPersonEventIndex(fEvent.Name); if (idx < 0) { idx = 0; } fView.EventType.SelectedIndex = idx; if (idx >= 0 && GKData.PersonEvents[idx].Kind == PersonEventKind.ekFact) { fView.Attribute.Text = fEvent.StringValue; } } ChangeEventType(); GEDCOMCustomDate date = fEvent.Date.Value; if (date is GEDCOMDateRange) { GEDCOMDateRange dtRange = date as GEDCOMDateRange; if (dtRange.After.StringValue == "" && dtRange.Before.StringValue != "") { fView.EventDateType.SelectedIndex = 1; } else if (dtRange.After.StringValue != "" && dtRange.Before.StringValue == "") { fView.EventDateType.SelectedIndex = 2; } else if (dtRange.After.StringValue != "" && dtRange.Before.StringValue != "") { fView.EventDateType.SelectedIndex = 3; } fView.Date1.Text = dtRange.After.GetDisplayString(DateFormat.dfDD_MM_YYYY); fView.Date2.Text = dtRange.Before.GetDisplayString(DateFormat.dfDD_MM_YYYY); fView.Date1Calendar.SelectedTag = dtRange.After.DateCalendar; fView.Date2Calendar.SelectedTag = dtRange.Before.DateCalendar; fView.Date1BC.Checked = dtRange.After.YearBC; fView.Date2BC.Checked = dtRange.Before.YearBC; } else if (date is GEDCOMDatePeriod) { GEDCOMDatePeriod dtPeriod = date as GEDCOMDatePeriod; if (dtPeriod.DateFrom.StringValue != "" && dtPeriod.DateTo.StringValue == "") { fView.EventDateType.SelectedIndex = 4; } else if (dtPeriod.DateFrom.StringValue == "" && dtPeriod.DateTo.StringValue != "") { fView.EventDateType.SelectedIndex = 5; } else if (dtPeriod.DateFrom.StringValue != "" && dtPeriod.DateTo.StringValue != "") { fView.EventDateType.SelectedIndex = 6; } fView.Date1.Text = dtPeriod.DateFrom.GetDisplayString(DateFormat.dfDD_MM_YYYY); fView.Date2.Text = dtPeriod.DateTo.GetDisplayString(DateFormat.dfDD_MM_YYYY); fView.Date1Calendar.SelectedTag = dtPeriod.DateFrom.DateCalendar; fView.Date2Calendar.SelectedTag = dtPeriod.DateTo.DateCalendar; fView.Date1BC.Checked = dtPeriod.DateFrom.YearBC; fView.Date2BC.Checked = dtPeriod.DateTo.YearBC; } else if (date is GEDCOMDate) { GEDCOMApproximated approximated = (date as GEDCOMDate).Approximated; switch (approximated) { case GEDCOMApproximated.daExact: fView.EventDateType.SelectedIndex = 0; break; case GEDCOMApproximated.daAbout: fView.EventDateType.SelectedIndex = 7; break; case GEDCOMApproximated.daCalculated: fView.EventDateType.SelectedIndex = 8; break; case GEDCOMApproximated.daEstimated: fView.EventDateType.SelectedIndex = 9; break; } fView.Date1.Text = (date as GEDCOMDate).GetDisplayString(DateFormat.dfDD_MM_YYYY); fView.Date1Calendar.SelectedTag = (date as GEDCOMDate).DateCalendar; fView.Date1BC.Checked = (date as GEDCOMDate).YearBC; } else { fView.EventDateType.SelectedIndex = 0; fView.Date1.Text = ""; fView.Date1Calendar.SelectedTag = GEDCOMCalendar.dcGregorian; fView.Date1BC.Checked = false; } ChangeDateType(); fView.EventName.Text = fEvent.Classification; fView.Cause.Text = fEvent.Cause; fView.Agency.Text = fEvent.Agency; fTempLocation = (fEvent.Place.Location.Value as GEDCOMLocationRecord); UpdatePlace(); fView.NotesList.UpdateSheet(); fView.MediaList.UpdateSheet(); fView.SourcesList.UpdateSheet(); }